FOR LOOP NOT WORKING

The For loop i am trying to run is only running the 219th, or the last variable in the loop instead of running the whole loop. I cannot figure out why.
EXANGLES = -34:1:184;
EYANGLES = deg2rad(EXANGLES);
EVSUB1 = 90;
for i = 1:length(EXANGLES)
if EXANGLES(i) < 90
EVANGLE1 = EVSUB1-FT126;
elseif EXANGLES(i) == 90
EVANGLE2 = 90;
elseif EXANGLES(i) > 90
EVANGLE3 = EVSUB1+FT126;
end
end
EVSUB = [EVANGLE1, EVANGLE2,EVANGLE3];

回答 (2 件)

Shae Morgan
Shae Morgan 2020 年 7 月 31 日

1 投票

EXANGLES = -34:1:184;
EYANGLES = deg2rad(EXANGLES);
EVSUB1 = 90;
FT126 = 126;
for i = 1:length(EXANGLES)
if EXANGLES(i) < 90
EVSUB(i) = EVSUB1-FT126;
elseif EXANGLES(i) == 90
EVSUB(i) = 90;
elseif EXANGLES(i) > 90
EVSUB(i) = EVSUB1+FT126;
end
end
EVSUB

1 件のコメント

Shae Morgan
Shae Morgan 2020 年 8 月 14 日
If this answers your question, please accept - thanks!
James Tursa
James Tursa 2020 年 7 月 30 日

0 投票

Index your answers. E.g.,
if EXANGLES(i) < 90
EVANGLE1(i) = EVSUB1-FT126;
elseif EXANGLES(i) == 90
EVANGLE2(i) = 90;
elseif EXANGLES(i) > 90
EVANGLE3(i) = EVSUB1+FT126;
end
and
EVSUB = [EVANGLE1(:), EVANGLE2(:), EVANGLE3(:)];

3 件のコメント

Olivia Vargo
Olivia Vargo 2020 年 7 月 31 日
when doing this there is an error:
"Unable to perform assignment because the indices on the left side are not compatible with the size of the right side."
Shae Morgan
Shae Morgan 2020 年 7 月 31 日
Here's a hypothetical scenario to explain why this answer is liited
i=1
If EXANGLES(1) < 90, then EVANGLE1(i) will be populated with EVSUB-FT126
i=2
if EXANGLES ~<90, EVANGLE1(i) will be assigned a zero.
i=3
if EXANGLES <90, then EVANGLE1(i) will again be assigned a value
since the later portion of your EXANGLES variable are all greater than 90 - this will cause many non-assigned values to EVANGLES1 and EVANGLES2, which will not allow them to be concatenated.
James Tursa
James Tursa 2020 年 7 月 31 日
True. I overlooked that. The unassigned values will be 0's and the lengths can be fixed up, but that begs the question what do you want for an output? Do you want three columns with lots of zeros in them (in which case we can fix up the lengths), or did you want something else?

この質問は閉じられています。

タグ

質問済み:

2020 年 7 月 30 日

閉鎖済み:

2021 年 8 月 20 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by