我有一个Matlab
函数,用于创建一个内部带有矩阵的单元格数组。
它看起来像这样:
>> ind
ind =
[10x3 double]
[10x11 double]
[ 1x11 double]
>> ind{1}
ans =
-0.0407 0.1806 0.3175
-0.1630 -0.0477 0.3487
-0.1704 -0.0903 0.2375
0.4861 -0.0547 0.3547
0.4440 0.1793 0.3329
-0.3888 -0.0768 -0.3908
-0.0429 0.2418 0.6098
0.0263 -0.3948 -0.2316
0.3766 0.5255 -0.1580
-0.4005 -0.2788 -0.4579
我希望能够将此单元格数组保存到文件中,然后加载它。
哪种方法最快? 有没有办法避免手工操作?
答案 0 :(得分:6)
一般解决方案很简单:
myvar = ind{1};
save myfilename myvar;
load myfilename;
如果未指定变量,save
/ load
将处理工作空间/文件中的所有变量。您可以保存/加载多个特定变量:
save myfilename;
save myfilename myvar1;
save myfilename myvar2;
save myfilename myvar1 myvar2;
load myfilename;
load myfilename myvar1;
load myfilename myvar2;
load myfilename myvar1 myvar2;
由于文件中的变量被命名为无序检索,因此无法保存表达式的结果,但必须始终传递变量(如答案所示)。
答案 1 :(得分:4)
我不知道内置函数save
是否是最快的方法,但为什么在你得到更好的建议之前不使用它呢?
答案 2 :(得分:1)
还可以取决于您要将其保存到的文件类型。如果要将其保存为.xls(Excel)文件,可以使用xlswrite()函数。以下内容摘自xlswrite()函数的文档:
xlswrite(filename,A,sheet,range)写入指定的工作表和范围。使用语法'C1:C2'指定范围,其中C1和C2是定义区域的两个相对的角。
希望这会有所帮助,但我也同意Luca的回答。