Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Использование Matlab writematrix в нескольких сценариях для записи в один и тот же csv

Автор вопроса: user2587726Ответов: 1

Для анализа некоторых данных у меня есть несколько скриптов, которые принимают одни и те же данные и вычисляют разные вещи. Я хотел бы, чтобы Matlab затем записывал вывод каждого скрипта в один и тот же csv, чтобы у меня были все выводы в одном месте. Как мне это сделать? Возможно ли это вообще без создания огромной матрицы в Matlab и записи всей матрицы в одну команду? Насколько я могу судить, writematrix всегда пишет только в первый столбец.

Пример:

А = ранд(1,10)'; B = ранд(1,10)';

writematrix(A,'M.xls') %записать в столбец 1 CSV

writematrix(B,'M.xls') %заменяет предыдущую команду

В xcel можно писать на разные листы, но это не подходит.

Документация для writematrix находится здесь: https://uk.mathworks.com/help/matlab/ref/writematrix.html

ТИА

csvmatlaboverwrite

Ответы

Ответ 1 · рейтинг 1 · Sardar Usama

Укажите диапазон (или начальную ячейку) для второго столбца, используя свойство 'Range', и используйте 'append' для WriteMode, как показано ниже:

A = rand(10,1);    B = rand(10,1);
%Side-note: ' is complex conjugate transpose.
%Use transpose .' when you want to take transpose
%In this case, you can initialise the random matrices with 10x1 size
%instead of 1x10 size and then taking the tranpose

writematrix(A,'M.xls');
%Assuming that B1 is the starting cell for the second column:
writematrix(B,'M.xls','Range','B1', 'WriteMode', 'append');

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы