- 积分
- 19
- 注册时间
- 2009-12-25
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2010-6-23 22:49:01
|
显示全部楼层
来自 四川成都
本帖最后由 lengyunfeng 于 2010-6-23 23:03 编辑
可能是你的lic定义有问题
>>edit
定义函数lic如下:
function dydx=lic(x,y)
dydx=zeros(4,1);
dydx(1)=y(2)*y(3);
dydx(2)=-1*y(1)*y(3);
dydx(3)=-0.5*y(1)*y(2);
dydx(4)=4*y(2)*y(4);
在matlab中输入如下:
>> x0=0;
>> xf=30;
>> tspan=linspace(x0,xf,45000);
>> [x,y]=ode45(@lic,tspan,[1 .26 1e-9 1e-15]);
>> plot(x,y(:,1))
>> hold on
>> plot(x,y(:,2),'r')
>> plot(x,y(:,3),'y')
>> plot(x,y(:,4),'g')
>>xlabel('x');ylabel('y');
>>legend('y1(x)','y2(x)','y3(x)','y4(x)');
有解,在画plot(x,y(:,4),'g')前图形还是挺漂亮的,但plot(x,y(:,4),'g')的y值过大,使得前三条绘制语名绘制的图形y向无法显示出来,你把xf变小一点就可以解决这一问题的
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|