English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MATLABDifferential

MATLABbietetdiffdiff

Befehl zur Berechnung symbolischer Ableitungen. In seiner einfachsten Form wird die zu differenzierende Funktion als Parameter an den diff-Befehl übergeben. 3t 2 + 2t -2

Zum Beispiel, lassen Sie uns die Ableitung der Funktion f(t) = berechnen

Create a script file and enter the following code-

syms t
f = 3*t^2 + 2*t^(-2Nach dem Kompilieren und Ausführen des obigen Codes wird das folgende Ergebnis erzeugt
Online-Beispiel

diff(f)-

ans=
6*t - 4/t^3

Hier ist das Octave Äquivalent der obigen Berechnung-

pkg load symbolic
symbols
t = sym("t");
f = 3*t^2 + 2*t^(-2Nach dem Kompilieren und Ausführen des obigen Codes wird das folgende Ergebnis erzeugt
);

Octave führt den Code aus und gibt folgende Ergebnisse zurück-

ans=
   -(4.0)*t^(-3.0)+(6.0)*t

differentiate(f,t)

Verifizierung der grundlegenden Regeln

Lassen Sie uns kurz erläutern, welche Regeln für die Differenzierung verwendet werden und diese Regeln überprüfen. Dazu werden wir für die erste Ableitung f'(x) und für die zweite Ableitung f“(x)” schreiben.-

Hier sind die Unterscheidungsregeln1

Regel-

für jede Funktion f und g sowie für jede reelle Zahl a und b ist die Ableitung dieser Funktion + h(x) = af(x) bg(x)-

im Verhältnis zu x durch + h'(x) = af'(x)

bg'(x)

Regel IIundSummenregelSubtraktionsregel

Die Regel besagt, dass, wenn f und g zwei Funktionen sind, f’ und g’ ihre Ableitungen sind, dannf + ( + g)' = f'

(f - ( - g)' = f'

g'

ProduktregelDie Regel besagt, dass, wenn f und g zwei Funktionen sind, dann f' und g' ihre Ableitungen sind, dann

(f.g)' = f'.g + g'.f

Regel IV

KohärentionsregelDie Regel besagt, dass, wenn f und g zwei Funktionen sind, dann f' und g' ihre Ableitungen sind, dann

(f/g)' = (f'.g - g'.f)/g2

Regel V

polynomialoder die grundlegende Regel der Potenz besagt, wenn, danny = f(x) = xnf' = n. x(n-1)

Die direkte Folge dieser Regel ist, dass die Ableitung jeder Konstante Null ist, d.h., wenny = k, jede Konstante, dann

f' = 0

Regel VI

KettenregelDie Regel besagt, dass die Ableitung einer Funktion einer Funktion im Verhältnis zu x ist:h(x) = f(g(x))

h'(x) = f'(g(x)).g'(x)

Beispiel

Create a script file and enter the following code-

syms x
syms t
f = (x + 2)*(x^2 + 3)
der1 = differenzieren(f)
f = (t^2 + 3)*(sqrt(t) + t^3)
der2 = differenzieren(f)
f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2)
der3 = differenzieren(f)
f = (2*x^2 + 3*x)/(x^3 + 1)
der4 = differenzieren(f)
f = (x^2 + 1))17
der5 = differenzieren(f)
f = (t^3 + 3* t^2 + 5*t -9))^(-6)
der6 = differenzieren(f)

When running the file, MATLAB displays the following result-

f =
   (x^2 + 3)*(x + 2)
 
   der1 =
   2*x*(x + 2) + x^2 + 3
  
f =
   (t^(1/2) + t^3)*(t^2 + 3)
 
   der2 =
   (t^2 + 3)*(3*t^2 + 1/(2*t^(1/2)) + 2*t*(t^(1/2) + t^3)
  
f =
   (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2)
  
der3 =
   (2*x - 2)*(3*x^3 - 5*x^2 + 2) - (- 9*x^2 + 10*x)*(x^2 - 2*x + 1)
 
f =
   (2*x^2 + 3*x)/(x^3 + 1)
  
der4 =
   (4*x + 3)/(x^3 + 1) - (3*x^2*(2*x^2 + 3*x))/(x^3 + 1))2
  
f =
   (x^2 + 1))17
  
der5 =
   34*x*(x^2 + 1))16
  
f =
   1/(t^3 + 3*t^2 + 5*t - 9))6
  
der6 =
   -(6*(3*t^2 + 6*t + 5))/(t^3 + 3*t^2 + 5*t - 9))7

Hier ist das Octave Äquivalent der obigen Berechnung-

