Loop with different outcome name
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Yeeun Son
el 19 de Oct. de 2020
Comentada: Stephen23
el 19 de Oct. de 2020
Hi,
I'm trying to create a loop that gives me outcomes with different names
For example,
for x=1:3
y=x+2
end
This code gives me y=3, y=4, y=5
But I want to change my code so that it gives me something like
y1=3, y2=4, y3=5
so that I would be able to know which y corresponds to which x values later.
Is there anyway to acheive this?
Many thanks in advance!
1 comentario
Stephen23
el 19 de Oct. de 2020
"But I want to change my code so that it gives me something like y1=3, y2=4, y3=5"
That would be about the worst approach to storing data. Read this to know why:
The simple, neat, and very efficient MATLAB approach is to use indexing. You should use indexing too.
Respuesta aceptada
Ameer Hamza
el 19 de Oct. de 2020
Editada: Ameer Hamza
el 19 de Oct. de 2020
Creating variable names like y1, y2, ... is not a good coding practice and highly non-recommended: https://www.mathworks.com/matlabcentral/answers/304528-tutorial-why-variables-should-not-be-named-dynamically-eval. A better approach is to use array
y = zeros(1, 3)
for x = 1:3
y(i) = x+2
end
Then access values using indexing
y(1) % access first element
Read about indexing in MATLAB: https://www.mathworks.com/company/newsletters/articles/matrix-indexing-in-matlab.html
Also, note that your for-loop can be vectorized
x = 1:3;
y = x+2;
0 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!