添加一个矩阵,在matlab中使用dlmwrite附加

时间:2014-02-28 05:09:54

标签: matlab matrix

我需要在文件中写两个不同的矩阵。然而,第一矩阵只是初始值=> 25分*的人(10,10)。第二个矩阵也是10x10矩阵,并在每次迭代中更新。我的问题是,第一个矩阵将位于文件的开头,稍后第二个矩阵将在每次迭代和更新后附加第一个矩阵的末尾。我不想每次都覆盖第二个矩阵,这是在我运行这些代码时发生的

我的代码是这样的:

if ss==5000;

dlmwrite('d:\Temp.txt',Tin*ones(10,10), ' ');
dlmwrite('d:\Temp.txt', Tnew,'-append','roffset', 1, 'delimiter', ' ');

ss=0
end  
你能帮我解决这个问题吗? 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我已经整理了一个完整的例子,展示了我认为你想要的东西。 如果该文件不存在,则会创建该文件并将第一个矩阵放入其中。如果确实存在,则会附加后续数据

filename = 'd:\Temp.txt';

for ss=1:25000

    if mod(ss,5000)==0

        %generate some data to write
        Tnew = rand(10,10);

        if ~exist(filename,'file')
            dlmwrite(filename,ones(10,10), ' ');
        end
        dlmwrite(filename, Tnew,'-append','roffset', 1, 'delimiter', ' ');

    end

end