Symbolische Afgeleiden Berekenen in MATLAB met diff
MATLAB's diff commando berekent symbolische afgeleiden. Basisvorm: diff(f).
Voorbeeld: Eerste Afgeleide
syms t f = 3*t^2 + 2*t^(-2); diff(f) % ans = 6*t - 4/t^3
Octave equivalent: differentiate(f,t).
Verificatie Differentiatie Regels
Regels (f' = eerste afgeleide, f'' = tweede):
- Lineariteit: (af + bg)' = a f' + b g'
- Som/Verschil: (f ± g)' = f' ± g'
- Product: (f·g)' = f'·g + g'·f
- Quotiënt: (f/g)' = (f'·g - g'·f)/g²
- Macht: (xⁿ)' = n·xⁿ⁻¹, constante afgeleide = 0
- Kettingregel: (f(g(x)))' = f'(g(x))·g'(x)
Voorbeelden met diff
syms x t f = (x + 2)*(x^2 + 3); diff(f) % 2*x*(x+2) + x^2 + 3 f = (t^2 + 3)*(sqrt(t) + t^3); diff(f) % productregel f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2); diff(f) f = (2*x^2 + 3*x)/(x^3 + 1); diff(f) % quotiëntregel f = (x^2 + 1)^17; diff(f) % 34*x*(x^2+1)^16 (kettingregel) f = (t^3 + 3*t^2 + 5*t - 9)^(-6); diff(f) % kettingregel
Afgeleiden van Exponentiële, Logaritmische & Trigonometrische Functies
| Functie | Afgeleide |
|---|---|
| c^(a·x) | c^(a·x)·ln(c)·a |
| e^x | e^x |
| ln x | 1/x |
| log_c x | 1/(x·ln c) |
| x^x | x^x·(1 + ln x) |
| sin(x) | cos(x) |
| cos(x) | -sin(x) |
| tan(x) | sec²(x) = 1+tan²(x) |
| cot(x) | -csc²(x) |
| sec(x) | sec(x)·tan(x) |
| csc(x) | -csc(x)·cot(x) |
Voorbeelden
syms x y = exp(x); diff(y) % exp(x) y = x^9; diff(y) % 9*x^8 y = sin(x); diff(y) % cos(x) y = tan(x); diff(y) % tan(x)^2 + 1 y = cos(x); diff(y) % -sin(x) y = log(x); diff(y) % 1/x y = log10(x); diff(y) % 1/(x*log(10)) y = sin(x)^2; diff(y) % 2*cos(x)*sin(x) y = cos(3*x^2+2*x+1); diff(y) % -sin(...)*(6*x+2) y = exp(x)/sin(x); diff(y) % exp(x)/sin(x) - exp(x)*cos(x)/sin(x)^2
Hogere-Orde Afgeleiden
Syntax: diff(f, n) voor n-de afgeleide.
f = x*exp(-3*x); diff(f, 2) % 9*x*exp(-3*x) - 6*exp(-3*x)
Toepassing: Vergelijking Controleren
Gegeven y = 3 sin(x) + 7 cos(5x). Geldt y'' + y = -5 cos(2x)?
syms x y = 3*sin(x) + 7*cos(5*x); lhs = diff(y,2) + y; rhs = -5*cos(2*x); isequal(lhs, rhs) % false % LHS = -168*cos(5*x)
Maxima & Minima Vinden
Stationaire punten: f'(x) = 0. Stappen:
- Functie invoeren en plotten
- Afgeleide berekenen:
g = diff(y) - Oplossen:
s = solve(g) - Waarden evalueren met
subs(y, x_waarde)
Voorbeeld: f(x) = 2x³ + 3x² - 12x + 17 op [-2, 2]
syms x y = 2*x^3 + 3*x^2 - 12*x + 17; ezplot(y, [-2, 2]) g = diff(y) % 6*x^2 + 6*x - 12 s = solve(g) % 1, -2 subs(y, 1) % 10 (minimum) subs(y, -2) % 37 (maximum)
Differentiaalvergelijkingen Oplossen
dsolve lost differentiaalvergelijkingen symboolachtig op.
Notatie: D = eerste afgeleide, D2 = tweede, etc.
dsolve('Dy = 5*y')→ C2·exp(5t)dsolve('D2y - y = 0', 'y(0) = -1', 'Dy(0) = 2')→ exp(t)/2 - 3·exp(-t)/2
MATLAB
- Wat is een differentieel? Functie, typen en onderhoud begrijpen
- Differentieelolie Uitgelegd: Doel, Typen en Onderhoud
- MATLAB: Uitgebreid Overzicht van een Leidende Numerieke Rekenomgeving
- MATLAB Datatypes: Uitgebreide Gids
- MATLAB Operatoren: Complete Gids voor Rekenkundige, Logische en Bitwise Operaties
- MATLAB Matrix Basis: Data Aanmaken, Benaderen en Manipuleren
- MATLAB: Multidimensionale en Speciale Arrays Beheersen
- MATLAB Dubbele Punt Notatie: Vectors Maken & Efficiënt Itereren
- MATLAB Getallen: Typen, Opslag en Conversie
- MATLAB Strings: Maken, Manipuleren en Functies
- MATLAB Functies: Definitie, Werkruimte, In- en Outputs