How do you do a derivative with a certain value?

8 Ansichten (letzte 30 Tage)
Yianni
Yianni am 24 Okt. 2014
Kommentiert: John D'Errico am 2 Dez. 2022
My initial equation is f(x) = (3*x^5)-(x^3)+(2*x^2)+4 and when I derive that, I get f'(x)=15*x^4 - 3*x^2 + 4*x. How do I evaluate f'(x) when x = 1.7?
So far I have done this:
clear all, close all
syms x f = (3*x^5)-(x^3)+(2*x^2)+4; diff(f)
This gives me the derivative, but how do I find the value of f'(x) when I have a value for x?

Akzeptierte Antwort

Geoff Hayes
Geoff Hayes am 24 Okt. 2014
Yianni - try using subs as
syms x
f = (3*x^5)-(x^3)+(2*x^2)+4;
df = diff(f);
result = double(subs(df,1.7));

Weitere Antworten (1)

John D'Errico
John D'Errico am 24 Okt. 2014
help subs
  3 Kommentare
Torsten
Torsten am 2 Dez. 2022
Bearbeitet: Torsten am 2 Dez. 2022
In this case, the derivative is the ODE expression itself.
E.g.
syms x y
dydx = x + y; % ODE is dy/dx = x + y
x0 = 1;
y0 = 2; % initial condition is y(1) = 2
dydx0 = subs(dydx,[x y],[x0 y0]) % derivative at x0 = 1 is dydx0 = x0 + y0 = 3
dydx0 = 
3
John D'Errico
John D'Errico am 2 Dez. 2022
That was not the question, to solve an ODE, or even work with one. The explicit question was asked as how to evaluate a function that you have differentiated. subs will do that.
But your question is simple to answer. Say your ODE is something easy:
y' = t^2 +2
Now evaluate the right hand side is easy.
syms y(t)
RHS = t^2 + 2;
Now you want to evaluate the right hand side for some value. Say, at t==1. You can use subs here
subs(RHS,t,1)
ans = 
3
or you can converty the relation into a MATLAB function, as:
RHSfun = matlabFunction(RHS)
RHSfun = function_handle with value:
@(t)t.^2+2.0
RHSfun(1)
ans = 3

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Symbolic Math Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by