For loop to write data to excel
13 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a number of matrix (e.g. n=10) dw1,dw2....dw10. they are obtained through equation dw=-dudx-dvdy. I want to use a for loop to write all these matrix to an excel. I did these
for i = 1:n;
dwname = sprintf('dw%d=-dudx%d-dvdy%d;',[i,i,i]);
eval(dwname);
xlswrite('name.xls',dwname,i,'a1:a600');
end
From this loop i got all the dwi. but because dwname is a char, so the data wrote to excel is not the matrix dwi not only a string . I tried to transfer the char name to variable, but didnt make it.
Is there anyone who can help me with this?
0 comentarios
Respuesta aceptada
Image Analyst
el 17 de Jun. de 2012
dwname needs to be a cell, not a character array. Put it inside braces like this {dwname}. Or better yet do it this way where I first create the cell array and then write it out just once at the end instead of in every iteration:
% Create a 1 by n cell array called dwname.
n = 5;
for i = 1:n
dwname{i} = {sprintf('dw%d=-dudx%d-dvdy%d;',[i,i,i])}
end
% Write out the cell array all in one shot.
sheetNumber = 1;
range = 'a1';
xlswrite('name.xls', dwname, sheetNumber, range);
5 comentarios
Image Analyst
el 18 de Jun. de 2012
I don't have your data files, or Excel on this computer, so I can't test anything. All I can say is to start with my code and then look at the example in the help for xlswrite to learn how you can construct a cell array that has both numbers and strings. One cell of the cell array can contain either a string (multiple characters), or a single number of an array. The cell cannot contain the entire array if I remember correctly - you have to put each element into its own cell.
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!