2017-11-25 4 views
0

대학에서 우리는 수치 해석을 위해 Matlab을 사용했고 근원을 찾기 위해 몇 가지 방법을 연구했습니다. 뉴턴의 방법에서는 함수의 미분을 계산하지만 Matlab이 나를 위해 그것을 원했지만 미분을 취하면 함수는 (sym) 그리고 나서 값을 전달할 때 부동 값을 전달하는 것이 위험하다고 말하면 정상 익명 함수로 다시 변환 할 수있는 방법이 있습니까? 그건 내 문제를 해결하기 때문에 : DMATLAB : (sym) 함수를 익명으로 변환하는 방법은 무엇입니까?

syms x 
[email protected](x) x^2 
df=diff(f(x),x) 
f(1.2) #this is ok 
df(1.2) #not allowed 

을 나는이 많이 봤하지만 난 단지 다른 방법

+0

에 http : // 위키 .octave.org/Symbolic_package "SYMBOLIC 함수를 ANONYMOUS 함수로 변환" – Andy

+0

방금 ​​MATLAB을위한 해결책을 요구했지만 GNU Octave가 아닌 해결책을 찾았습니다. – Andy

답변

2

간단한 변환 'matlabFunction'를 사용하는 방법을 발견

syms x 
[email protected](x) x^2 
df_=diff(f(x),x); 

df=matlabFunction(df_); 
df(1.2) 
+1

(옥타브의'function_handle'도 있지만, 호환성을 위해'matlabFunction'과 동의어가 존재합니다) –