MATLAB ODE45求解遇到问题

我要用ode45求解这样一个方程组,其中c、d、l为自己可设置的变量,最后要观察x随时间t的变化情况。我的MATLAB代码如下:调用函数:functiondy=shouk... 我要用ode45求解这样一个方程组,其中c、d、l为自己可设置的变量,最后要观察x随时间t的变化情况。
我的MATLAB代码如下:
调用函数:
function dy=shoukong(t,y)
c=input('请输入耦合度c:');
l=input('请输入牵制密度l:');
d=input('请输入牵制强度d:');
dy=zeros(15,1);
u=[36,2,18];%平衡点
L=[3,-1,0,-1,-1;
-1,2,-1,0,0;
0,-1,2,-1,0;
-1,0,-1,2,0;
-1,0,0,0,1;];
a1=[];
a2=[];
a3=[];
for j=1:size(L,1)
a1=[a1;y((j-1)*3+1)];
a2=[a2;y((j-1)*3+2)];
a3=[a3;y((j-1)*3+3)];
end
for i=1:size(L,1)
dy((i-1)*3+1)=y((i-1)*3+1)-y((i-1)*3+2)*y((i-1)*3+3)-c*L(i,:)*a1-c*d*(y((i-1)*3+1)-u(1));
dy((i-1)*3+2)=9*y((i-1)*3+2)-y((i-1)*3+3)-c*L(i,:)*a2-c*d*(y((i-1)*3+2)-u(2));
dy((i-1)*3+3)=y((i-1)*3+1)-2*y((i-1)*3+3)-c*L(i,:)*a3-c*d*(y((i-1)*3+3)-u(3));
end
%for i=1:1:l
% dy(i,1)=y((i-1)*3+1)-y(i,2)*y(i,3)-c*(L(i,1)*y(1,1)+L(i,2)*y(2,1)+L(i,3)*y(3,1))-c*d*(y(i,1)-p(1));
% dy(i,2)=9*y(i,2)-y(i,3)-c*(L(i,1)*y(1,2)+L(i,2)*y(2,2)+L(i,3)*y(3,2))-c*d*(y(i,2)-p(2));
% dy(i,3)=y(i,1)-2*y(i,3)-c*(L(i,1)*y(1,3)+L(i,2)*y(2,3)+L(i,3)*y(3,3))-c*d*(y(i,3)-p(3));
%end

运行函数:
b=ones(1,size(L,1)*3);
t=0:0.1:20;
[t,y]=ode45('shoukong',t,b);
plot(t,y)
legend('y1','y2','y3')
hold on;

当运行“运行函数”后,命令窗口不断重复如下:

根本没有显示结果。

还望高手指点哪里错了,或帮小弟重新改写一下以上的代码。谢谢了。
展开
 我来答
匿名用户
2013-01-02
展开全部
已解决,吧上面输入去掉就好了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式