> restart:
Różniczkowannie symboliczne
Różniczkowanie wyrażeń algebraicznych (diff )
Pochodne zwyczajne
> w:=x^x;# wyrażenie
w := xx
> Diff(w,x)=diff(w,x); # Diff - bierna wersja komendy "diff"
d
xx = xx ( ln( x ) + 1 )
dx
> Diff(w,x,x,x,x,x)=diff(w,x,x,x,x,x);
d5 10 xx ( ln( x ) + 1 )3 15 xx ( ln( x ) + 1 ) 10 xx ( ln( x ) + 1 )2 10 xx 10 xx ( ln( x ) + 1 ) 6 xx
xx = xx ( ln( x ) + 1 )5 + + - - + -
x
dx5 x2 x2 x3 x3 x4
> Diff(w,seq(x,i=1..5))=diff(w,seq(x,i=1..5)); #inny sposób
d5 10 xx ( ln( x ) + 1 )3 15 xx ( ln( x ) + 1 ) 10 xx ( ln( x ) + 1 )2 10 xx 10 xx ( ln( x ) + 1 ) 6 xx
xx = xx ( ln( x ) + 1 )5 + + - - + -
x
dx5 x2 x2 x3 x3 x4
> Diff(w,x$5)=diff(w,x$5); #jeszcze inny sposób
d5 10 xx ( ln( x ) + 1 )3 15 xx ( ln( x ) + 1 ) 10 xx ( ln( x ) + 1 )2 10 xx 10 xx ( ln( x ) + 1 ) 6 xx
xx = xx ( ln( x ) + 1 )5 + + - - + -
x
dx5 x2 x2 x3 x3 x4
Pochodne czÄ…stkowe
> W:=x^3*y^2*z;
W := x3 y2 z
> Diff(W,x)=diff(W,x);
"
( x3 y2 z ) = 3 x2 y2 z
"x
> Diff(W,y,z)=diff(W,y,z);
"2
( x3 y2 z ) = 2 x3 y
"z "y
Różniczkowanie funkcji (diff )
Pochodne zwyczajne
> f:=x->x^x; # funkcja jednej zmiennej
f := x xx
> fp:=diff(f(x),x);
fp := xx ( ln( x ) + 1 )
Wniosek: pochodna funkcji jest wyrażeniem!
Pochodne czÄ…stkowe
> F:=(x,y,z)->x^3*y^2*z;# funkcja wielu zmiennych
F := ( x, y, z) x3 y2 z
> Fx:=diff(F(x,y,z),x);
Fx := 3 x2 y2 z
> Fyz:=diff(F(x,y,z),y,z);
Fyz := 2 x3 y
> Fx;
3 x2 y2 z
Rozniczkowanie funkcji (operator D)
Pochodne zwyczajne
> f(x);
xx
> D(f); # pochodna posiadajÄ…ca cechy funkcji)
x xx ( ln( x ) + 1 )
> D(D(D(D(D(f))))); # piÄ…ta pochodna
10 xx ( ln( x ) + 1 )3 15 xx ( ln( x ) + 1 ) 10 xx ( ln( x ) + 1 )2 10 xx 10 xx ( ln( x ) + 1 ) 6 xx
x xx ( ln( x ) + 1 )5 + + - - + -
x
x2 x2 x3 x3 x4
> (D@@5)(f); # inny sposób
10 xx ( ln( x ) + 1 )3 15 xx ( ln( x ) + 1 ) 10 xx ( ln( x ) + 1 )2 10 xx 10 xx ( ln( x ) + 1 ) 6 xx
x xx ( ln( x ) + 1 )5 + + - - + -
x
x2 x2 x3 x3 x4
Pochodne czÄ…stkowe
> F(x,y,z);
x3 y2 z
> Fx:=D[1](F); # pochodna względem "x"
Fx := ( x, y, z ) 3 x2 y2 z
> Fyz:=D[2,3](F); # pochodna względem "y" i "z"
Fyz := ( x, y, z) 2 x3 y
> Fx;
Fx
> Fx(x,y,z);
3 x2 y2 z
>
Pochodna w punkcie (diff vs. D)
> f(x); # funkcja
xx
> x0:=2;
x0 := 2
> eval(diff(f(x),x),x=x0);
4 ln( 2 ) + 4
> subs(x=x0,diff(f(x),x));
4 ln( 2 ) + 4
> D(f)(x0);
4 ln( 2 ) + 4
Uwaga: opratora "D" używamy przy formułowaniu warunków początkowych podczas rozwiązywania równiań różniczkowych
>
Różniczkowanie funkcji uwiklanej typu F(x, y) = 0 na podstawie wyprowadzonych wzorów
> F:=ln(x*y)-x*sin(y);
F := ln( x y ) - x sin( y )
Fx
2
y =-
Fy
> yp1_wzor:=-normal(diff(F,x)/diff(F,y));
( -1 + x sin( y ) ) y
yp1_wzor := -
x ( -1 + x cos( y ) y )
2
2
2FFFxy - Fy Fxx -( )
Fx Fyy
( )
x y
2 2
y =
3
Fy
( )
> yp2_wzor:=normal((2*diff(F,x)*diff(F,y)*diff(F,x,y)-diff(F,y)^2*diff(F,x,x)-diff(F,x)^
2*diff(F,y,y))/diff(F,y)^3);
yp2_wzor := ( 4 x cos( y ) y - 3 x2 cos( y )2 y2 - 2 sin( y ) x2 cos( y ) y + 2 x3 cos( y )2 y2 sin( y ) - 2 + sin( y ) x y2 + 2 x sin( y )
- 2 sin( y )2 x2 y2 - sin( y )2 x2 + sin( y )3 x3 y2 ) y ( x2 ( -1 + x cos( y ) y )3 )
Inne podejście - bez znajomości wzorów
Mechanizm liczenia pochodnej funkcji złożonej
> diff(G(x,y(x)),x);
ëÅ‚ d öÅ‚
ìÅ‚ ÷Å‚
D1( G )( x, y( x ) ) + D2( G )( x, y( x ) ) y( x )
ìÅ‚ ÷Å‚
íÅ‚ dx Å‚Å‚
> isolate(diff(G(x,y(x)),x)=0,diff(y(x),x));
D1( G )( x, y( x ) )
d
y( x ) = -
dx D2( G )( x, y( x ) )
> yp1:=rhs(%);
D1( G )( x, y( x ) )
yp1 := -
D2( G )( x, y( x ) )
> for i to 3 do yp||(i+1):=normal(subs(diff(y(x),x)=yp1,diff(yp||i,x)));
end do;
2
yp2 := - ( D1, 1( G )( x, y( x ) ) D2( G )( x, y( x ) ) - 2 D2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) )
2 3
+ D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) ) D2( G )( x, y( x ) )
4 3
yp3 := ( -D2( G )( x, y( x ) ) D1, 1, 1( G )( x, y( x ) ) + 3 D2( G )( x, y( x ) ) D1, 1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) )
2 2 3
- 3 D2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D1, 2, 2( G )( x, y( x ) ) + D2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D2, 2, 2( G )( x, y( x ) )
3
+ 3 D1, 1( G )( x, y( x ) ) D2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) )
2
- 3 D1, 1( G )( x, y( x ) ) D2( G )( x, y( x ) ) D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) )
2 2
- 6 D2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) )
2 2 3
+ 9 D2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D2, 2( G )( x, y( x ) ) - 3 D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) )
5
D2( G )( x, y( x ) )
5 4 2
yp4 := ( 6 D1, 1( G )( x, y( x ) ) D2( G )( x, y( x ) ) D1, 1, 2( G )( x, y( x ) ) - 6 D2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D1, 1, 2, 2( G )( x, y( x ) )
3 3 2 4
+ 4 D2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D1, 2, 2, 2( G )( x, y( x ) ) - D2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D2, 2, 2, 2( G )( x, y( x ) )
5 4 2
+ 4 D2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D1, 1, 1, 2( G )( x, y( x ) ) - 12 D2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D1, 1( G )( x, y( x ) )
3 3 5
+ 24 D2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) + 4 D2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D1, 1, 1( G )( x, y( x ) )
2 4 6
- 3 D1, 1( G )( x, y( x ) ) D2( G )( x, y( x ) ) D2, 2( G )( x, y( x ) ) - D2( G )( x, y( x ) ) D1, 1, 1, 1( G )( x, y( x ) )
3 4 4
- 15 D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) - 12 D1, 1( G )( x, y( x ) ) D2( G )( x, y( x ) ) D1, 2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) )
2 2 2
- 18 D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D1, 1( G )( x, y( x ) ) D2( G )( x, y( x ) )
4
- 24 D2( G )( x, y( x ) ) D1, 1, 2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) )
3 2
- 24 D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D1, 2, 2( G )( x, y( x ) ) D2( G )( x, y( x ) )
4
- 4 D2( G )( x, y( x ) ) D1, 1, 1( G )( x, y( x ) ) D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) )
3 2
- 16 D1( G )( x, y( x ) ) D2, 2, 2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D2( G )( x, y( x ) )
3 2
+ 18 D2( G )( x, y( x ) ) D1, 1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D2, 2( G )( x, y( x ) )
3 2
+ 36 D2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D1, 2, 2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) )
3 2
+ 6 D2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D2, 2, 2( G )( x, y( x ) ) D1, 1( G )( x, y( x ) )
2 2 2
- 72 D1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D2( G )( x, y( x ) ) D2, 2( G )( x, y( x ) )
4
+ 10 D2( G )( x, y( x ) ) D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D2, 2, 2( G )( x, y( x ) )
3 2
+ 60 D2( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D2, 2( G )( x, y( x ) )
3 7
+ 36 D1, 1( G )( x, y( x ) ) D2( G )( x, y( x ) ) D2, 2( G )( x, y( x ) ) D1( G )( x, y( x ) ) D1, 2( G )( x, y( x ) ) ) D2( G )( x, y( x ) )
Zastosowanie
> F:=ln(x*y(x))-x*sin(y(x));
F := ln( x y( x ) ) - x sin( y( x ) )
> yp1:=simplify(rhs(isolate(diff(F,x)=0,diff(y(x),x)))); # pochodna y'(x)
y( x ) ( x sin( y( x ) ) - 1 )
yp1 := -
x ( -1 + x cos( y( x ) ) y( x ) )
> for i to 9 do
yp||(i+1):=normal(subs(diff(y(x),x)=yp1,diff(yp||i,x)));
end do:
> yp2;
y( x ) ( -sin( y( x ) )2 x2 + 2 x sin( y( x ) ) - 2 sin( y( x) ) x2 cos( y( x ) ) y( x ) - 2 + 4 x cos( y( x ) ) y( x ) - 3 cos( y( x ) )2 y( x )2 x2
+ 2 sin( y( x ) ) x3 cos( y( x ) )2 y( x )2 + x3 y( x )2 sin( y( x ) )3 - 2 x2 y( x )2 sin( y( x ) )2 + x y( x )2 sin( y( x ) ) ) ( x2
( -1 + x cos( y( x ) ) y( x ) )3 )
> subs(y(x)=y,yp2);
( 4 x cos( y ) y - 3 x2 cos( y )2 y2 - 2 sin( y ) x2 cos( y ) y + 2 x3 cos( y )2 y2 sin( y ) - 2 + sin( y) x y2 + 2 x sin( y ) - 2 sin( y )2 x2 y2
- sin( y )2 x2 + sin( y )3 x3 y2 ) y ( x2 ( -1 + x cos( y) y )3 )
> yp2_wzor; # sprawdzenie ze wzorem
( 4 x cos( y ) y - 3 x2 cos( y )2 y2 - 2 sin( y ) x2 cos( y ) y + 2 x3 cos( y )2 y2 sin( y ) - 2 + sin( y) x y2 + 2 x sin( y ) - 2 sin( y )2 x2 y2
- sin( y )2 x2 + sin( y )3 x3 y2 ) y ( x2 ( -1 + x cos( y) y )3 )
> subs(y(x)=y,yp10);
Wzory różnicowe
1. Wyprowadzanie wzorów różnicowych z wielomianu interpolacyjnego uzyskanego za pomocą komendy
"interp"
Stopnień wielomianu
> m:=2; # 2,3,4,5 - stopień wielomianu
m := 2
> X:=array(0..m,[seq(x[0]+h*i ,i=0..m)]); # węzły interpolacji
X := array(0 .. 2, [
( 0 ) = x0
( 1 ) = x0 + h
( 2 ) = x0 + 2 h
])
> Y:=array(0..m,[seq(y[i],i=0..m)]); # wartości funkcji dyskretnej
Y := array(0 .. 2, [
( 0 ) = y0
( 1 ) = y1
( 2 ) = y2
])
Wielomian interpolacyjny w(z)
> w:=interp(X,Y,z);
( y2 - 2 y1 + y0 ) z2 1 ( 4 y1 x0 - 3 h y0 - 2 y2 x0 - y2 h + 4 hy1 - 2 y0 x0 ) z
1
w := +
2 2
h2 h2
2 2 2
hy2 x0 + 3 hy0 x0 + y2 x0 - 2 y1 x0 + y0 x0 - 4 hy1 x0 + 2 h2 y0
1
+
2
h2
Sprawdzenie czy w(x[i]) = y[i]
> for i from 0 to m do
simplify(eval(w,z=X[i]));
end do;
y0
y1
y2
Pierwsza pochodna wielomianu interpolacyjnego
> wprim:=diff(w,z);
( y2 - 2 y1 + y0 ) z 4 y1 x0 - 3 hy0 - 2 y2 x0 - y2 h + 4 hy1 - 2 y0 x0
1
wprim := +
2
h2 h2
Druga pochodna
> wbis:=diff(w,z,z);
y2 - 2 y1 + y0
wbis :=
h2
Wzory różnicowe określające pierwsze pochodne w punktach interpolacji
> for i from 0 to m do d1ydx1[i]:=simplify(eval(wprim, z=x[0]+i*h)) end do;
3 y0 + y2 - 4 y1
1
d1ydx10 := -
2 h
-y2 + y0
1
d1ydx11 := -
2 h
3 y2 - 4 y1 + y0
1
d1ydx12 :=
2 h
Wzory różnicowe określające drugie pochodne w punktach interpolacji
> for i from 0 to m do d2ydx2[i]:=simplify(eval(wbis, z=x[0]+i*h)) end do;
y2 - 2 y1 + y0
d2ydx20 :=
h2
y2 - 2 y1 + y0
d2ydx21 :=
h2
y2 - 2 y1 + y0
d2ydx22 :=
h2
>
2. Wyprowadzanie wzorów różnicowych ze wzoru opartego na wielomianie interpolacyjnym Lagrange'a
>
m - stopień wielomianu interpolacyjnego (m = n - 1), n - liczba punktów
r - rzÄ…d pochodnej (r <= m)
i - punkt obliczeniowy
m
Å„Å‚üÅ‚
îÅ‚Å‚Å‚
ôÅ‚ "(t - j)śł ôÅ‚
ïÅ‚
r
m
1 (-1)m+k yk d
j=0
ïłśł
yi(r ) =
òłżł
"ôÅ‚ôÅ‚
r
hr k =0 ôÅ‚k!(m - k)! d t ïÅ‚ t - k śł
t=i
ôÅ‚
ïłśł
ôÅ‚ôÅ‚
ðÅ‚ûÅ‚
ółþÅ‚
> m:=2; r:=1;y:=array(0..m):
m := 2
r := 1
> for i from 0 to m do
d||r||ydx||r[i]:=simplify(1/(h^r)*add((-1)^(m+k)*y[k]/k!/(m-k)!*subs(t=i,diff(mul((t-j
),j=0..m)/
(t-k),t$r)),k=0..m));
end do;
3 y0 + y2 - 4 y1
1
d1ydx10 := -
2 h
-y2 + y0
1
d1ydx11 := -
2 h
3 y2 - 4 y1 + y0
1
d1ydx12 :=
2 h
Sprawdzenie sumy współczynników w licznikach wzorów różnicowych
> d||r||ydx||r[m];
3 y2 - 4 y1 + y0
1
2 h
> numer(d||r||ydx||r[m]);
3 y2 - 4 y1 + y0
> coeff(numer(d||r||ydx||r[m]),y[m]);
3
> for k from 0 to m do add(coeff(numer(d||r||ydx||r[k]),y[i]),i=0..m); end do;
Wyszukiwarka
Podobne podstrony:
w15w15w15W15 Kodowanie i Kryptografia kody splotowe?leE Pawlowski wyklad ME EINS 2013 w15W15(1)W15anl1 w15 zima2012W15 Pochodne i cząstkowew15 aw152010 w15 Magnetyzm cz Ibal w15w15 tablice obiektowMicrosoft Word W15 funkcje 2 zmiennych i ekstremawięcej podobnych podstron