if-else within for loop

11 次查看(过去 30 天)
clc
clear all
k=4;
a=13;
for i=1:10
c(i)=i*k;
b(i)=a+c(i);
end
for i=1:10
if 26<b<39
e=b+k;
else e=b/k;
end
end
disp(e)
disp(c)
disp(b)

采纳的回答

madhan ravi
madhan ravi 2019-3-16
% Vectorized version (efficient than a loop)
k=4;
a=13;
ii=1:10
c=ii*k;
b=a+c;
e=b/k;
e(b>=26 & b<59)=b(b>=26 & b<59)+k
disp(e)
disp(c)
disp(b)
% Loop version
k=4;
a=13;
c=zeros(1,10); % pre-allocate
b=c;
for ii=1:10
c(ii)=ii*k;
b(ii)=a+c(ii);
if (b(ii)>=26 && b(ii)<59) % proper usage
e(ii)=b(ii)+k;
else
e(ii)=b(ii)/k;
end
end
disp(e)
disp(c)
disp(b)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by