如何在Matlab中加载.mat文件的一部分

3

我有一个.mat文件,里面有24个变量,我只想加载名为Var1和Var2的变量中的前100个值。

3个回答

2
请看一下 matfile 函数(从 2011b 版本开始应该可用)。文档 对其进行了很好的解释。
obj = matfile('test.mat')
% save a variable
obj.foo = magic(30);
% load a variable
obj.foo(5:10,3:4)

我找不到原始的发布说明,但是根据这篇文章,它似乎从2011b版本开始提供。很抱歉,我不知道旧版本是否有现成的解决方案。也许可以在Mathworks的文件交换代码共享平台上查找一下。 - beginner
我只有2011a版本 :( - user2724407
我所做的是加载VAR1的前100个值:load(文件名); i = strmatch('Var1',data.signals.labels,'exact'); tmp = data.signals.values(:,i); var1 = tmp(1:100,:); - user2724407
@user2724407 当您调用load(Filename)时,仍在加载整个MAT文件。 - am304

1
这个工具在文件交换平台上看起来可以胜任这个任务。

0

在之前的版本中,很遗憾这是不可能的,请参见此处

因此,最好的选择是加载所有变量,然后创建仅包含前100个值的新变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接