pkg load symbolic
symbols
x = sym("x");
t = sym("t");
f = (x + 2)*(x^2 + 3) 
der1 = differenzieren(f,x) 
f = (t^2 + 3)*(t^(1/2) + t^3) 
der2 = differenzieren(f,t) 
f = (x^2 - 2*x + 1)*(3*x^3 - 5*x^2 + 2) 
der3 = differenzieren(f,x) 
f = (2*x^2 + 3*x)/(x^3 + 1) 
der4 = differenzieren(f,x) 
f = (x^2 + 1))17 
der5 = differenzieren(f,x) 
f = (t^3 + 3* t^2 + 5*t -9))^(-6) 
der6 = differenzieren(f,t)

Octave führt den Code aus und gibt folgende Ergebnisse zurück-

f =
(2.0+x)*(3.0+x^(2.0))
der1 =
3.0+x^(2.0)+(2.0)*(2.0+x)*x
f =
(t^(3.0)+sqrt(t))*(3.0+t^(2.0))
der2 =
(2.0)*(t^(3.0)+sqrt(t))*t+((3.0)*t^(2.0)+(0.5)*t^(-0.5))*(3.0+t^(2.0))
f =
(1.0+x^(2.0)-(2.0)*x)*(2.0-(5.0)*x^(2.0)+(3.0)*x^(3.0))
der3 =
(-2.0+(2.0)*x)*(2.0-(5.0)*x^(2.0)+(3.0)*x^(3.0))+((9.0)*x^(2.0)-(10.0)*x)*(1.0+x^(2.0)-(2.0)*x)
f =
(1.0+x^(3.0)^(-1)*((2.0)*x^(2.0)+(3.0)*x)
der4 =
(1.0+x^(3.0)^(-1)*(3.0+(4.0)*x)-(3.0)*(1.0+x^(3.0)^(-2)*x^(2.0)*((2.0)*x^(2.0)+(3.0)*x)
f =
(1.0+x^(2.0)^(17.0)
der5 =
(34.0)*(1.0+x^(2.0)^(16.0)*x
f =
(-9.0+(3.0)*t^(2.0)+t^(3.0)+(5.0)*t)^(-6.0)
der6 =
-(6.0)*(-9.0+(3.0)*t^(2.0)+t^(3.0)+(5.0)*t)^(-7.0)*(5.0+(3.0)*t^(2.0)+(6.0)*t)

Ableitungen von Exponential-, Logarithmen- und trigonometrischen Funktionen

Die Tabelle bietet die Ableitungen häufiger Exponential-, Logarithmen- und trigonometrischer Funktionen-

Funktion
Ableitung
ca.xca.x.lnc.a(ln ist der natürliche Logarithmus)
exex
ln x1/x
lncx1/x.ln c
xxxx.(1 + ln x)
sin(x)cos(x)
cos(x)-sin(x)
tan(x)sec2(x), oder  1/cos2(x), oder  1 + tan2(x)
cot(x)-csc2(x), oder  -1/sin2(x), oder -(1 + cot2(x))
sec(x)sec(x).tan(x)
csc(x)-csc(x).cot(x)

Beispiel

Create a script file and enter the following code-

syms x
y = exp(x)
diff(y)
y = x^9
diff(y)
y = sin(x)
diff(y)
y = tan(x)
diff(y)
y = cos(x)
diff(y)
y = log(x)
diff(y)
y = log10(x)
diff(y)
y = sin(x)^2
diff(y)
y = cos(3*x^2 + 2*x + 1)
diff(y)
y = exp(x)/sin(x)
diff(y)

When running the file, MATLAB displays the following result-

y =
   exp(x)
   ans=
   exp(x)
y =
   x^9
   ans=
   9*x^8
  
y =
   sin(x)
   ans=
   cos(x)
  
y =
   tan(x)
   ans=
   tan(x)^2 + 1
 
y =
   cos(x)
   ans=
   -sin(x)
  
y =
   log(x)
   ans=
   1/x
  
y =
   log(x)/log(10)
   ans=
   1/(x*log(10))
 
y =
   sin(x)^2
   ans=
   2*cos(x)*sin(x)
 
y =
   cos(3*x^2 + 2*x + 1)
   ans=
   -sin(3*x^2 + 2*x + 1)*(6*x + 2)
  
y =
   exp(x)/sin(x)
   ans=
   exp(x)/sin(x) - (exp(x)*cos(x))/sin(x)^2

Hier ist das Octave Äquivalent der obigen Berechnung-

pkg load symbolic
symbols
x = sym("x");
y = Exp(x)
differentiate(y,x)
y = x^9
differentiate(y,x)
y = Sin(x)
differentiate(y,x)
y = Tan(x)
differentiate(y,x)
y = Cos(x)
differentiate(y,x)
y = Log(x)
differentiate(y,x)
% The symbolic package does not support this feature
%y = Log10(x)
%differentiate(y,x)
y = Sin(x)^2
differentiate(y,x)
y = Cos(3*x^2 + 2*x + 1)
differentiate(y,x)
y = Exp(x)/Sin(x)
differentiate(y,x)

Octave führt den Code aus und gibt folgende Ergebnisse zurück-

y =
exp(x)
ans=
exp(x)
y =
x^(9.0)
ans=
(9.0)*x^(8.0)
y =
sin(x)
ans=
cos(x)
y =
tan(x)
ans=
1+tan(x)^2
y =
cos(x)
ans=
-sin(x)
y =
log(x)
ans=
x^(-1)
y =
sin(x)^(2.0)
ans=
(2.0)*sin(x)*cos(x)
y =
cos(1.0+(2.0)*x+(3.0)*x^(2.0))
ans=
-(2.0+(6.0)*x)*sin(1.0+(2.0)*x+(3.0)*x^(2.0))
y =
sin(x)^(-1)*exp(x)
ans=
sin(x)^(-1)*exp(x)-sin(x)^(-2)*cos(x)*exp(x)

Calculate higher-order derivatives

To calculate the higher-order derivatives of the function f, we use the syntaxdiff(f,n)

Let's calculate the second derivative of the function y = f(x) = x. -3x

f = x*exp(-3*x);
diff(f, 2)

MATLABführtCodeaus und gibt das folgende Ergebnis zurück-

ans=
9*x*exp(-3*x) - 6*exp(-3*x)

Hier ist das Octave Äquivalent der obigen Berechnung-

pkg load symbolic
symbols
x = sym("x");
f = x*Exp(-3*x);
differentiate(f, x, 2)

Octave führt den Code aus und gibt folgende Ergebnisse zurück-

ans=
(9.0)*exp(-(3.0)*x)*x-(6.0)*exp(-(3.0)*x)

Beispiel

In this example, let's solve a problem. Given a function. We will have to find out if the equation holds.y = f(x) = 3 sin(x) + 7 cos(5x)f" + f = -5cos(2x)

Create a script file and enter the following code-

syms x
y = 3*sin(x)+7*cos(5*x);  % Defining the function
lhs = diff(y,2)+y;        % Evaluating the lhs of the equation
rhs = -5*cos(2*x);        % rhs of the equation
if(isequal(lhs,rhs))
   disp('Ja, die Gleichung ist wahr');
else
   disp('Nein, die Gleichung ist nicht wahr');
end
disp('Wert des LHS ist: '), disp(lhs);

When running the file, it displays the following result-

Nein, die Gleichung ist nicht wahr
Wert des LHS ist: 
-168*cos(5*x)

Hier ist das Octave Äquivalent der obigen Berechnung-

pkg load symbolic
symbols
x = sym("x");
y = 3*Sin(x)+7*Cos(5*x);           % Defining the function
lhs = differentiate(y, x, 2) + y;  % Calculating equation lhs
rhs = -5*Cos(2*x);                 % Equation rhs
if(lhs == rhs)
   disp('Ja, die Gleichung ist wahr');
else
   disp('Nein, die Gleichung ist nicht wahr');
end
disp('Wert des LHS ist: '), disp(lhs);

Octave führt den Code aus und gibt folgende Ergebnisse zurück-

Nein, die Gleichung ist nicht wahr
Wert des LHS ist: 
-(168.0)*cos((5.0)*x)

Berechnen Sie das Maximum und Minimum der Kurve

Wenn Sie lokale Maxima und Minima im Diagramm suchen möchten, bedeutet das im Grunde, dass Sie nach dem höchsten oder niedrigsten Punkt im spezifischen Bereich von Positionen oder Symbolvariablenwerten auf der Funktionsskizze suchen.

Für die Funktion y = f(x) werden Punkte im Diagramm mit Null Steigung alsstationäre Punkte(驻点/Kritische Punkte). Mit anderen Worten, Fixpunkte sind f'(x) = 0.

Um die Stationärpunkte der Funktion, deren Ableitung wir suchen, zu finden, müssen wir die Ableitung auf Null setzen und die Gleichung lösen.

Beispiel

Lassen Sie uns den Fixpunkt der Funktion f(x) = finden. 2x 3 + 3x 2 − 12x + 17

Nehmen Sie folgende Schritte vor-

Lassen Sie uns zunächst in die Funktion eintauchen und ihr Diagramm zeichnen.

syms x
y = 2*x^3 + 3*x^2 - 12*x + 17; %defining the function
ezplot(y)

MATLAB führt den Code aus und gibt folgende Diagramme zurück-

Dies ist das Octave Äquivalent des obigen Beispiels-

pkg load symbolic
symbols
x = sym('x');
y = inline("2*x^3 + 3*x^2 - 12*x + 17]);
ezplot(y)
print -deps graph.eps

Unser Ziel ist es, einige lokale Maxima und Minima im Diagramm zu finden, also lassen Sie uns den Intervall [-2,2] die lokalen Maxima und Minima.

syms x
y = 2*x^3 + 3*x^2 - 12*x + 17; % defining the function
ezplot(y, [-2, 2]

MATLAB führt den Code aus und gibt folgende Diagramme zurück-

Dies ist das Octave Äquivalent des obigen Beispiels-

pkg load symbolic
symbols
x = sym('x');
y = inline("2*x^3 + 3*x^2 - 12*x + 17]);
ezplot(y, [-2, 2]
print -deps graph.eps

Nun, lassen Sie uns die Ableitung berechnen.

g = diff(y)

MATLABführtCodeaus und gibt das folgende Ergebnis zurück-

g =
   6*x^2 + 6*x - 12

Dies ist das Oktavband der obigen Berechnung-

pkg load symbolic
symbols
x = sym("x");
y = 2*x^3 + 3*x^2 - 12*x + 17;
g = differentiate(y, x)

Octave führt den Code aus und gibt folgende Ergebnisse zurück-

g =
   -12.0+(6.0)*x+(6.0)*x^(2.0)

Lassen Sie uns die Ableitungsfunktion g lösen, um die Werte zu erhalten, bei denen sie Null wird.

s = solve(g)

MATLABführtCodeaus und gibt das folgende Ergebnis zurück-

s=
   1
   -2

Hier ist das Octave Äquivalent der obigen Berechnung-

pkg load symbolic
symbols
x = sym("x");
y = 2*x^3 + 3*x^2 - 12*x + 17;
g = differentiate(y, x)
roots([6, 6, -12]

Octave führt den Code aus und gibt folgende Ergebnisse zurück-

g =
-12.0+(6.0)*x^(2.0)+(6.0)*x
ans=
  -2
   1

Dies ist konsistent mit unserem Diagramm, also lassen Sie uns am kritischen Punkt x = 1,-2um die Funktion f zu berechnen.

subs(y, 1), subs(y, -2)

MATLABführtCodeaus und gibt das folgende Ergebnis zurück-

ans=
   10
ans=
   37

Hier ist das Octave Äquivalent der obigen Berechnung-

pkg load symbolic
symbols
x = sym("x");
y = 2*x^3 + 3*x^2 - 12*x + 17;
g = differentiate(y, x)
roots([6, 6, -12]
subs(y, x, 1), subs(y, x, -2)
ans=
   10.0
ans=
   37.0-4.6734207789940138748E-18*I

Daher ist der kleinste und größte Wert der Funktion f(x) gleich = 2x 3 + 3x 2 − 12x + 17,in[-2,2]Intervall ist10und37。

Lösung von Differentialgleichungen

MATLABbietetdsolveist der Befehl zur symbolischen Lösung von Differentialgleichungen.

dsolveDer einfachste Formular der Befehl, um die Lösung eines einzelnen Gleichungsproblems zu finden, ist

dsolve('eqn')

wobeieqnist der Textstring, der zur Eingabe der Gleichung verwendet wird.

Es gibt die symbolische Lösung mit einer Gruppe von beliebigen Konstanten zurück, die MATLAB als C markiert1,C2等。

Sie können auch die Anfangs- und Randbedingungen des Problems als Komma-getrennte Liste nach dem Gleichungszeichen angeben-

dsolve('eqn','cond1', 'cond2',…)

Zum Zweck der Verwendung des Befehls dsolve wird der Ableitungsterm mit D dargestellt. Zum Beispiel, wie f'(t)= -2 * f +Diese Gleichung cost(t) wird als-

'Df= -2*f + cos(t)'

Höhere Ableitungen werden durch die Reihenfolge der Ableitungen nach D dargestellt.

Zum Beispiel, die Gleichung f“(x)+ 2f'(x)= 5sin3x sollte als-

'D2y + 2Dy= 5*sin(3*x)'

Lassen Sie uns ein einfaches Beispiel für eine erste Ableitungsungleichung nennen:y'= 5y。

s=dsolve('Dy= 5*y')

MATLABführtCodeaus und gibt das folgende Ergebnis zurück-

s=
   C2*exp(5*t)

Lassen Sie uns einen anderen Beispiel für eine zweite Ableitungsungleichung nennen:y“-y=0,y= -1,y'= 2。

dsolve('D2y - y=0','y(0)= -1','Dy(0)= 2)

MATLABführtCodeaus und gibt das folgende Ergebnis zurück-

ans=
   exp(t)/2 - (3*exp(-t))/2