将matlab输出保存在文本文件中

时间:2013-08-23 10:47:10

标签: matlab text file-io output

我在matlab中有两个带有n个条目的向量,让我们称它们为x和y。

现在我想创建一个具有以下结构的文本文件: 你有两列(一个用于x值,一个用于y值)然后我想得到:

    x(1)  y(1)
    x(2)  y(2)
    x(3)  y(3)

等等。

这里有人知道如何做到这一点吗?

2 个答案:

答案 0 :(得分:2)

您可以在for循环中使用fprintf执行此操作:

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

答案 1 :(得分:2)

这是一种没有循环的方法。我使用了逗号分隔符但是如果你尝试help dlmwrite,你可以看到你可以很容易地把它变成一个空格。

x = [1; 2; 3]; 
y = [4; 5; 6];
dlmwrite('example.txt',[x y],'newline','pc')