【问题标题】:how to save a matrix to a file in matlabmatlab如何将矩阵保存到文件中
【发布时间】:2012-11-25 00:08:05
【问题描述】:

我在 Octave 中做一个程序,将很多矩阵相乘。所有的矩阵都存储在一个单元矩阵中。其中:

cell(index,1) is the matrix in the left
cell(index,2) is the matrix in the right
cell(index,3) is the result.

我想用这种方式将很多矩阵保存在一个文件中,例如:

cell(index,1) cell(index,2) = cell(index,3) 
cell(index,1) cell(index,2) = cell(index,3)
cell(index,1) cell(index,2) = cell(index,3)

等等。

我知道有一个函数dlmwrite,但我不知道如何使用它(我是八度的新手),所以我可以拥有这种格式。

【问题讨论】:

    标签: file matlab matrix octave


    【解决方案1】:

    至少有两种方法可以做到这一点。如果您只打算在 matlab 中使用它,请使用 save 命令。 save filename.dat cell。这是由read filename.dat 加载的,如果您希望它们可以通过字符串读取,请使用cell2mat 命令。

    在您的情况下,我相信您实际上希望将值打印到屏幕或文件中。如果您在 matlab 中以正确的方式进行操作,则任何一种方法都几乎相同。这是总体思路:

    for index=1:size(cell,1)
      fprintf("%i %i = %i\n",cell(index,1),cell(index,2),cell(index,3));
    end
    

    打印到文件非常相似

    fid=fopen("somefile.txt","w")
    for index=1:size(cell,1)
      fprintf(fid,"%i %i = %i\n",cell(index,1),cell(index,2),cell(index,3));
    end
    fclose(fid);
    

    【讨论】:

    • 但如果我保存 file.txt 单元格,那么它会以其他方式保存单元格,例如:
    • 但是如果我保存 file.txt 单元格,那么它会以另一种方式保存单元格,例如:matrix1 matrix2 matrix3 而我不希望那样。如果我使用 cell2mat 命令,如何以我想要的方式格式化它?
    • 好的,我想我明白你现在想要什么了。看看我的最新编辑。
    • fid = fopen(myfile,"w"); fprintf(fid,"%i %i = %i",cell(index,1),cell(index,2),cell(index,3));是把它保存在文件中的方法吗?只是它没有保存它......打印到文件的正确方法是什么?
    猜你喜欢
    • 2012-09-05
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多