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/06 13:25:01
![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,](/uploads/image/z/691991-71-1.jpg?t=matlab%E6%B1%82%E5%BE%AE%E5%88%86%E6%96%B9%E7%A8%8B%E7%BB%84%E5%9C%A8matalb%E8%87%AA%E5%B8%A6%E7%9A%84ode45%E5%AE%9E%E4%BE%8B%E4%B8%AD%EF%BC%88%E5%8D%B3help%EF%BC%89%2Cfunction+dy+%3D+rigid%28t%2Cy%29dy+%3D+zeros%283%2C1%29%3B+%25+a+column+vectordy%281%29+%3D+y%282%29%2Ay%283%29%3Bdy%282%29+%3D+-y%281%29%2Ay%283%29%3Bdy%283%29+%3D+-0.51%2Ay%281%29%2Ay%282%29%3Boptions+%3D+odeset%28%27RelTol%27%2C1e-4%2C%27AbsTol%27%2C%5B1e-4+1e-4+1e-5%5D%29%3B%5BT%2C)
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),'.')