Loop with different outcome name
11 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Stephen23
2020 年 10 月 19 日
"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.
採用された回答
Ameer Hamza
2020 年 10 月 19 日
編集済み: Ameer Hamza
2020 年 10 月 19 日
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 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!