Matrix to Vectors, Assigning Names to Vectors

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 个评论

Auto-naming variables is a dangerous/awkward/discouraged coding practice. Combine your data into a single cell array or use dynamic structure fields.

请先登录,再进行评论。

回答(3 个)

Title=A(1,:) % A your cell array
B=cell2mat(A(2:end,:))

2 个评论

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.
title={'weight','age'}
M=[60 20;70 25 ;80 30 ;40 14]
A=[title;num2cell(M)]

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Creating, Deleting, and Querying Graphics Objects 的更多信息

提问:

KKR
2012-12-30

Community Treasure Hunt

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

Start Hunting!

Translated by