Creating a new variable in each iteration...
조회 수: 12 (최근 30일)
이전 댓글 표시
I want to create a new variable in each iteration of a for loop... x_1, x_2, x_3, etc... up to x_50
count = 0;
for i = 2:2:100
count = count + 1;
x_(...I want "count" to go in here... what is the code to achieve this?...) = i^2
end
Basically, there should be an x_1 = 4 created in the first iteration, x_2 = 16 in the second iteration, etc... up to x_50 = 10000
Thanks
D Howard
Note: I have seen others ask similar questions, with experienced users saying things like "this is a bad idea because it is hard to reference these later..." and they suggest creating a vector, but my problem is more general and this is not an option.
채택된 답변
James Tursa
2012년 2월 20일
E.g., with the usual caveats about this typically being a bad idea:
eval(['x_' num2str(count) ' = i^2']);
댓글 수: 11
Jiro Doke
2012년 2월 20일
Oh I see. Right, you don't want to do that. If you have P already and want to break it up, you should create a different cell array with a different name. Actually, it probably won't let you create it and give you an error.
You may also want to take a look at the function "mat2cell", that allows you to take a regular matrix P and convert to a cell array.
추가 답변 (1개)
Walter Roberson
2012년 2월 20일
As best I recall at the moment, I have not had a need for dynamic variable names since the days I programmed in REXX ... 25 years ago.
참고 항목
카테고리
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!