作业帮 > 综合 > 作业

求解一道MATLAB题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 17:55:05
求解一道MATLAB题
dx/dz=-gxy-ax
dy/dz=-gxy-ay
其中g=,a为常数,x,y是z的函数,x(0)=4.2,z从0到30,怎么画出图来,以z为横坐标(可能有条件y(0)=1.726,不知道没有可不可以做)
function dx=myfunc(z,x)
dx=[-.3*x(1)*x(2)-.5*x(1)
-.3*x(1)*x(2)-.5*x(2)];
把这个函数保存起来,其中我假设了g=0.3,a=0.5,你可以自己根据情况修改
z=0:0.01:30;
[z,x]=ode45(@myfunc,z,[4.2 1.726]);
figure;plot(z,x)
然后使用这段程序进行调用,就能画出图来了!
祝你学习愉快!
再问: 兄弟真乃神人也,图画出来了,感谢,不过想追问一下,如果没有y(0)=1.726的条件,换成 x(30)=0.3323 ,怎么改程序啊
再答: 那问题就复杂了,你原来的问题属于初值问题,如果你把x两端都限制了,那就很难求解了。 但也不是没有方法,你首先假设一个y(0),然后采用上面的方法求解,得到结果后你看x(30)和你要的结果的差别,然后调整y(0),直到x(30)=0.3323为止,可以使用二分法什么的!