我有一个大小为550x128的数组。我将其保存在.mat文件中并再次加载以在另一个函数中使用它。
save('c:\\coeffs2.mat', 'descr2');
des2=load('c:\\coeffs2.mat');
我进一步使用此值如下:
des2t = des2';
for i = 1 : size(des1,1)
dotprods = des1(i,:) * des2t;
其中des1是另一个我通过正常函数调用而不是使用save和load的数组。使用这个我得到错误为未定义函数或方法'mtimes'为'struct'类型的输入参数。有人可以帮我解决这个错误吗?
答案 0 :(得分:3)
当您使用des2=load('c:\\coeffs2.mat');
时,它会生成一个结构des2
,其中包含'c:\\coeffs2.mat'
中的变量。这是一个例子:
>> a=rand(3);
>> save b a
>> c=load('b')
c =
a: [3x3 double]
>> c.a
ans =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575
如果您不想使用结构,请使用load('c:\\coeffs2.mat');
。然后会有一个可以使用的变量descr2
。以下是使用我刚刚创建的文件的示例:
>> clear all
>> load('b')
>> whos
Name Size Bytes Class Attributes
a 3x3 72 double
>> a
a =
0.8147 0.9134 0.2785
0.9058 0.6324 0.5469
0.1270 0.0975 0.9575