在MATLAB中保存矩阵值

时间:2015-02-19 08:10:40

标签: matlab matrix

我将矩阵值保存到.mat文件中供以后使用。矩阵大小为5.6kx3.4k。矩阵内的值范围为0-10k。当我使用 - save(x.mat)保存矩阵时,大小约为80MB。但是,当我将相同的矩阵等同于另一个矩阵b = x;然后将该矩阵保存为.mat文件时,大小会增加,有时会大幅增加。为什么会这样?

另外,我在保存这些矩阵的方式上做错了吗?

1 个答案:

答案 0 :(得分:2)

(等效)命令

save('x.mat')
save x.mat

告诉MATLAB将工作区的全部内容保存在名为" x.mat"的文件中。 - 所以,如果你这样做

>> x = randn(5000, 100);
>> save('x.mat');

你会得到一个大小的文件,如果你那么做

>> b = x;
>> save('x.mat');

您的文件大小会翻倍,因为您现在有两个矩阵(xb)保存在其中。

如果要保存特定变量,可以执行

>> save('x.mat', 'x');
>> save('b.mat', 'b');

将创建两个文件" x.mat"和" b.mat"其中分别包含xb。当然,不要求文件名与变量名匹配 - 执行

>> save('unicorn.mat', 'x');
>> save('apricot.mat', 'b');

将创建两个文件" unicorn.mat"和" apricot.mat"其中分别包含xb