if-else within for loop

11 Ansichten (letzte 30 Tage)
Shaban Akhtar
Shaban Akhtar am 16 Mär. 2019
Kommentiert: Shaban Akhtar am 16 Mär. 2019
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)
  1 Kommentar
Shaban Akhtar
Shaban Akhtar am 16 Mär. 2019
expression under IF works but else does not.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

madhan ravi
madhan ravi am 16 Mär. 2019
% 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)

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by