在 MATLAB 中将向量保存为 .csv 文件

Chr*_*ina 4 matlab

我有一个向量y = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6]'大小为 的向量6 x 1

我想将此向量保存在 a 中.csv file,但我希望它.csv file是这样的: 在此输入图像描述

我在 MATLAB 中编写了这段代码:

csvwrite('my_file.csv', y)
Run Code Online (Sandbox Code Playgroud)

如何编辑我的代码以获得上面的文件?

任何帮助将不胜感激。

myr*_*dio 5

你可以做这样的事情(假设y是一个列向量)

dlmwrite('my_file.csv',[[1:length(y)]',y])
Run Code Online (Sandbox Code Playgroud)

例如,

y=rand(10,1)
dlmwrite('my_file.csv',[[1:length(y)]',y])
Run Code Online (Sandbox Code Playgroud)

现在看起来的内容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
Run Code Online (Sandbox Code Playgroud)

如果你的原始向量是一行(而不是列)看起来更容易一些,

y=rand(1,10)
dlmwrite('my_file.csv',[1:length(y);y]')
Run Code Online (Sandbox Code Playgroud)

另外,如果您希望文件头也出现在文件上,您可以这样做,

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);
Run Code Online (Sandbox Code Playgroud)

您可以在其中更改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')
Run Code Online (Sandbox Code Playgroud)