필터 지우기
필터 지우기

Matrix to Vectors, Assigning Names to Vectors

조회 수: 16 (최근 30일)
KKR
KKR 2012년 12월 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