作业帮 > 综合 > 作业

为什么用matlab解这个微分方程组解不了?

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/17 18:44:31
为什么用matlab解这个微分方程组解不了?
function matlab secondprogram
options = odeset('RelTol',1e-4,'AbsTol',[1e-5 1e-5]);
[Z,Y] = ode45(@factor2,[0 2],[1 0],options);
plot(Z,real(Y(:,1)),'-r',Z,real(Y(:,2)),'-.g');
h = legend('y1','y2',3);
function dy = factor2(t,y)
dy = zeros(2,1); % a column vector
k=[1 1 1 1];
b=[0.7 1];
dy = [ -i*k(1)*y(1) -i*k(2)*y(2)*exp(-i*(b(1)-b(2))*z);
-i*k(3)*y(2) -i*k(4)*y(1)*exp(-i*(b(2)-b(1))*z);]
求大虾们帮一下,就是普通的ode问题,跑不出来。
为什么用matlab解这个微分方程组解不了?
dy = [ -i*k(1)*y(1) -i*k(2)*y(2)*exp(-i*(b(1)-b(2))*z);
-i*k(3)*y(2) -i*k(4)*y(1)*exp(-i*(b(2)-b(1))*z);]
其中的z 是什么啊
再问: 把function dy = factor2(t,y) 改成function dy = factor2(z,y) 也不行啊。。。
再答: function dy = factor2(z,y) % t 改成 z dy = zeros(2,1); % a column vector k=[1 1 1 1]; b=[0.7 1]; dy = [ -i*k(1)*y(1)-i*k(2)*y(2)*exp(-i*(b(1)-b(2))*z); %y(1)后的空格要去了 -i*k(3)*y(2)-i*k(4)*y(1)*exp(-i*(b(2)-b(1))*z)]; %y(2)后的空格要去了 ---------------------------- 运行结果