2017-12-27 13 views
0

전 matlab에 새로 왔습니다. Matlab에서 함수의 작업 공간에서 변수를 가져 오려고합니다. 그러나 나는 그것을하지 않았다. 예를 들면 다음과 같습니다. 기능은 다음과 같습니다 나는 기능을matlab function varible definition

>> objfun 
Not enough input arguments. 

Error in objfun (line 5) 
Y = 20+x(1).^2 + 2*x(2).^2 -15*x(3); 

X 변수를 실행할 때

function Y = objfun(x) 
Y = 20+x(1).^2 + 2*x(2).^2 -15*x(3); 
end 

같은 작업 공간에 존재하는 나에게 다음과 같은 문제가되어주는 X = [4 5 7] 내가 쓰고 싶지 않아 그것은 함수의 내부. 그래서 내가 무엇을해야 할까.

어쩌면 당신을위한 아주 동쪽 질문 일지 모르지만 나는 그것을 모릅니다. 나를 도울 수 있습니까?

+0

'objfun' 대신'objfun (x)'를 입력하십시오. –

+0

예 작동하지만 실행 버튼이 작동하지 않습니다. –

+0

그러면 입력 인수가 없습니다. –

답변

1

Matlab (또는 옥타브)에서는 scripts or functions을 사용할 수 있습니다.

objfun이라는 스크립트를 만들면 찾고있는 것이 있습니다. objfun을 사용하여 호출하면 작업 영역 변수 x이 사용됩니다. 스크립트는 objfun.m으로 저장됩니다.

기능이 다릅니다. 인수를 가질 수 있지만 이러한 인수는 지역 변수입니다 (함수 내에서만 사용 가능).

함수를 정의하는 경우 인수로 호출해야합니다.

+0

Jgrocha, 글로벌 변수를 사용할 수 있습니까? –

+0

예, 전역 변수를 사용할 수 있습니다. 그러나 내부 변수가있는 함수는 사용하는 것이 훨씬 안전합니다. – jgrocha