I have two datasets containing 100 x and 100 y coordinates respectively. I am using for loop to create a function such that the 1st entries of both data sets are represented by p1 and the second by p2 and so on. But this only assigns the values to pn and not p1,p2,p3 and so on. What should I do?
for n=1:100
pn=[x(n),y(n)]
end

3 Comments

Stephen23
Stephen23 on 9 Jan 2018
Edited: Stephen23 on 9 Jan 2018
"What should I do?"
Learn to use arrays and indexing.
PS: You do not need a loop at all:
p = [x(:),y(:)];
thank you. I need to learn a lot. :)
Jan
Jan on 9 Jan 2018
@Busy Bee: Then you are at the right forum to get input. :-)

Sign in to comment.

 Accepted Answer

Jan
Jan on 9 Jan 2018
Edited: Jan on 9 Jan 2018
Do not create a set of variables. See FAQ: How to create A1, A2, ... Hiding indices in the names of variables is a frequent programming mistake made by beginners.
Fortunately there is a much easier method: Use indices as indices. :-)
p = [x, y] % or maybe [x(:), y(:)]
If you want to access the variable you tried to call "p4", use:
p(4, :)
Read the link posted by Stephen carefully. It will help you to avoid evil pitfalls.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Asked:

on 9 Jan 2018

Commented:

Jan
on 9 Jan 2018

Community Treasure Hunt

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

Start Hunting!