2012-10-18 2 views
3

.dat 파일에서 시간에 따른 데이터를 추출하고 스플라인 함수를 사용하여 값을 사용중인 기존 시간 벡터와 비교합니다. 어떤 이유로 길이 함수가 벡터의 길이를 읽지 못하고 있습니다.Matlab에서 길이 (x)를 사용하는 오류는 첨자로 표시됩니다.

나는이 추천 광고와 오류를 다시 만들 수 있습니다 :

x = linspace(1,98,76)'; 
y = 20.*x-5.*x.^2; 
t = linspace(0,100,1000)'; 
yy = spline(x,y,t); 
length(yy) 

을 반환 ??? 첨자 인덱스는 실수 양수 또는 논리 값이어야합니다.

내 작업 공간에 yy가 1000x1 배이고 max (크기 (yy))가 잘 작동하는 것으로 나타납니다. 이 오류를 만드는 이유는 무엇입니까?

+0

Linux Mint의 R2012b에서이 코드를 실행하는 데 오류가 발생하지 않습니다. 귀하의 광고문 상단에 'clear'을 추가하십시오. 그러면 올바르게 작동하기 시작하면 Praetorian의 아이디어가 정확한지 알 수 있습니다. –

+0

우분투 10.04에서 R2010b에서도 오류가 발생하지 않습니다. – jespestana

+0

또한 [이 질문에] (http://stackoverflow.com/questions/20054047/subscript-indices-must-either-be-real-positive-integers-or-logicals-generic-sol) [일반 솔루션에 대한 이 문제는] (http://stackoverflow.com/a/20054048/983722). –

답변

8

작업 영역에 length이라는 변수가있을 수 있습니다. 이것이 맞는지 확인하려면 whos 명령을 사용하십시오. 존재하는 경우

whos length 

이 변수 length의 크기와 종류를 인쇄합니다.