编程高手帮我解决下怎么用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...
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 展开
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 展开
1个回答
展开全部
楼主你好!
这个方程是解不出解析解的。
我用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)
最后有一部分为虚数,若增大初值,虚数分界线变大
得到的图像如图,最后一部分虚数没有显示。
您可以选择自己的初值,然后选择范围求解并画图。
这个方程是解不出解析解的。
我用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)
最后有一部分为虚数,若增大初值,虚数分界线变大
得到的图像如图,最后一部分虚数没有显示。
您可以选择自己的初值,然后选择范围求解并画图。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询