Matlab - Index exceeds matrix dimensions when writing .txt

  • #1
5
0

Homework Statement


Index exceeds matrix dimensions

Homework Equations




The Attempt at a Solution


I am trying to output into a text file something like this:


Code:
Name                                  ID   scE   ccE   scC   ccC 
Fake Subject 1                    1      3       4       5      2 
Fake Subject 2                    1      4       3       5      2 
Fake Subject 3                    1      5       2       5      2
(EDIT: My apologies, it isn't outputting correctly)

...
Attempt:

Please note that uData is a 27x5 matrix, and name_Database is a 27x1 cell array.


Code:
ID = dbedit.uData(:,1);
scE = dbedit.uData(:,2);
ccE = dbedit.uData(:,3);
scC = dbedit.uData(:,4);
ccC = dbedit.uData(:,5);
names = dbedit.name_Database;


% Create array versions to account for proper spacing
% within the text file.
ID_cell = cellstr(num2str(ID.'));
scE_cell = cellstr(num2str(scE.'));
ccE_cell = cellstr(num2str(ccE.'));
scC_cell = cellstr(num2str(scC.'));
ccC_cell = cellstr(num2str(ccC.'));


output_file = 'uDatabase.txt'; % Text file to output data into.
fid = fopen(output_file, 'w+'); %// open file for writing
fprintf(fid, 'Name\t ID\t scE\t ccE\t scC\t ccC\n'); % Header

for ii=1:numel(names)
    fprintf(fid, '%s\t %s\t %s\t %s\t %s\t %s\n',names{ii},...
    ID_cell{ii},scE_cell{ii},ccE_cell{ii},scC_cell{ii},...
    ccC_cell{ii}); %// write data
end
fclose(fid);


Error statement:
Index exceeds matrix dimensions.

What am I doing wrong? Input would be greatly appreciated
 
Last edited:

Answers and Replies

  • #2
num2str(array.') doesn't create an array of strings, by a single string with all the elements of the array. Removing the .' should work. But I don't understand why you convert the numbers to strings before printing them.
 

Suggested for: Matlab - Index exceeds matrix dimensions when writing .txt

Replies
1
Views
767
Replies
15
Views
921
Replies
1
Views
619
Replies
3
Views
656
Replies
5
Views
724
Replies
3
Views
448
Replies
10
Views
763
Replies
2
Views
427
Replies
1
Views
476
Back
Top