求助! 分岔图程序出现the same number of columns错误
我在做如下系统的分岔图时,出现,
??? Error using ==> vertcat
All rows in the bracketed expression must have the same
number of columns.
Error in ==> SIR at 11
F =[u-u*x(1,j)-b0*(1+b1*sin(2*pi*x(3,j)))*x(1,j)*x(2,j);
我找不出原因,请各位高人指点:
程序如下:
%Bifurcation Diagram of SI
clear all;close all;
b0=1510; u=.02; r=50;step1=.01; % ;
hold on;N=10000;
%-b0*(1+d*sin(2*pi*t))*x(2)*x(1)+u-u*x(1); b0*(1+d*sin(2*pi*t))*x(2)*x(1)-r*x(2)-u*x(2)
for b1=.01:0.0003:.5
x(1,1)=.01; x(2,1)=.01; x(3,1)=1;k=0;u(1)=0;w1=0;
for j=1:N
F =[u-u*x(1,j)-b0*(1+b1*sin(2*pi*x(3,j)))*x(1,j)*x(2,j);
b0*(1+b1*sin(2*pi*x(3,j)))*x(1,j)*x(2,j)-(r+u)*x(2,j);
1];
k1=step1*F; xn(:,j)=x(:,j)+k1/2;
F =[u-u*xn(1,j)-b0*(1+b1*sin(2*pi*xn(3,j)))*xn(1,j)*xn(2,j);
b0*(1+b1*sin(2*pi*xn(3,j)))*xn(1,j)*xn(2,j)-(r+u)*xn(2,j);
1];
k2=step1*F; xn(:,j)=x(:,j)+k2/2;
F =[u-u*xn(1,j)-b0*(1+b1*sin(2*pi*xn(3,j)))*xn(1,j)*xn(2,j);
b0*(1+b1*sin(2*pi*xn(3,j)))*xn(1,j)*xn(2,j)-(r+u)*xn(2,j);
1];
k3=step1*F; x(:,j+1)=x(:,j)+(k1+2*k2+2*k3)/6;
if x(1,j+1)>=x(1,j)
w1=x(1,j+1);
else
k=k+1; u(k)=b1; w(k)=w1;
end
end
kk=round(0.95*k);
plot(u(kk:k),w(kk:k),'MarkerSize',1);
end
xlabel('b1');ylabel('s');
%axis();
%title('Bifurcation Diagram of slj');
grid
在此先谢谢了! 看看错误原因调一下吧,所有行的表达式必须有相同的列,也就是说你的循环没有彻底
回复 2楼 的帖子
需要怎么调呢?我不太会弄,我是照着别人的程序改的,请高人指点
回复 3楼 的帖子
两个x之间相乘是前面加一个点看看 原帖由 无水1324 于 2008-4-9 18:17 发表 http://www.chinavib.com/forum/images/common/back.gif两个x之间相乘是前面加一个点看看
前辈,我没太明白你的意思 F =[u-u*x(1,j)-b0*(1+b1*sin(2*pi*x(3,j)))*x(1,j)*x(2,j);
b0*(1+b1*sin(2*pi*x(3,j)))*x(1,j)*x(2,j)-(r+u)*x(2,j);
1];
这里,这是循环的一部份,既然里面的x是变化的,相应的F等也需要是变化的,且是同样大小的矩阵
[ 本帖最后由 咕噜噜 于 2008-4-10 15:05 编辑 ] 咕噜,你说的是什么话?
这里,这是循环的一部份,既然里面的x是变化的,相应的F等也需要视同扬鞭华,且是同样大小的矩阵
回复 6楼 的帖子
没明白,请指点 我问你这个是不是一个矩阵x(1,j)?那你和他对应的F那,怎么可以是一个数值? 画出来了,谢谢二位回复 10楼 的帖子
看来你是研究生物数学的了。:handshake回复 11楼 的帖子
呵呵,你也是吧,有机会讨论一下回复 11楼 的帖子
这个怎么看出来的? 结果如何?图形能否说明问题?
页:
[1]