2013-09-02 8 views
5

누군가가 설명 할 수있는 "비밀"입력 기능이 있습니다. 그 이유는 무엇일까요? 그런 일이 많은 경우가 있습니까? radon 함수의 설명 구문MATLAB "라돈 (radon)"함수에서와 같이 grandfathered 구문이란 무엇입니까?

,이 함수를 호출하는 방법은 두 가지이다 - (이미지 원하는 투사 각도) ITHETA의 입력을 가진 종래, 또한 THETA 생략하는 옵션, 및 수득 I 만 입력하십시오.

그러나 radon.m 파일 안에있는 주석에는 끝에 "grandfathered syntax"라고하는 다른 부분이 있습니다. 이렇게하면 세 개의 입력과 원하는 투영 수가 입력됩니다. 그리고, 그것은 정말로 작동합니다!

그렇다면 왜 이것이 문서화되지 않았습니까? 과거에 사용할 수 있었고 삭제되었거나 변경 되었습니까? ("grandfathered syntax"가 제안하는대로)? 그럼 왜 아직도 작동합니까?

그리고 약 radon.m 또 다른 질문 :

함수의 주요 부분이 다른 함수를 호출하여 계산되고, radonc을했다. 이게 뭐야? 그것이 어디에 있습니까? 나는 그것을 찾을 수없고 어디서나 언급 할 수 없다.

+1

내 생각에 사람들이 새로운 구문을 사용하도록 "강력하게 권장"하기 위해 문서에서 제거한 것 같습니다. 이전 버전과의 호환성을 위해 여전히 작동합니다. 따라서 이전 MATLAB 버전으로 작성된 코드는 더 새로운 MATLAB 버전에서도 작동합니다. 이 프로세스는 매우 일반적입니다. 그것은 [depracation] (http://en.wikipedia.org/wiki/Deprecation)이라고합니다. 이것은 매스 웍스가 채택한 것입니다. –

+1

두 번째 질문에 대해서는 (다시 생각해 보면) - 일부 함수 이름이 "c"로 끝날 때마다 일반적으로 C로 구현 된 다음 MEX 파일로 컴파일됨을 나타냅니다. 일부는 실행 속도를 높이기 위해 사용됩니다. 함수의 일부분. –

+0

@RodyOldenhuis 감사합니다.MEX 파일에 관하여 - 파일 자체가없는 경우 내 컴퓨터에서 어떻게 파일을 실행할 수 있습니까? 또는 나는 그것을 발견하지 않았다. ..?! – Adiel

답변

9

는 "예외 적용된은"구문은 전형적으로

  1. 문서화하는 데 사용
  2. 여전히 일부 고객은 여전히 ​​그것에 의존하기 때문에 종류의 지원 될 필요가 지원되는 구문 것을 의미하고, 매스 웍스는없는 것 코드가 깨지기를 바란다
  3. 은 더 이상 권장되지 않으므로 새로운 사용자가이 문서에 의존하기 시작할 수 없으므로
  4. 이 완전히 제거 될 수 있습니다.

radonc\toolbox\images\images\private입니다. which 명령은 해당 개인 디렉토리에 있기 때문에 찾지 못하므로 위의 디렉토리 (위의 radon 자체 포함)의 함수에서만 호출 할 수 있습니다. 이 파일은 radonc.mexw64 (다른 플랫폼에 있다면 mex 파일 확장자가 다를 수 있음)입니다. 이는 MATLAB 코드가 아니라 컴파일 된 C 코드로 구현되었음을 나타냅니다 (이 경우 사용자가 묻는 이유는 소스를 볼 수 없습니다.)

편집 : 동일한 디렉토리에 파일 radonc.m도 있습니다. mex 파일의 우선 순위가 높기 때문에이 파일은 아무 것도하지 않습니다. radonc 함수에 대한 도움말을 제공합니다. help radonc을 입력하면 radonc.m의 설명에 제공된 도움말 텍스트가 표시됩니다.

+0

이 모든 시도했지만 내 버전 (R2008a)에서 말한다 : "radonc 찾을 수 없습니다". 어쨌든 설명 된 답변을 주셔서 감사합니다 :) – Adiel

+0

설명했듯이'radonc'를 실행하려고하거나'radonc'를 입력하면 MATLAB은 찾지 못합니다. 이는 개인 디렉토리에 있기 때문에 경로 상에 존재하지 않기 때문입니다.'radon' 함수가 포함 된 바로 위의 디렉토리에있는 함수에서만 호출 할 수 있습니다. 그럼에도 불구하고 거기에 있습니다. (참고로, 나는 8a를 사용할 수 없지만, 내가 말한 모든 것이 그 버전에 해당한다고 믿는다). –

+0

나는 또한 귀하의 모든 설명이 사실이라고 믿습니다. 내가 쓴 것은 "도움말 라돈"에 관한 것이었고, 내 MATLAB이 대답했다. – Adiel