For循环代码不起作用

时间:2015-04-25 21:44:10

标签: matlab for-loop iteration coordinates

我有以下代码,但它没有给我我想要的值。循环不起作用。基本上,我想要从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

谢谢

1 个答案:

答案 0 :(得分:0)

我认为你应该像以下一样使用meshlab,它不应该用在你的&#39; for&#39;环。它需要范围来为X和Y值创建数组。见Meshgrid

[X,Y] = meshgrid(50:50:500,50:50:400)