2015-01-29 2 views
0

나는 기능이 핸들로 호출 될 때 기호 "~"수행을 무엇중요성 ~ MATLAB 함수의 기호

function [x,y] = a(z) 

을 다음과 같이 matlab에 2 개 매개 변수 (더블)을 받아들이는 기능 A가있는 경우

[x,~,y] = a[10] 

감사

+0

일반적으로 이는 3 출력 버전의 함수를 사용하지만 두 번째 출력 인수는 무시한다는 의미입니다. 그것은'[x, temp, y] = a [10]'과 같지만 변수'temp'는 생성되지 않습니다. [here] (http://es.mathworks.com/help/matlab/matlab_prog/ignore-function-outputs.html)을 참조하십시오. 그러나 귀하의 경우에는 3 출력 버전의 기능이없는 것 같습니다. 따라서 오류가 발생합니다. –

+0

고마워요. 도움이 되었으니 – Mechanic

+1

뭐든지'help ~'해봐. – horchler

답변

1

을 다음과 같이 MATLAB에서 "~"기호는 논리적 아닙니다. 기본적으로 출력/입력을 무시하는 것과 같습니다. 예를 들어, 다음과 같은 코드 라인이있는 경우 :

[out1, ~, out3] = function (vargin);

두 번째 출력은 나중에 사용하기 위해 아무 곳에 나 보관하거나 저장하지 않습니다. 자세한 정보는 명령 창에 "help ~"를 입력하십시오.

+2

''논리적으로 사용되지 않고''출력 무시 ''로 사용되는'~'사이에 개념적 연결이 있다고 생각하지 않습니다. 나는 이것을 동일한 기호의 두 가지 다른 의미로 보게 될 것이다. –

+0

아마 맞을 것이다. 나는 >>> help ~ ~ 논리가 아니다. ~ A는 입력 배열 A의 논리적 인 것을 수행하지 않는다. 논리 값 1 (TRUE) 또는 논리 값 0 (FALSE)로 설정된 요소를 포함하는 배열 을 반환합니다. A에 동일한 배열 위치에 0 번째 값 요소가 포함되어 있으면 출력 배열의 요소가 1로 설정됩니다. 소자 B = (A)가 호출되지 구문 "~ A ', A는 목적으로한다.위한 ~ 또한, 함수 정의 입력 인자를 무시하는데 사용될 수 출력 인수로 설정 함수 호출에서. 전자 "도움 punct" – willpower2727