我可以在matlab中求解复系数常微分方程吗?
我正在用标准ode45方法求解复系数常微分方程组,但没有得到理想的结果。 下面是我的M文件我可以在matlab中求解复系数常微分方程吗?,matlab,ode,coefficients,Matlab,Ode,Coefficients,我正在用标准ode45方法求解复系数常微分方程组,但没有得到理想的结果。 下面是我的M文件 function dy=tarak(t,y) g0=.1; t0=200; s=90; g=g0*exp(-((t-t0)/s).^2); G=sqrt(10); dy=zeros(5,1); dy(1)=-2*2*y(1)+1i*G*conj(y(3))+1i*g*conj(y(4))-1i*G*y(3)-1i*conj(g)*y(4); dy(2)=2*y(1)+1i*G*y(3)-1
function dy=tarak(t,y)
g0=.1;
t0=200;
s=90;
g=g0*exp(-((t-t0)/s).^2);
G=sqrt(10);
dy=zeros(5,1);
dy(1)=-2*2*y(1)+1i*G*conj(y(3))+1i*g*conj(y(4))-1i*G*y(3)-1i*conj(g)*y(4);
dy(2)=2*y(1)+1i*G*y(3)-1i*G*conj(y(3));
dy(3)=-2*y(3)+1i*G*y(2)+1i*g*conj(y(5))-1i*G*y(1);
dy(4)=-2*y(4)+1i*G*y(5)+1i*g*(1-y(1)-y(2))-1i*g*y(1);
dy(5)=1i*G*y(4)-1i*g*conj(y(3));
指挥
t=0:500
[T,Y]=ode45(@tarak,T[0])
在结果中,我得到了一些Y(1)和Y(2)的负值。但它应该总是积极的
我的方法有什么缺点吗
谢谢如果你在使用谷歌,你会发现像这样的帖子
- “MathWorks支持团队于2010年7月26日给出的答案:Matlab5(R12)及更高版本中的ODE解算器能够正确处理复杂值系统。”