Convert vector of cells to variables

1 visualización (últimos 30 días)
Johan
Johan el 17 de Jun. de 2013
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

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 17 de Jun. de 2013
For k=1:numel(Text)
assignin('base',Text{k},num(:,k))
end
  2 comentarios
Johan
Johan el 17 de Jun. de 2013
Cheers!
Jan
Jan el 17 de Jun. de 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.

Iniciar sesión para comentar.

Más respuestas (2)

Walter Roberson
Walter Roberson el 17 de Jun. de 2013

Andrei Bobrov
Andrei Bobrov el 17 de Jun. de 2013
Editada: Andrei Bobrov el 17 de Jun. de 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

Categorías

Más información sobre Data Type Conversion en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by