how to give a name to every case in the loop as the following example ?

i have a loop which looks like
clc
clear
a=[1:10];
for k=1:10;
b=nchoosek(a,k)
end
but, i want to give a name to every case in the loop in order to be as well: b1=.... b2=.... b3=.... . . . b10=.... until i can call up any one of them separately. i have tried to use this code '(eval(sprintf('b%d = [1:i]',i))' but it ended in failure . please , help me thank you

Answers (1)

a=[1:10];
for k=1:10;
b{k}=nchoosek(a,k)
end
It's not good to create several variables, just use a cell class, or or a struct class

4 Comments

unfortunately, i have already seen this link before but i did not find my request or i could not perform any one of them correctly . please , try to do an example to understand 'how to perform it' well thank you ,Azzi
If you insist to create those variables
a=[1:10];
for k=1:10;
eval(sprintf('b%d=nchoosek(a,%d)',k,k))
end
But instead of creating b1,b2,... it's better if you cretae one cell array (look at my previous answer), if you want to access to, for example the third array just write
b{3}
how can i call up either part of the results like (e1,e5,e6,e9)or (from e1 to e7)? then i need to combin them in one array

This question is closed.

Asked:

on 14 Jun 2014

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!