y
是一个列向量):dlmwrite('my_file.csv',[[1:length(y)]',y])
y=rand(10,1)
dlmwrite('my_file.csv',[[1:length(y)]',y])
现在,my_file.csv
文件的内容如下:
1,0.70605
2,0.031833
3,0.27692
4,0.046171
5,0.097132
6,0.82346
7,0.69483
8,0.3171
9,0.95022
10,0.034446
如果您的原始向量是行向量(而不是列向量),那么问题会变得更加简单。
y=rand(1,10)
dlmwrite('my_file.csv',[1:length(y);y]')
y=rand(1,10);
name1 = 'InD';
name2 = 'y';
delimiter = ',';
header = [name1, delimiter, name2];
dlmwrite('my_file.csv',header,'delimiter','');
dlmwrite('my_file.csv',[1:length(y);y]','-append','delimiter',delimiter);
你可以更改y
为你的向量,然后根据你的喜好定义name1
和name2
。
编辑:
刚刚注意到MATLAB目前不建议使用dlmwrite
,在这种情况下,这是一个替代方法。
y = rand(1,10);
name1 = 'InD';
name2 = 'y';
header = {name1,name2};
output = [header; num2cell([1:length(y);y]')];
writecell(output,'my_file.csv')
function to_csv(filename, data, header)
datatable = array2table(data);
datatable.Properties.VariableNames(1:length(header)) = header;
writetable(datatable, filename);
end
使用示例:
y = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]';
InD = (1:length(y))';
to_csv('my_file.csv', [InD, y], ["InD", "y"]);
csvwrite
)。y_matrix = [1 0.1; 2 0.2; 3 0.3; 4 0.4; 5 0.5; 6 0.6]
writematrix(y_matrix, 'my_file.csv')
a = 1:length(y);
的操作。要包括标题,您可以遵循此建议:https://www.mathworks.com/matlabcentral/answers/246922-how-to-add-headers-to-a-data-matrix - nunohpinheiro