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)
2条回答 默认 最新
- CSDN专家-Matlab_Fans 2021-05-23 13:45关注
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的维度问题,修改后的结果:
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报展开全部10条评论