查看: 264|回复: 1|关注: 0

[未答复] 关于BVP4C函数的使用问题

[复制链接]

新手

10 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
发表于 2018-4-16 20:40:22 | 显示全部楼层 |阅读模式
我使用bvp函数解方程后,想输出函数图像。但求解的方程里面有一个系数是可以改变,类似y=aX,a=1,2,3,当然实际函数复杂得多。
想请教以下如何把所有不同a值的图像输出。代码如下:
function dydx = ecb4ode( x,y,k,ep,ev )
CB5.k=[6.4e-12 2.5e-12 10.0e-12];
CB5.epsilon=[19.7 6.4];
CB5.n=[1.71 1.53];
CB5.lambda=6e-7;
k=CB5.k;
ep=CB5.epsilon(1); ev=CB5.epsilon(2);
ep=ep*8.854e-12; ev=ev*8.854e-12;
d=5e-6;
k1=k(1);k2=k(2); k3=k(3);
eth=pi/d*sqrt(k1/(ep-ev));
ein=eth*1.5;                                                             %该参数可变,可以设为ein=eth*2, ein=eth*3
ff=k1*cos(y(1))*sin(y(1))-k3*sin(y(1))*cos(y(1));
gg=k1*cos(y(1))^2+k3*sin(y(1))^2;
dydx=[y(2);
    (ff*y(2)^2-(ep-ev)*ein^2*sin(y(1))*cos(y(1)))/gg];


function res=ecb4bc(ya,yb)
res=[ya(1);
      yb(1)];


命令窗口代码:
ne=1.71;no=1.53;lambda=6e-7;kk=2*pi/lambda;
d=5e-6;mm=100;dd=d/mm;
solinit=bvpinit(linspace(0,d,mm),ones(2,1));
sol=bvp4c(@ecb4ode,@ecb4bc,solinit);
x=sol.x;  y=sol.y;
subplot(2,1,1);
plot(x,y(1,:)*180/pi)
title('ECB的倾角')


我实在想不出怎么把不同ein值解出的函数图像放在同一张图显示出来。非常期待有人指教!

新手

10 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 2018-4-19 15:31:08 | 显示全部楼层
自己答一个吧,最简单的方法就是用  hold on 命令绘图。虽然用这个命令完全不需要了解bvp函数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

快速回复 返回顶部 返回列表