小菜狗11 2021-05-23 02:53 采纳率: 33.3%
浏览 881
已采纳

matlab运行赋值具有的非单一 rhs 维度多于非单一下标数

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的维度问题,修改后的结果:

     

    展开全部

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    小菜狗11 2021-05-23 14:43

    我需要把p从0到1

    回复
    CSDN专家-Matlab_Fans 回复 小菜狗11 2021-05-23 15:29

    那需要再加一重循环

    回复
    小菜狗11 回复 CSDN专家-Matlab_Fans 2021-05-23 15:37

    怎么加啊,大佬

    回复
    展开全部10条评论
查看更多回答(1条)
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部