the results generated gets over written and i end up with onel 1x1 result of h. But i want all the results of the iteration.
how to save all the loop values?
조회 수: 1 (최근 30일)
이전 댓글 표시
for e = -1.5099
for f = (48000:49000)
e
f
h = ((((p*10^6)*x)/(12*i*((e*def)+f)))*(((3*(l^2))/4)-(x^2)));
if h==k
return;
end
end
end
답변 (1개)
Star Strider
2019년 3월 11일
Try this:
fv = 48000:49000
e = -1.5099
for k1 = 1:numel(fv)
% e
% f
f = fv(k1);
h(k1) = ((((p*10^6)*x)/(12*i*((e*def)+f)))*(((3*(l^2))/4)-(x^2)));
if h==k
return;
end
end
Since ‘e’ is a scalar, there is no reason to loop over it. Also, your original code will create a 49000 element vector, only 1000 of which will be non-zero. This approach creates a 1000 element vector instead.
NOTE — This is UNTESTED CODE. I have no idea what your other variables are, so I cannot run this to test it.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!