Matrix to Vectors, Assigning Names to Vectors

13 次查看(过去 30 天)
Hope everyone is doing great and are having a happy holidays.
I ran into relatively simple situation (apparently, not so simple for me, as I am new to MATLAB).
I have a Cell structure with 14 elements, with titles of columns (data is exported from Excel, using xlsread function). With that, I have matrix with 14 columns, and I would like to form 14 vectors with name that are member of that Cell.
Of course, I can manually simply do it (in case, that is what I have been doing up until now). I was wondering if I could simply run a loop.
But, when I tried for one vector, it shows the following error.
>> t(1) = MacSales(:,1) ??? Conversion to cell from double is not possible.
Any ideas/suggestions will be greatly appreciated.
Thank yo.
  1 个评论
Matt J
Matt J 2012-12-30
编辑:Matt J 2012-12-30
Auto-naming variables is a dangerous/awkward/discouraged coding practice. Combine your data into a single cell array or use dynamic structure fields.

请先登录,再进行评论。

回答(3 个)

Azzi Abdelmalek
Azzi Abdelmalek 2012-12-30
编辑:Azzi Abdelmalek 2012-12-30
Title=A(1,:) % A your cell array
B=cell2mat(A(2:end,:))
  2 个评论
KKR
KKR 2012-12-30
I think I didnt explain clearly. I actually want the other way around. I have a cell with Titles and Matrix with Data. I would like create vectors which are titled from cell and has data from matrix.
What you have is sort of the reverse of it, i.e. forming a cell with titles and matrix with data.
Azzi Abdelmalek
Azzi Abdelmalek 2012-12-30
title={'weight','age'}
M=[60 20;70 25 ;80 30 ;40 14]
A=[title;num2cell(M)]

请先登录,再进行评论。


Matt J
Matt J 2012-12-30
for i=1:length(titles)
S.(titles{i})=M(:,i);
end

KKR
KKR 2012-12-30
Great.
Thank you very much. That helps.

类别

Help CenterFile Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by