Convert vector of cells to variables

2 次查看(过去 30 天)
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

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2013-6-17
For k=1:numel(Text)
assignin('base',Text{k},num(:,k))
end
  2 个评论
Jan
Jan 2013-6-17
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.

请先登录,再进行评论。

更多回答(2 个)

Walter Roberson
Walter Roberson 2013-6-17

Andrei Bobrov
Andrei Bobrov 2013-6-17
编辑:Andrei Bobrov 2013-6-17
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

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by