【问题标题】:load mat-file and directly assign to variable in matlab加载mat文件并直接分配给matlab中的变量
【发布时间】:2013-11-17 10:01:14
【问题描述】:

我有几个名为“K1.mat”、“K2.mat”等的 .mat 文件。每个文件都包含一个名为 K 的相同大小的矩阵。

我想做的是将每个文件中的 K 加载为“K1”​​、“K2”等,并将它们组合成一个更大的矩阵 K = [K1; K2; ...;克]。但我似乎无法找到一种方法以我想要的方式从 K(i).mat 文件中加载 K 矩阵。使用load()命令matlab将矩阵加载为“K”,但我想加载它并直接将它分配给变量“K1”,“K2”等。我想我可以通过加载K来做到这一点并做类似于 K(i) = K,但这似乎不必要地复杂。有没有更简单的方法来做到这一点?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    当加载到变量(例如,K=load('K1.mat'))时,工作区中的变量 K 是一个 struct,每个变量的字段都存储在 mat 文件中。在您的情况下,它将由K.K

    你能做的是

    K = []; % consider pre-allocating
    for ki=1:n % n mat files
        tmp = load( sprintf('K%d.mat', ki) );
        K = cat( 2, K, tmp.K );
    end
    

    【讨论】:

      猜你喜欢
      • 2011-09-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      • 1970-01-01
      • 2013-09-01
      相关资源
      最近更新 更多