MATLAB Answers


seeking help with xlswrite function

Asked by John
on 6 Jan 2013


I'm trying to loop through this code 3 times and save the variable states to the excel file. I want to name the excel files 1.xls, 2.xls and 3.xls.

Could anybody tell me what I am doing wrong with the xlswrite as it is not working. Thank you.

for j=1:3
  transC = [zeros(size(T,1),1), cumsum(T,2)]; %cumulative sum of rows, we will use this to decide on the next step.
  n = 10000;
  states = zeros(1,n); %storage of states
  states(1) = 32; %start at state 1 (or whatever)
  for ii = 2:n
     %Generate a random number and figure out where it falls in the cumulative sum of that state's trasition matrix row
     [~,states(ii)] = histc(rand,transC(states(ii-1),:));
  xlswrite('C:\j.xls',[states],'Sheet1', 'A2');

  1 Comment

We're waiting for you to tell us what the outcome of the code is.

Log in to comment.


1 Answer

Answer by Image Analyst
on 6 Jan 2013
 Accepted Answer

You need to construct the filename properly. Replace this:

xlswrite('C:\j.xls',[states],'Sheet1', 'A2');

with this:

baseFileName = sprintf('%d.xls', j);
fullExcelFileName = fullfile(yourFolder, baseFileName); % yourFolder can be pwd if you want.
xlswrite(fullExcelFileName ,[states],'Sheet1', 'A2');

  1 Comment

Thank you for your help.

Log in to comment.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!