2012-11-28 2 views
1

Newton Raphson 방법으로 알려진 수치 방법을 사용하여 비선형 방정식의 근원을 찾기 위해 간단한 프로그램을 작성 했으므로 일부 지점에서 함수의 미분을 계산해야합니다. 나는 내가 접선의 기울기를 계산하는 평가 사용 다음의 유도를 문자열을 받아 반환 기능 "DIFF"를 사용컴파일시 Diff 함수가 작동하지 않습니다.

func='sin(x^2)'; 
x=4.5; 
slope=eval(diff(func)); 

코드는 다른 .fig 파일을 따라하는하는 .m 파일 내부에 . GUIDE 환경에서 또는 MATLAB의 명령 창을 통해 디버깅/실행하면 모든 것이 잘된 것처럼 보입니다. 향후 릴리스에서이 기능이 더 이상 사용되지 않을 것이라는 경고 만 있습니다. 그러나 "mcc -e file1 file2"명령을 사용하여 파일을 컴파일하고 "diff"및 경고음이있는 해당 특정 줄에 도달하면 런타임 오류가 발생하는 .exe를 실행하십시오! 응용 프로그램 파일에서도 지원되는 미분 (기호/비 숫자)을 계산하는 다른 방법이 있습니까?

답변

1

이 내용은 here입니다. 문제는 func이 아니며 diff입니다. 함수를 문자열로 정의하는 대신 사용할 수 있습니까? 가능한 경우 func을 일반 함수 파일로 만든 다음 배포 된 패키지에 포함합니다.

+0

기능은 사용자가 UI를 통해 제공하므로 정의되지 않았거나 정확한 기능입니다. – chakmeshma

+2

아, 알겠습니다. 이 경우 함수 문자열과 평가판을 사용하면 작동하지 않습니다. 계산기 스타일 인터페이스를 디자인하고 적절한 버튼을 클릭하여 표현식을 입력 시키거나 사용자 유형 표현식을 MATLAB 함수 카운터 파트로 파싱 해 볼 수 있습니다. 후자는 아프다고 들린다. – jerad

관련 문제