how to do differentiation?

22 次查看(过去 30 天)
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

采纳的回答

Andrei Bobrov
Andrei Bobrov 2011-9-6
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 个)

Grzegorz Knor
Grzegorz Knor 2011-9-6
  1 个评论
bsd
bsd 2011-9-6
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
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
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
f(x)=x^2-3*x+1
  1 个评论
Walter Roberson
Walter Roberson 2021-5-16
This does not appear to be an answer to the question that was asked?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Spline Postprocessing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by