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 commentaires

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
Rohit Raut le 17 Avr 2021
Thanks for your answer but it still gives the output as a single P matrix. I want multiple 2x1 matrices P1,P2...n
If you mean "different 2x1 matrices" as "tuple (cell array)", you should change your code as below.
P{i} = [x(i);y(i)];
How about this one?
eval(['P' num2str(i) ' = [x(' num2str(i) ');y(' num2str(i) ')]']);
Jan
Jan le 17 Avr 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
Thank you. I know it is bad programming style, but Rohit Raut wants multiple 2x1 matrices P1,P2...
Stephen23
Stephen23 le 18 Avr 2021
"I know it is bad programming style, but Rohit Raut wants multiple 2x1 matrices P1,P2..."
A cell array already contains those "multiple matrices", which are trivially accessible via indexing.
Jonas
Jonas le 18 Avr 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

Connectez-vous pour commenter.

Réponses (0)

Catégories

Produits

Commenté :

le 18 Avr 2021

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by