Effacer les filtres
Effacer les filtres

String elements of a cell as a name to the array elements of another cell

1 vue (au cours des 30 derniers jours)
Debjyoti Basu
Debjyoti Basu le 16 Août 2016
Modifié(e) : Stephen23 le 25 Juin 2019
Dear friends, can you plz. give me the solution of the problem which I stated below. I have two cell q{22,1) and each element of this cell is a string array. I have another cell r{22,1} and each element of this cell is an array. Now I want to use the element of 'q' as a name to the corresponding element of 'r' and it will be appear in matlab workspace separately. For an example, q{1,1} element will be the name of the array r{1,1} and appear in matlab workspace. Sincerely, Debjyoti

Réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 16 Août 2016
What is the aim of doing this? this is not recommended, read this http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F
  4 commentaires
Azzi Abdelmalek
Azzi Abdelmalek le 17 Août 2016
Now, if you want to know how to do it:
q={1:2 3:4}
r={'a' 'b'}
for k=1:numel(q)
assignin('base',r{k},q{k})
end
But you have to know it's a very bad idea!
Debjyoti Basu
Debjyoti Basu le 17 Août 2016
Azzi, thnx for giving me the answer. It is useful. great, Deb

Connectez-vous pour commenter.


John BG
John BG le 17 Août 2016
Debjyoti
Use the command evalin.
evalin executes whatever you input, as long it's valid syntax.
For instance, let's say you have the following stored
q{1,1}='var1';
do the following
1.
read the contents of the cell that has the names you want to use as names of variables, for instance:
var_name=q{1,1}
2.
let's say that you want to create a variable with name in q{1,1} and the following value:
value=35.6
3.
Now build the string to input evalin
string1=num2str(value);string1=[var_name '=' num2str(value)]
4.
execute evalin
evalin('base',string1)
Now in the workspace you have a new variable, named as the contents of q{1,1} with the chosen value.
Debjyoti
If you find this answer useful would you please be so kind to mark my answer as Accepted Answer?
To any other reader, please if you find this answer of any help solving your question,
please click on the thumbs-up vote link,
thanks in advance
John BG
  2 commentaires
Debjyoti Basu
Debjyoti Basu le 17 Août 2016
John, thnx for giving me the reply. It is useful as well. Deb
John BG
John BG le 17 Août 2016
Debjyoti
Thanks for the accepted answer.
Look for correct answers, some people in this forum try to hit many answers, attempting to maximise the chances of scoring credit, and then we come across telegraphic answers, which are essentially like if
when asking for Uranium atomic number,
the reader gets
Check in the periodic table
and sometimes they even moan and try to get the credit away from the one who took the time and effort to supply a useful answer.
Do not hesitate asking anything MATLAB SIMULINK related you consider worth asking, moreover if it's homework.
This forum is to learn MATLAB, regardless of it's homework or not.
Regards
John BG

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Import and Analysis dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by