Запись содержимого массива типа uint32 в текстовый файл в Matlab

Я пытаюсь прочитать содержимое матрицы 512 * 512 класса uint32 в текстовый файл. Эта матрица содержит 0 и 1. Приведенный ниже код продолжает возвращать мне эту ошибку: «Ссылка на содержимое ячейки из объекта массива, отличного от ячейки».

fileID = fopen('my_data.txt','w');
[nrows,ncols] = size(matri_working_now);
for row = 1: nrows
fprintf(fileID,matri_working_now{row,:});
end

Любые предложения/идеи?

Спасибо!!


person Kashif Nawaz    schedule 22.05.2014    source источник


Ответы (1)


попробуй заменить

fprintf(fileID,matri_working_now{row,:});

с

fprintf(fileID,matri_working_now(row,:));

Похоже, вы пытаетесь получить доступ к matri_working_now как к ячейке с помощью фигурных скобок {}, в то время как вы должны обращаться к ней как к обычной матрице с помощью круглых скобок ().

person Shai    schedule 22.05.2014
comment
Ну, я попробовал это. Вот когда я получил ошибку uint32. - person Kashif Nawaz; 22.05.2014
comment
@KashifNawaz, что за ошибка uint32? - person Shai; 22.05.2014
comment
матрица имеет тип uint32, и я думаю, что я получаю доступ к ней как к числовой/строковой - person Kashif Nawaz; 22.05.2014
comment
с обычными скобками я получаю сообщение об ошибке Ошибка при использовании fprintf. Неверный формат. - person Kashif Nawaz; 23.05.2014
comment
кажется, что это работает, но он берет столбец данных и выводит его в текстовый файл как один поток, а не как массив fileID = fopen('my_data2vs.txt','wt'); для строки = 1:nrows fprintf(fileID,'%d\n',matri_working_now(строка,:)); конец fclose (идентификатор файла); - person Kashif Nawaz; 23.05.2014
comment
значение «wt» объясняется здесь: stackoverflow.com/a/1456924/1060030 - person Kashif Nawaz; 23.05.2014