matlab求微分方程组在matalb自带的ode45实例中(即help),function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2)*y(3);dy(2) = -y(1)*y(3);dy(3) = -0.51*y(1)*y(2);options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);[T,

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/22 00:03:51
matlab求微分方程组在matalb自带的ode45实例中(即help),function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2)*y(3);dy(2) = -y(1)*y(3);dy(3) = -0.51*y(1)*y(2);options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);[T,
xSoAW&1fA*bz1 `JnX0B1&J[Rnffw9_pvfilz27չT,#<rɨfbRZݶ(*Ϩ_AË2^=y)J["!tER20SV4|1PlJDFI 9˓s ICj7H\N3(+ zEw"qz FG0ʇa88> ގZ2 ':%#:/#|,94 rB(+Gt0 (o:- UR2 َgq1VAԷjlHj + bRhv[{M\:;3\1қ%{r u[Bu+íkh? :'eԗDB0dַsq޸IOQOqMr9s0IJ'QzW֑mo[u}fc^`#VLD ĵUF Qd̃6FD;=dt͚?]">WQ՜boOMd`UUp}Yݬ2;wP:2hjL

matlab求微分方程组在matalb自带的ode45实例中(即help),function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2)*y(3);dy(2) = -y(1)*y(3);dy(3) = -0.51*y(1)*y(2);options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);[T,
matlab求微分方程组
在matalb自带的ode45实例中(即help),
function dy = rigid(t,y)
dy = zeros(3,1); % a column vector
dy(1) = y(2)*y(3);
dy(2) = -y(1)*y(3);
dy(3) = -0.51*y(1)*y(2);
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
[T,Y] = ode45(@rigid,[0 12],[0 1 1],options);
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')
运行不了,系统提示,y is undefined,该如何解决呢?

matlab求微分方程组在matalb自带的ode45实例中(即help),function dy = rigid(t,y)dy = zeros(3,1); % a column vectordy(1) = y(2)*y(3);dy(2) = -y(1)*y(3);dy(3) = -0.51*y(1)*y(2);options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);[T,
代码分成两部分,下面这部分保存成rigid.m文件,供后面的那部分调用:
function dy = rigid(t,y)
dy = zeros(3,1);    % a column vector
dy(1) = y(2)*y(3);
dy(2) = -y(1)*y(3);
dy(3) = -0.51*y(1)*y(2);

 
另外一部分可以保存成脚本文件之后运行(文件名任意,但要符合MATLAB文件命名规范),也可以直接在命令窗口里运行:
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
[T,Y] = ode45(@rigid,[0 12],[0 1 1],options);
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')