Putting columns from an array into evenly spaced columns in excel
1 view (last 30 days)
Show older comments
Hi there, Currently I am trying to come up with can easier code to allow me to put Tresult into evenly spaced columns and then another code which put a label to the left for each of these columns. Ive got wat I need slighlty below but I am wondering if there is a way to make this alot simpler? Cheer
if true
% code
end
for j=1:10
for l=1:10
Tresult(:,j)=mean(Cr).';
end
filename1='hProfile';
Sheet=1;
end
xlswrite(filename1,Tresult(:,1),Sheet,'C1');
xlswrite(filename1,Tresult(:,2),Sheet,'E1');
xlswrite(filename1,Tresult(:,3),Sheet,'G1');
xlswrite(filename1,Tresult(:,4),Sheet,'I1');
xlswrite(filename1,Tresult(:,4),Sheet,'K1');
xlswrite(filename1,Tresult(:,6),Sheet,'M1');
xlswrite(filename1,Tresult(:,7),Sheet,'O1');
xlswrite(filename1,Tresult(:,8),Sheet,'Q1');
xlswrite(filename1,Tresult(:,9),Sheet,'S1');
xlswrite(filename1,Tresult(:,10),Sheet,'U1');
0 Comments
Accepted Answer
Ced
on 7 May 2016
Edited: Ced
on 7 May 2016
Hi
You could always write it in a loop, e.g. using the char-int conversion.
As an alternative: instead of writing a matrix, you can write a cell array. This allows you to leave certain cells and columns empty. Here is an example:
Tresult = randn(5,10);
% write settings
filename1 = 'hProfile';
start_cell = 'C1'; % starting cell
Sheet = 1; % sheet number
skip_col = 1; % number of empty columns between entries
% transform into cell and insert empty columns
Nrows = size(Tresult,1);
Ncols = size(Tresult,2);
Tresult_cell = cell(Nrows,(1+skip_col)*Ncols);
Tresult_cell(:,1:(1+skip_col):end) = num2cell(Tresult);
% write file
xlswrite(filename1,Tresult_cell,Sheet,start_cell);
! Note that this will overwrite whatever was in your excel file before, i.e. the "empty" cells will also be written, but they will just be empty.
Cheers
0 Comments
More Answers (1)
Image Analyst
on 7 May 2016
You could get rid of the unneeded loop over the badly-named "l". Or get rid of both loops altogether since Tresult(:,j) and mean(Cr).' don't ever change values in the loop - it's always the same scalar mean(Cr).' which can be computed outside any loops.
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!