how to do differentiation?

Dear sir/madam,
I have a function y=f(x). I need to differentiate this function and find the value of the differentiation(slope) at a given point (x1,y1). How could I do this in matlab? Looking forward to hearing from you soon.
Thanking you, BSD

 采纳的回答

variant 1 use Symbolic Math Toolbox e.g.: your function f(x) = x^3+x^2*2+1
syms x
y = x^3+x^2*2+1;
df = matlabFunction(diff(y))
df =
@(x)x.*4.0+x.^2.*3.0
>> point = df(5)
point =
95
>>
variant 2 use interpolation
x = linspace(-5,5,12);
y = x.^3+x.^2*2+1;
fpp = interp1(x,y,'pchip','pp')
dfpp = fnder(fpp)
df = @(x)fnval(dfpp,x)
point = df(5)

更多回答(4 个)

doc diff

1 个评论

diff() function performs only the differentiation.
After differentiating I also need the value at a given point (x1,y1).
BSD

请先登录,再进行评论。

Walter Roberson
Walter Roberson 2011-9-6

0 个投票

subs() in the particular point values after doing the diff() .
If you need the value in the form of a double precision number instead of a symbolic number, then use double() on the result of the subs()
Jakub Rysanek
Jakub Rysanek 2016-10-4

0 个投票

If you do not have access to Symbolic Math Toolbox, you may want to use one of my recent FileExchange submissions:
Francis Kamage
Francis Kamage 2021-5-16

0 个投票

f(x)=x^2-3*x+1

1 个评论

This does not appear to be an answer to the question that was asked?

请先登录,再进行评论。

类别

在 帮助中心 和 File Exchange 中查找有关 Spline Postprocessing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by