查看: 180|回复: 1|关注: 0

[已答复] 有三组数分别赋值到后面的算法中,是不是for循环设置出错了,求大神帮助!!

[复制链接]

新手

10 麦片

财富积分


050


1

主题

1

帖子

0

最佳答案
发表于 2020-9-23 14:17:26 | 显示全部楼层 |阅读模式
N=input('3');
L=input('30');
K=input('30');
mianji=L*K;
LXDD=[];
for i=1:N
    a=[0.15 0.15 0.15];
    a(:,i)%;
    b=[61 41 51];
    b(:,i)%;
    c=[5.5 3.5 2.5];
    c(:,i)%;
    d=[4.67 4.475 67];
    d(:,i)%;
    e=[0.35 0.45 0.65];
    e(:,i)%;
    f=[0.006 0.006 0.006];
    f(:,i)%;
    g=[1 1 1];
    g(:,i)%;
    n=mianji*a;                                                         
    zhongxindian=unifrnd(-L/2,L/2,n,2);                           
    zouxiang=normrnd(b,c,n,1);                                
    m=d;
    v=e^2;
    mu=log((m^2)/sqrt(v+m^2));
    sigma=sqrt(log(v/(m^2)+1));
    jichang=lognrnd(mu,sigma,n,1);                                         
    xikuang=normrnd(f,g,n, 1);                                
    x1=zhongxindian(:,1)+(jichang ./2).*cos(zouxiang*pi/180);
    y1=zhongxindian(:,2)+(jichang ./2).*sin(zouxiang*pi/180);
    x2=zhongxindian(:,1)+(jichang ./2).*cos((zouxiang+180)*pi/180);
    y2=zhongxindian(:,2)+(jichang ./2).*sin((zouxiang+180)*pi/180);
    for  i=1:n
        if  x1(i)>x2(i)
            w=x2(i);
            x2(i)=x1(i);
            q=y2(i);
            y2(i)=y1(i);
            x1(i)=w;
            y1(i)=q;
        end
    end
    LXDD1 = [x1,y1,x2,y2,zouxiang,xikuang] ;
    if  isempty(LXDD)
        LXDD=LXDD1;
    else
        LXDD=[LXDD;LXDD1];
    end
    for  i=1:n
        plot([x1(i),x2(i)],[y1(i),y2(i)]);
        xlim([-L/2,L/2]);
        ylim([-K/2,K/2]);
        hold on
    end  
end
上面是代码,a-g的值有三个,要将每一个(列)循环带入后续计算中,求大神帮助,感激不尽。在线等······

回复主题 已获打赏: 0 积分

举报

论坛优秀回答者

入门

249 麦片

财富积分


50500


3

主题

395

帖子

52

最佳答案
  • 关注者: 15
发表于 2020-9-26 19:32:34 | 显示全部楼层
N=input('3');
L=input('30');
K=input('30');
mianji=L*K;
LXDD=[];
for i=1:N
    a=[0.15 0.15 0.15];
    a(:,i)%;
    b=[61 41 51];
    b(:,i)%;
    c=[5.5 3.5 2.5];
    c(:,i)%;
    d=[4.67 4.475 67];
    d(:,i)%;
    e=[0.35 0.45 0.65];
    e(:,i)%;
    f=[0.006 0.006 0.006];
    f(:,i)%;
    g=[1 1 1];
    g(:,i)%;
    n=mianji*a(i);                                                         
    zhongxindian=unifrnd(-L/2,L/2,n,2);                           
    zouxiang=normrnd(b(i),c(i),n,1);                                
    m=d(i);
    v=e(i)^2;
    mu=log((m^2)/sqrt(v+m^2));
    sigma=sqrt(log(v/(m^2)+1));
    jichang=lognrnd(mu,sigma,n,1);                                         
    xikuang=normrnd(f(i),g(i),n, 1);                                
    x1=zhongxindian(:,1)+(jichang ./2).*cos(zouxiang*pi/180);
    y1=zhongxindian(:,2)+(jichang ./2).*sin(zouxiang*pi/180);
    x2=zhongxindian(:,1)+(jichang ./2).*cos((zouxiang+180)*pi/180);
    y2=zhongxindian(:,2)+(jichang ./2).*sin((zouxiang+180)*pi/180);
    for  i=1:n
        if  x1(i)>x2(i)
            w=x2(i);
            x2(i)=x1(i);
            q=y2(i);
            y2(i)=y1(i);
            x1(i)=w;
            y1(i)=q;
        end
    end
    LXDD1 = [x1,y1,x2,y2,zouxiang,xikuang] ;
    if  isempty(LXDD)
        LXDD=LXDD1;
    else
        LXDD=[LXDD;LXDD1];
    end
    for  i=1:n
        plot([x1(i),x2(i)],[y1(i),y2(i)]);
        xlim([-L/2,L/2]);
        ylim([-K/2,K/2]);
        hold on
    end  
end
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表