How to create multiple matrices using for loop?
Mostra commenti meno recenti
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 Commenti
Atsushi Ueno
il 17 Apr 2021
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
il 17 Apr 2021
Atsushi Ueno
il 17 Apr 2021
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
il 17 Apr 2021
How about this one?
eval(['P' num2str(i) ' = [x(' num2str(i) ');y(' num2str(i) ')]']);
Jan
il 17 Apr 2021
@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
il 18 Apr 2021
Stephen23
il 18 Apr 2021
A cell array already contains those "multiple matrices", which are trivially accessible via indexing.
Jonas
il 18 Apr 2021
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
Risposte (0)
Categorie
Scopri di più su Matrix Indexing in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!