Data with names through a loop in vector?

8 views (last 30 days)
Hello
I try to explain my problem with a simple code. Assuming I have dataset given as below:
z0=0; z1=500; z2=233; z3=677; z4=88; z5=8888; z6=22;
For further calculations, I would like to have all single data in one vector. I can easy write it like this:
z=[z1,z2,z3,z4,z5,z6];
For 6 numbers is this not a problem, but what if I got a set of 1000 such data?
Therefore, I would like to have a loop which creates such a vector automatically. Does anybody have an idea?
Tanks for your hints.
  2 Comments
Azzi Abdelmalek
Azzi Abdelmalek on 2 Nov 2012
where your 1000 variables are saved?
Boris
Boris on 2 Nov 2012
With this 1000, I just wanted specify that It would be also very annoying if I have more then 6 values.
My idea is something like that:
z=[];
for i=1:6;
z=[z,z['num2st(i)]]
end
Unfortunately, the whole problem looks very easy, but I could nowhere find a solution.
Thanks for help

Sign in to comment.

Accepted Answer

Azzi Abdelmalek
Azzi Abdelmalek on 2 Nov 2012
If your data are saved in a mat file
data=load('yourfile')
for k=1:1000
out(k)=data.(sprintf('z%d',k))
end
  3 Comments
Boris
Boris on 2 Nov 2012
Great. Learned a lot. Thanks.

Sign in to comment.

More Answers (1)

Matt Fig
Matt Fig on 2 Nov 2012
Did you create this data? It is best to start over and not create such a mess in the first place..... If possible, I would go back and get the data into a proper form, such as a cell array or structure. Then further manipulations will be easier.
Other than that, please read this FAQ, and DON'T DO IT!
  3 Comments
Matt Fig
Matt Fig on 2 Nov 2012
That's o.k. What form is the data in? Is it in a .mat file? If so, see Azzi's suggestion. If not, tell us how the data is stored and we will make further suggestions.
Boris
Boris on 2 Nov 2012
I somehow understand your ideas. The thing I want to have is but somehow different.
Okey, stupidly, I write this in the editor:
z1=200
z2=330
z3=199
But I would like to have it like:
z=[200 330 199]
The only thing I can do, is just write every z value in the vector:
z=[z1 z2 z3]
But, as I wrote to Azzi, I would like to do in loop, something like:
z=[];
for i=1:3;
z=[z,z['num2st(i)]]
end
If I have a .mat file or .txt file, I am able to create an vector/matrix loop wise. But with this simple example, it just did not work.
Hopefully, I pointed out my problem more clear.

Sign in to comment.

Categories

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

Community Treasure Hunt

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

Start Hunting!