2012-09-14 1 views
2

이것은 Matlab 사용자를위한 간단한 질문입니다.Matlab 사용자 함수에서 호출 크기가 오류를 발생시킵니다.

매개 변수 y는 1 x 81 매트릭스 (배열)입니다.

function [ ] = test(y) 

length(y) 

end 

그러나 호출 테스트 나는 다음과 같은 오류 얻을 때 : ". 비 구조 배열의 필드를 참조하는 ??? 시도" 을 내 기능은 다음과 같습니다
내가 뭘 잘못 했니?

답변

1

반환 매개 변수를 지정해야합니다!

function [size] = test (y) etc... 
+0

감사합니다. – Casbar77

+0

@ Casbar77 멋진! 코드가 매우 복잡해지면 네임 스페이스 충돌과 관련된 AGS의 의견을 염두에 두십시오. * 대부분의 경우 코드가 우선 순위를 가지며 어떤 문제도 보이지 않지만 충돌이 문제를 일으킬 수있는 몇 가지 단점이 있습니다. (나는 디버깅에 시간을 허비했습니다.)// –

-2

test은 이미 내장 기능입니다.

>> help test 
--- help for classregtree/test --- 

test Compute error rate for tree. 
COST = test(T,'resubstitution') computes the cost of the tree T 

여기에서 T은 의사 결정 트리입니다.

+2

실제로 테스트는 현재 패스에서 테스트를 호출하면 네임 스페이스 충돌이 발생하지 않으므로 추가 도구 상자가 추가되었습니다. - 나는 수백 개의 test() 함수를 작성했습니다. –

+0

-1 : 다른 도구 상자에 같은 이름의 기존 함수가있을 수 있지만, _can_ 함수에 대해 중복 이름을 사용할 수 있습니다. 공식 문서에는 _ "함수 이름을 복제하면 MATLAB이 검색 경로에서 첫 번째로 발생하는 함수 이름을 실행합니다."_ –

관련 문제