n=50;m=20;p=0:0.1:1 a=linspace(0.01,0.5,m); X(:,1)=[p;1-p]; for j=1: m for i=1:n A=[(1-a(j)) 0.02;a(j) 0.98] X(:,i+1)=A*X(:,i); k(i,j)=X(1,i)/X(2,i) x(i,j)=X(1,i); y(i,j)=X(2,i); end end figure(1) i=1:n; j=1:m; mesh(a(j),i,x(i,j)) xlabel('城市到郊区的迁移率'), ylabel('时间年') zlabel('城市人数') ylim([1,n]); figure(2) i=1:n; j=1:m; mesh(a(j),i,y(i,j)) xlabel('城市到郊区的迁移率 ') ylabel('时间年') zlabel('郊区人数 ') ylim([1,n]) figure(3) i=1:n j=1:m surf(a(j),i,k(i,j)); view(0,90)
n=50;m=20;
p=0 ;
a=linspace(0.01,0.5,m);
X(:,1)=[p; 1-p];
for j=1: m
for i=1:n
A=[(1-a(j)) 0.02;a(j) 0.98]
X(:,i+1)=A*X(:,i);
k(i,j)=X(1,i)/X(2,i)
x(i,j)=X(1,i);
y(i,j)=X(2,i);
end
end
figure(1)
i=1:n;
j=1:m;
mesh(a(j),i,x(i,j))
xlabel('城市到郊区的迁移率'),
ylabel('时间年')
zlabel('城市人数')
ylim([1,n]);
figure(2)
i=1:n; j=1:m;
mesh(a(j),i,y(i,j))
xlabel('城市到郊区的迁移率 ')
ylabel('时间年')
zlabel('郊区人数 ')
ylim([1,n])
figure(3)
i=1:n
j=1:m
surf(a(j),i,k(i,j));
view(0,90)
问题最主要是p的维度问题,修改后的结果:
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632