English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
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
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.-
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)
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'
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
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
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
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)
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)
Die Tabelle bietet die Ableitungen häufiger Exponential-, Logarithmen- und trigonometrischer Funktionen-
Funktion | Ableitung |
---|---|
ca.x | ca.x.lnc.a(ln ist der natürliche Logarithmus) |
ex | ex |
ln x | 1/x |
lncx | 1/x.ln c |
xx | xx.(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) |
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)
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)
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)
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.
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。
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