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

Для анализа некоторых данных у меня есть несколько скриптов, которые принимают одни и те же данные и вычисляют разные вещи. Я хотел бы, чтобы 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

ТИА


person user2587726    schedule 27.03.2020    source источник


Ответы (1)


Укажите диапазон (или начальную ячейку) для второго столбца, используя свойство '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');
person Sardar Usama    schedule 27.03.2020