How to create multiple matrices using for loop?
이전 댓글 표시
How to take input of coordinates of n number of points and store it in different 2x1 matrices?
The loops I am using are as follows but there is some error.
for i=1:n
x(i)=input('Enter the X-coordinate of node ')
y(i)=input('Enter the Y-coordinate of node ')
end
C=[x;y]
for i=1:n
P(i)= [x(i);y(i)]
end
댓글 수: 8
Atsushi Ueno
2021년 4월 17일
You should treat P as a 2D matrix. I am not sure if this comment solve your question.
P(:,i) = [x(i);y(i)];
Rohit Raut
2021년 4월 17일
Atsushi Ueno
2021년 4월 17일
If you mean "different 2x1 matrices" as "tuple (cell array)", you should change your code as below.
P{i} = [x(i);y(i)];
Atsushi Ueno
2021년 4월 17일
How about this one?
eval(['P' num2str(i) ' = [x(' num2str(i) ');y(' num2str(i) ')]']);
Jan
2021년 4월 17일
@Atsushi Ueno: Stay at the cell array. Creating a bunch of variables dynamically with EVAL is a bad programming style. See TUTORIAL: Why and how to avoid EVAL
Atsushi Ueno
2021년 4월 18일
Stephen23
2021년 4월 18일
A cell array already contains those "multiple matrices", which are trivially accessible via indexing.
Jonas
2021년 4월 18일
i'm a bit confused what you really want. If u are ok with multiple 2x1 matrices in a cell array you can just use num2cell(C,1) in your case, it divides a 2 x n matrix into n cells containing each 2x1 matrices
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!