относительно сохранения числовых и строковых значений в целом - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть строковая матрица с N строками и 2 столбцами. Каждая ячейка хранит строку. У меня есть еще один вектор N * 1, где каждая запись является числовым значением.

Как я могу сохранить эти две структуры в один текстовый файл строка за строкой.

Другими словами, каждая строка сохраненного текстового файла состоит из трех элементов, первые два элемента происходят из строки матрицы строк, а третий элемент - из соответствующей строки этого вектора.

Спасибо.

1 Ответ

1 голос
/ 30 ноября 2011

Если я правильно понимаю, то поддельные данные можно представить так:

% Both have N=2 rows
strMat1 = {'a','b';'c','d';};
strMat2 = {1;2};

И если вы хотите, чтобы вывод этих данных был текстовым файлом с:

ac1
bd2

Тогда вы должны сделать это:

txtOut = [];
if size(strMat1,1) == size(strMat2,1);
    for row = 1:size(strMat1,1)
        txtOut= [txtOut strMat1{:,row} num2str(strMat2{row}) '\n'];
    end
else
    disp('Size disagreement')
end

fid=fopen('textData.txt','wt');
fprintf(fid,txtOut)

Он проверяет векторы на наличие одинакового количества строк, а затем создает строку txtOut для передачи команде fprintf.

Надеюсь, это поможет! Если вы хотите, чтобы вывод выводился по-другому, просто добавьте пробелы к добавляемой строке в виде ' '.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...