【问题标题】:how can I load a part of .mat file in matlab如何在 matlab 中加载 .mat 文件的一部分
【发布时间】:2013-09-01 16:32:33
【问题描述】:

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

【问题讨论】:

    标签: matlab mat matlab-load


    【解决方案1】:

    文件交换上的这个utility 看起来可以完成这项工作。

    【讨论】:

      【解决方案2】:

      不幸的是,在以前的版本中这是不可能的,请参阅here

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

      【讨论】:

        【解决方案3】:

        查看matfile 函数(should 从 2011b 开始可用)。 documentation 解释得很好。

        obj = matfile('test.mat')
        % save a variable
        obj.foo = magic(30);
        % load a variable
        obj.foo(5:10,3:4)
        

        【讨论】:

        • 我找不到原始的发行说明,但它seems 从 2011b 开始提供。对不起,我不知道旧版本的现成解决方案。不妨看看 Mathworks 的文件交换代码共享平台。
        • 我有 2011a 版本 :(
        • 我为加载 VAR1 的前 100 个值所做的工作: load (Filename);i = strmatch('Var1',data.signals.labels,'exact'); tmp = data.signals.values(:,i); var1 = tmp(1:100,:);
        • @user2724407 调用load(Filename)时,您仍在加载整个 MAT 文件
        猜你喜欢
        • 2023-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-02
        • 2011-08-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多