编程高手帮我解决下怎么用matlab解含有虚数的微分方程组dy(1)=-w*cos(6/5)^2*y(1)/2dy(2)=i*w*y(3)+w*i*sin(12/5)*y(1)/4-(i*w+w/4)*y(2)dy(3)=i*w*y(2)-w*(cos(6/5)^2+2*i)*y(3)/2,初始条件y(1)=y(2)=y(3)=1/4
来源:学生作业帮助网 编辑:作业帮 时间:2024/12/04 04:41:55
编程高手帮我解决下怎么用matlab解含有虚数的微分方程组dy(1)=-w*cos(6/5)^2*y(1)/2dy(2)=i*w*y(3)+w*i*sin(12/5)*y(1)/4-(i*w+w/4)*y(2)dy(3)=i*w*y(2)-w*(cos(6/5)^2+2*i)*y(3)/2,初始条件y(1)=y(2)=y(3)=1/4
编程高手帮我解决下怎么用matlab解含有虚数的微分方程组
dy(1)=-w*cos(6/5)^2*y(1)/2
dy(2)=i*w*y(3)+w*i*sin(12/5)*y(1)/4-(i*w+w/4)*y(2)
dy(3)=i*w*y(2)-w*(cos(6/5)^2+2*i)*y(3)/2,
初始条件y(1)=y(2)=y(3)=1/4
编程高手帮我解决下怎么用matlab解含有虚数的微分方程组dy(1)=-w*cos(6/5)^2*y(1)/2dy(2)=i*w*y(3)+w*i*sin(12/5)*y(1)/4-(i*w+w/4)*y(2)dy(3)=i*w*y(2)-w*(cos(6/5)^2+2*i)*y(3)/2,初始条件y(1)=y(2)=y(3)=1/4
这个方程是解不出解析解的.
我用ODE45给您算了一下.
先赋个初值y(0)=10000
编写m文件
function f=exam2fun (t,y)
f=3.9464/(y*(0.8-y*0.2679))*(3.8873e3*y+7.6004e-006+0.0299*sqrt(0.8333*y));
f=f(:);
再在主窗口输入
[t,y]=ode45('exam2fun',[0:1:1000],10000)
plot(t,y)
可以求得0到1000内的y(t)
最后有一部分为虚数,若增大初值,虚数分界线变大
得到的图像如图,最后一部分虚数没有显示.
您可以选择自己的初值,然后选择范围求解并画图.