Convert vector of cells to variables
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi! I'm importing data from excel and I'm finding the position of the data of interest using findstr and it works fine. My problem is that I want to get a string from the vector of cells (eg. Temperature) and assigning it a vector of digits. This is how I want it to be:
Text={'Temp', 'Humidity', 'Age'}
num=[20 0.8 2; 22 0.85 2.1; 23 0.9 2.2]
Temp=[20 22 23]
Thankful for help Regards Johan
0 Commenti
Risposta accettata
Azzi Abdelmalek
il 17 Giu 2013
For k=1:numel(Text)
assignin('base',Text{k},num(:,k))
end
2 Commenti
Jan
il 17 Giu 2013
Such remote controlled assigments have severe disadvatnages: They decrease the processing speed massively because the JIT cannot understand the program at compile time anymore. And the debugging suffers even more. Therefore I strongly recommend to follow Walter's answer.
Più risposte (2)
Andrei Bobrov
il 17 Giu 2013
Modificato: Andrei Bobrov
il 17 Giu 2013
use dataset array
Text={'Temp', 'Humidity', 'Age'}
num=[20 0.8 2; 22 0.85 2.1; 23 0.9 2.2]
d = mat2dataset(num,'VarNames',Text);
>> d.Temp
ans =
20
22
23
or
d2 = cell2struct(num2cell(num,1),Text,2);
d2.Temp
ans =
20
22
23
0 Commenti
Vedere anche
Categorie
Scopri di più su Data Type Conversion in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!