how to use certain values to write a for loop?
Ältere Kommentare anzeigen
X = [67;89;78;56;55;75;99];
f = [4;5];
for i = 1:length(X);
if i == f;
X1(i,1) = 5*X(i,1);
else
X1(i,1) = X(i,1);
end
end
I know that the way i have written the if expression is wrong but can someone tell how do I write the if expression such that it uses the values of f.. basically if i equals the value in the f matrix or array the first formula is used else the second.
Thanks for help.
Sid
2 Kommentare
There is absolutely no point in using a slow and ugly loop. Here is Walter Roberson's much better solution in full:
>> X = [67;89;78;56;55;75;99];
>> f = [4;5];
>> X1 = X;
>> X1(f) = 5 * X1(f)
X1 =
67
89
78
280
275
75
99
Siddharth Parmar
am 25 Feb. 2016
Akzeptierte Antwort
Weitere Antworten (1)
Walter Roberson
am 25 Feb. 2016
Bearbeitet: Stephen23
am 25 Feb. 2016
ismember(i, f)
Or, you can use
X1 = X;
X1(f) = 5 * X(f);
with no loop.
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!