2013-03-27 2 views
3

크기가 550x128 인 배열이 있습니다. .mat 파일에 저장하고 다시로드하여 다른 함수에서 사용합니다. I는 추가로이 값을 사용'struct'유형의 입력 인수에 대해 정의되지 않은 함수 또는 메서드 'mtimes'

save('c:\\coeffs2.mat', 'descr2'); 
des2=load('c:\\coeffs2.mat'); 

다음 :

DES1 I가 정상적인 기능을 호출하기보다는 저장 부하 사용하더라도 전달있어 다른 배열
des2t = des2';       
for i = 1 : size(des1,1) 
dotprods = des1(i,:) * des2t; 

. 이를 사용하여 'struct'유형의 입력 인수에 대해 정의되지 않은 함수 또는 메서드 'mtimes'로 오류가 발생합니다. 누군가가 오류를 도와 줄 수 있습니까?

+0

더 많은 코드를 게시 할 수 있습니까? 이것은 조금 너무 간결합니다. –

+0

관련 항목 : http://stackoverflow.com/questions/4718417/matlab-loading-a-mat-file-why-is-it-a-struct-can-i-have-the-stored-vars – Ramashalanka

답변

3

des2=load('c:\\coeffs2.mat');을 사용하면 'c:\\coeffs2.mat'의 변수를 가진 des2 구조체가 만들어집니다.

>> 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 
+0

감사합니다. 너 너무 많이 ... 그 일 .. – Twinkal

관련 문제