帮我看一下我们的MATLAB程序有什么问题,运行出来总是有错
是求五元微分方程组的解,具体程序如下:clear;[tt,yy]=ode23('tu',[0,75],[1,0,0,0,0]);x_1=yy(:,1)';x_2=yy(:...
是求五元微分方程组的解,具体程序如下:
clear;
[tt,yy]=ode23('tu',[0,75],[1,0,0,0,0]);
x_1 = yy(:,1)';
x_2 = yy(:,2)';
x_3 = yy(:,3)';
x_4 = yy(:,4)';
x_5 = yy(:,5)'
h=figure(1);
subplot(3,2,1);
plot(x_1);
xlabel('t');
ylabel('x_1');
subplot(3,2,3);
plot(x_2);
xlabel('t');
ylabel('x_2');
subplot(3,2,5);
plot(x_3);
xlabel('t');
ylabel('x_3');
subplot(3,2,4);
plot(x_4);
xlabel('t');
ylabel('x_4');
subplot(3,2,2);
plot(x_5);
xlabel('t');
ylabel('x_5');
调用的tu.m如下
function dx = tu(t,x);
dx_1 = 0.4*x(4)-4.7*x(1)*x(5);
dx_2 = 0.15*x(5)-0.8*x(2)+0.02x(4);
dx_3 = 0.8*x(2);
dx_4 =-0.4*x(4)-0.02*x(4)+4.7*0.8*x(1)*x(5);
dx_5 =4.7*0.2*x(1)*x(5)-0.15*x(5;)
dx = [dx_1;dx_2;dx_3;dx_4;dx_5]; 展开
clear;
[tt,yy]=ode23('tu',[0,75],[1,0,0,0,0]);
x_1 = yy(:,1)';
x_2 = yy(:,2)';
x_3 = yy(:,3)';
x_4 = yy(:,4)';
x_5 = yy(:,5)'
h=figure(1);
subplot(3,2,1);
plot(x_1);
xlabel('t');
ylabel('x_1');
subplot(3,2,3);
plot(x_2);
xlabel('t');
ylabel('x_2');
subplot(3,2,5);
plot(x_3);
xlabel('t');
ylabel('x_3');
subplot(3,2,4);
plot(x_4);
xlabel('t');
ylabel('x_4');
subplot(3,2,2);
plot(x_5);
xlabel('t');
ylabel('x_5');
调用的tu.m如下
function dx = tu(t,x);
dx_1 = 0.4*x(4)-4.7*x(1)*x(5);
dx_2 = 0.15*x(5)-0.8*x(2)+0.02x(4);
dx_3 = 0.8*x(2);
dx_4 =-0.4*x(4)-0.02*x(4)+4.7*0.8*x(1)*x(5);
dx_5 =4.7*0.2*x(1)*x(5)-0.15*x(5;)
dx = [dx_1;dx_2;dx_3;dx_4;dx_5]; 展开
1个回答
展开全部
注意括号问题:
function dx = tu(t,x);
dx_1 = 0.4*x(4)-4.7*x(1)*x(5);
dx_2 = 0.15*x(5)-0.8*x(2)+0.02*x(4);
dx_3 = 0.8*x(2);
dx_4 =-0.4*x(4)-0.02*x(4)+4.7*0.8*x(1)*x(5);
dx_5 =4.7*0.2*x(1)*x(5)-0.15*x(5);
dx = [dx_1;dx_2;dx_3;dx_4;dx_5];
其他的运行没有错,但是结果都是 0!原因你就自己找吧。。。。。。
function dx = tu(t,x);
dx_1 = 0.4*x(4)-4.7*x(1)*x(5);
dx_2 = 0.15*x(5)-0.8*x(2)+0.02*x(4);
dx_3 = 0.8*x(2);
dx_4 =-0.4*x(4)-0.02*x(4)+4.7*0.8*x(1)*x(5);
dx_5 =4.7*0.2*x(1)*x(5)-0.15*x(5);
dx = [dx_1;dx_2;dx_3;dx_4;dx_5];
其他的运行没有错,但是结果都是 0!原因你就自己找吧。。。。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询