Write in Excel With Matlab on continues Cells

1 次查看(过去 30 天)
Hello!, I'm trying to make a code which writes data of a matrix in an Excel Worksheet, however, I'd like to write several matrices one after the other, the problem is that with the function xlswrite I have to specify the cell were the matrix is going to be written, and depends on the data there will be diferents quantities of matrices.
Right now I have this:
fprintf('Select file location \n');
ubic=uigetdir;
name=input('Specify Name of the file: ','s');
comp=strcat(ubic, '\',name, '.xls');
nomhoja='Desplazamiento';
for i=1:np
head={'t (seg)', 'x (cm)'};
xlswrite(comp, head, nomhoja, 'A1');
xlswrite(comp, [rangT',maximox(i,1:num)'], nomhoja, 'A2');
end
As you can see I need to write this matrix [rangT',maximox(i,1:num)'] 'np' times, so when I write 'A1' for the first loop it's fine but for the next one I need it to be 'C1', the next one 'E1'.. etc
Hope You can help me
Thanks!!

采纳的回答

Iman Ansari
Iman Ansari 2013-6-26
First put your data in a cell array then write it:
rangT = 1:10;
maximox = rand(10,10);
fprintf('Select file location \n');
ubic=uigetdir;
name=input('Specify Name of the file: ','s');
comp=strcat(ubic, '\',name, '.xls');
nomhoja='Desplazamiento';
C = cell(10,20);
for i=1:10
C(:,(2*i-1):(2*i)) = num2cell([rangT',maximox(i,1:10)']);
end
head={'t (seg)', 'x (cm)'};
Data = [repmat(head,1,10);C];
xlswrite(comp, Data, nomhoja);
  6 个评论
Virginia
Virginia 2013-6-26
it returns me this error In an assignment A(:) = B, the number of elements in A and B must be the same.
this is the code I introduced:
nomhoja='Desplazamiento';
C=cell(c,num);
for i=1:np
C(:,(2*i-1):(2*i)) = num2cell([rangT',maximox(i,1:num)']);
end
header(1:2:num) = strcat({'Story '},num2str((1:np)'));
header(end+1) = cell(1);
head={'t (seg)', 'x (cm)'};
Data = [header;repmat(head,1,num);C];
xlswrite(comp, Data, nomhoja);
Iman Ansari
Iman Ansari 2013-6-26
np = 10;
num = 8;
rangT = 1:8;
maximox = rand(10,8);
nomhoja='Desplazamiento';
C=cell(num,2*np);
for i=1:np
C(:,(2*i-1):(2*i)) = num2cell([rangT',maximox(i,1:num)']);
end
header(1:2:2*np) = strcat({'Story '},num2str((1:np)'));
header(end+1) = cell(1);
head={'t (seg)', 'x (cm)'};
Data = [header;repmat(head,1,np);C];
xlswrite(comp, Data, nomhoja);

请先登录,再进行评论。

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by