我的myfile.mat
包含3000x35
尺寸数据。当我将其加载到变量中时:
a = load('myfile.mat')
它提供struct
大小1x1
。我怎样才能得到精确的矩阵形式。这是必需的,因为我需要更改某些列值。
答案 0 :(得分:4)
(这个答案对MATLAB有效,我不确定它在Octave中是否与完全相同)
您有几种选择:
如果import os
print(os.linesep)
文件只包含一个变量,则可以执行以下操作:
.mat
您需要在保存时知道变量的名称,现在这是a = struct2array(load('myfile.mat')); % MATLAB syntax
a = [struct2cell(load('myfile.mat')){:}]; % Octave syntax
中字段的名称。然后你可以使用:
struct
只需删除表达式的a = load('myfile.mat'); a = a.data;
部分
a =
然后,此文件中的变量将在您的工作区中“神奇地生成”。建议不要这样做,因为它很难看到(不可能?)何时创建某些变量。
答案 1 :(得分:0)
我自己找到了解决方案。我确实喜欢这个
a = load('myfile.mat')
a = a.data
现在我可以使用索引来访问a as matrix的值,像这样的(1,2)。 它是八度音阶。我希望它在matlab中类似。