how to use certain values to write a for loop?
Mostrar comentarios más antiguos
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 comentarios
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
el 25 de Feb. de 2016
Respuesta aceptada
Más respuestas (1)
Walter Roberson
el 25 de Feb. de 2016
Editada: Stephen23
el 25 de Feb. de 2016
ismember(i, f)
Or, you can use
X1 = X;
X1(f) = 5 * X(f);
with no loop.
Categorías
Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!