How do you do a derivative with a certain value?

8 vues (au cours des 30 derniers jours)
Yianni
Yianni le 24 Oct 2014
Commenté : John D'Errico le 2 Déc 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?

Réponse acceptée

Geoff Hayes
Geoff Hayes le 24 Oct 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));

Plus de réponses (1)

John D'Errico
John D'Errico le 24 Oct 2014
help subs
  3 commentaires
Torsten
Torsten le 2 Déc 2022
Modifié(e) : Torsten le 2 Déc 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 le 2 Déc 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by