我在 matlab 中有两个带有 n 个条目的向量,我们称它们为 x 和 y。
现在我想创建一个具有以下结构的文本文件:您有两列(一列用于 x 值,一列用于 y 值)然后我想得到:
x(1) y(1)
x(2) y(2)
x(3) y(3)
等等。
这里有人知道如何做到这一点吗?
您可以fprintf
在 for 循环中执行此操作:
x=[0 1 2 3];
y=[4 5 6 7];
file = 'test.txt';
fh = fopen(file, 'wb');
if( length(x) ~= length(y) )
error('x and y must have the same length');
end
for k = 1:length(x)
fprintf(fh, '%f %f\n', x(k), y(k));
end
fclose(fh);
我假设您要保存浮点数。要保存整数,请使用%d
而不是%f
.
这是一种无需循环的方法。我使用了逗号分隔符,但如果你尝试一下help dlmwrite
,你会发现你可以很容易地将它变成一个空格。
x = [1; 2; 3];
y = [4; 5; 6];
dlmwrite('example.txt',[x y],'newline','pc')