内部 for 循环工作 - 外部循环不正确



我设法解决了我遇到的问题,并正在寻找有关外部 for 循环结构的建议。我的内部循环工作正常。我想在每次迭代中使用不同的高度(h 值)重复 11 次计算 6 次。在 J 循环的迭代中,h 增加到其原始值 + 2*h.K 循环中的 POI 取决于 h 并已定义,但为了可读性而省略了。如有必要,可以使用完整脚本进行更新。POI 的定义是否应该在嵌套循环中?

h = 0.5985;
GroundDistance = 18.75;
SouthAngle = 57;
TreeHeight = 14;
POI = TreeHeight-h;
BuildingElevationAng = atand(POI/GroundDistance);
a=0.265;
TreeLengthRHS = 15.89+a;
h = 0.5985;
    X(1,1)=h;
    for k = 2:6;
      X(k) = X(k-1) + (X(1)*2);
    end
for J = 1:6
  h=h+(2*h);
     for K  = 1:11
       TreeLengthTest(K) = TreeLengthRHS + (2*(K-1)*a);
       TreeLengthLHS = 75 - TreeLengthTest(K);
       AngleBx(K) = atand(TreeLengthLHS/GroundDistance);
       AngleCx(K) = atand(TreeLengthTest(K)/GroundDistance); %wasTreeLengthRHS
       DistanceAx(K) = GroundDistance/cosd(SouthAngle);
       DistanceBx(K) = GroundDistance/cosd(AngleBx(K));
       DistanceCx(K) = GroundDistance/cosd(AngleCx(K));
       AltAngleA(K) = atand(POI/DistanceAx(K));
       AltAngleB(K) = atand(POI/DistanceBx(K));
       AltAngleC(K) = atand(POI/DistanceCx(K));
       AzimuthA = 0;
       AzimuthB = (-AngleBx)-SouthAngle;
       AzimuthC = AngleCx-SouthAngle;
       end
end

任何帮助将不胜感激。

嗯,有几件事我不确定,但我会试一试答案,看看这是否有帮助。POI 的定义不必在内部循环内,因为对于这 11 个计算中的每一个,POI 都是恒定的。但是,我认为您定义h有点不正确,因为您永远不会使用最初定义的h值。既然你已经有了X向量,如果你尝试嵌套的 for 循环,比如:

for J = 1:6
    POI = TreeHeight - X(J);
    for K = 1:11
        ...All your code here...
    end
end

最新更新