我有以下代码,但它没有给我我想要的值。循环不起作用。基本上,我想要从Mx和My的每个坐标计算变量J1,J2,J3,J4和J5,它们用于计算现有Simscape文件中的P. Length的第一个值是500(增量为10),Prod_Length = J5-Length。
如果P> 6000,然后计算J1,J2,J3,J4,J5,长度和Prod_Length的下一个值并检查P。这个过程一直持续到P < 6000。
我遇到的问题是 - 它只根据Length和Prod_Length的第一个值来计算我的P - 而不考虑长度为10的增量。
#1 for Mx = 50:50:500;
#2 for My = 50:50:400;
#3 [Mx My] = meshgrid(Mx,My);
#4 J1 = [sqrt((Mx-100)^2+(My-20)^2)];
#5 J2 = [sqrt((Mx-20)^2+(My-150)^2)];
#6 J3 = [sqrt((Mx-50)^2+(My-450)^2)];
#7 J4 = [sqrt((Mx-150)^2+(My-450)^2)];
#8 J5 = [sqrt((Mx-7000)^2+(My-200)^2)-100];
#9 %
#10 %% I have a simscape file that runs with the mfile to check the value of P
#11 while P > 6000
#12 Length = Length + 10
#13 Prod_Length = J5 - Length;
#14 end
#15 end
#16 end
谢谢
答案 0 :(得分:0)
我认为你应该像以下一样使用meshlab,它不应该用在你的&#39; for&#39;环。它需要范围来为X和Y值创建数组。见Meshgrid:
[X,Y] = meshgrid(50:50:500,50:50:400)