2013-04-30 4 views
1
나는 데이터가 루프 외부에서 사용할 수 있도록 importdata를 사용하여 MATLAB에서 여러 데이터 파일을 가져 오기 위해 노력하고있어

:MATLAB의 IMPORTDATA

for i = 1:5 
    filename = sprintf('data-%d.txt', i); 
    data{i} = importdata(filename); 
end 

그러나 스크립트가 다음과 같은 오류 반환 :

Cell contents assignment to a non-cell array object. 

Error in process (line 12) 
    data{i} = importdata(filename); 

어떻게 해결할 수 있습니까?

답변

0

이 오류는 일반적으로 이미 셀이 아닌 유형으로 인스턴스화 된 변수에 셀을 할당하려는 경우에 나타납니다.

코드의 어느 곳에서나 처음으로 data을 행렬로 초기화했으며 이제는 셀 유형인 것처럼 처리하려고합니다.

이 이론을 신속하게 테스트하려면이 약간 수정 된 코드를 시도해보십시오. 주소를 지정하려고 시도하면 data이 셀 유형으로 초기화됩니다.

data = cell(1); 
for i = 1:5 
    filename = sprintf('data-%d.txt', i); 
    data{i} = importdata(filename); 
end