2012-11-25 193 views
0

我在Octave中做了一个程序,它使许多矩阵相乘。所有矩阵都存储在单元矩阵中。其中:如何将矩阵保存到matlab中的文件中

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,但我不知道如何使用它(我是新的八度),所以我可以有这种格式。

回答

0

至少有两种方法可以做到这一点。如果你只在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); 
+0

但如果我不救file.txt的细胞,然后将其保存在小区的其他方式,如: – Edwardo

+0

但如果我确实保存了file.txt单元格,那么它会以另一种方式保存单元格:matrix1 matrix2 matrix3我不想要这样。如果我使用cell2mat命令,如何以我想要的方式格式化它? – Edwardo

+0

好吧,我想我明白你现在想要什么。看看我最近的编辑。 – PearsonArtPhoto

相关问题