φc(r)=A*sin(Bc*r)/r r的变化范围是0.5到21.5
φr(r)=C*sinh(kr*(R+T-r))/r r的变化范围是22.5到26.5
Bc R T kr是已知的 参数A、C可以不考虑
要求画出r从0到27的图像 在r=22处φc(r)=φr(r) 其余部分都是有限值
需要拟合
r1=0.5:0.1:21.5;
φc=A*sin(Bc*r1)./r1;
r2=22.5:0.1:26.5;
φr=C*sinh(kr*(R+T-r2))./r2;
subplot(2,1,1)
plot(φc);
subplot(2,1,2)
plot(φr);
或者
r1=0.5:0.1:21.5;
φc=A*sin(Bc*r1)./r1;
r2=22.5:0.1:26.5;
φr=C*sinh(kr*(R+T-r2))./r2;
φ=[φc φr];
plot([r1 r2],φ);%一张图内
追问我想0到22是φc的图像 22到27是φr的图像 它俩在一个坐标系里不是单列的 而且我第二个图是递减的 跟你运行的不太一样 麻烦你了 我的QQ是89025515 方便的话可以发邮件
好吧 我没说明白 断开的部分需要连上 即0到0.5 21.5到22.5 26.5到27 都要有图像 画φ(r) 的图像 要程序 谢谢
追答r1=0:0.5:22;
fc=A*sin(Bc*r1)./r1;
r2=22:0.5:27;
fr=C*sinh(kr*(R+T-r2))./r2;
plot(r1,fc);hold on;plot(r2,fr);
以上代码是我刚才实验用的,不是一个结果。Bc R那些我随便设了一些参数,发现,在r=22处两段函数并不相等。你的问题是不是要从前段函数平稳过渡到后段函数?因为你没有21.5到22.5中间的采样点,这根本不是一个拟合的问题。你需要表达清楚你的point在哪?I don't really know what you want exactly! 因为有很多办法可以完成你的目标。比如我两段函数分别定义到21.5和22.5.中间我用一条直线代替,这样满足你的要求。可以嘛??如果是这样,代码如下:
r1=0.5:0.5:21.5;
fc=A*sin(Bc*r1)./r1;
r2=22.5:0.5:26.5;
fr=C*sinh(kr*(R+T-r2))./r2;
r=[r1,r2];
f=[fc,fr];
plot(r,f);