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?
No products are associated with this question.
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;
6 Comments
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54635#comment_113001
Post your code
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54635#comment_113002
f = vectorize(inline(string_from_input)); d8f = diff(f, 8); ...
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54635#comment_113003
It's not clear,what do you want to do?
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54635#comment_113007
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?
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54635#comment_113008
I wish, but the function is an input from the user, and I don't know any way to convert it to a symbolic one.
But if there is an alternative to the diff function, it may work.
Direct link to this comment:
http://mathworks.com/matlabcentral/answers/54635#comment_113013