Differentiate an inline function
古いコメントを表示
Hi!
I have an assignment in Matlab and I need to find a function's 8th and 9th derivate. This function is an inline function, as it is an input from the user.
I have been trying to use the function diff, but it tells me: «Function 'diff' is not supported for class 'inline'.»
Any ideas?
6 件のコメント
Azzi Abdelmalek
2012 年 11 月 23 日
Post your code
Jose
2012 年 11 月 23 日
Azzi Abdelmalek
2012 年 11 月 23 日
It's not clear,what do you want to do?
Walter Roberson
2012 年 11 月 23 日
Is it required that you use an inline function? Could you use a symbolic function instead? Considering that you are using the symbolic diff() routine?
Jose
2012 年 11 月 23 日
Walter Roberson
2012 年 11 月 23 日
syms x
f = sym(string_from_input);
diff(f,x,x,x,x,x,x,x,x)
採用された回答
その他の回答 (1 件)
You cannot do symbolic differentiation on inline functions. If you don't have the Symbolic Toolbox, you will have to either consider a specific family of functions and pre-analyze their derivatives. Or, if you want to do numeric differentiation,
t=linspace(0,T,N);
f = vectorize(inline(string_from_input));
result = diff(f(t),8)./( t(2)-t(1) )^8;
カテゴリ
ヘルプ センター および File Exchange で Function Creation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!