MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn moreOpportunities for recent engineering grads.

Apply Today**New to MATLAB?**

Asked by Jose
on 23 Nov 2012

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.*

Answer by Matt J
on 23 Nov 2012

Edited by Matt J
on 23 Nov 2012

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

## Azzi Abdelmalek

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/54635#comment_113001

Post your code

## Jose

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/54635#comment_113002

f = vectorize(inline(string_from_input)); d8f = diff(f, 8); ...

## Azzi Abdelmalek

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/54635#comment_113003

It's not clear,what do you want to do?

## Walter Roberson

Direct link to this comment:http://www.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?

## Jose

Direct link to this comment:http://www.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.

## Walter Roberson

Direct link to this comment:http://www.mathworks.com/matlabcentral/answers/54635#comment_113013