Matlab (4) - Obliczenia symboliczne
Transkrypt
Matlab (4) - Obliczenia symboliczne
Matlab (4) - Obliczenia symboliczne Pakiet Matlab może posiadać zainstalowany dodatek Symbolic Toolbox, umożliwiający obliczenia symboliczne. Wykorzystanie obliczeń symbolicznych wymaga zadeklarowania abstrakcyjnych zmiennych nie posiadających wartości. Służy do tego polecenie o postaci: syms arg1 arg2 arg 3 itd Symboliczne rozwiązywanie równań – funkcja solve() Przykład: syms x a f=a-x^2 f= a-x^2 solve(f, x) ans= a^(1/2) -a^(1/2) Symboliczne operacje macierzowe syms A a b c d e f g h A=[a b; c d] A= [ a, b] [ c, d] B=[e f ; g h] B= [ e, f] [ g, h] il_m=A*B il_m = [ a*e+b*g, a*f+b*h] [ c*e+d*g, c*f+d*h] il_e=A.*B il_e = [ a*e, b*f] [ c*g, d*h] Obliczenia na wyrażeniach symbolicznych - funkcja subs( ) Gdy znamy wartości liczbowe poszczególnych zmiennych wynik liczbowy obliczeń symbolicznych uzyskujemy wykorzystując funkcję subs . Przykład: syms a b c x % definicja 4 zmiennych symbolicznych y = solve(a*x^2+b*x+c) % rozwiązanie równania względem zmiennej x y= -1/2*(b-(b^2-4*a*c)^(1/2))/a -1/2*(b+(b^2-4*a*c)^(1/2))/a a=3; b=4; c=1; % Przypisanie wartości liczbowych a b c w = subs(y) % Obliczenie wartości liczbowej dla y w= -0.3333 -1.0000 Zadania 1. Wyprowadzić symboliczne wzory na obliczanie wyznaczników macierzy: ℎ 2. Wyjaśnić na obliczeniach symbolicznych podnoszenie do kwadratu macierzy kwadratowej: 4 3 macierzowo i elementowo. 3. Znaleźć symboliczne wyrażenia dla rozwiązań równania 4 stopnia: 2 ax +bx +cx +dx+e=0 Następnie obliczyć pierwiastki równania, wykorzystując poznaną wcześniej funkcję roots, wstawić jeden z pierwiastków do rozwiązań symbolicznych, sprawdzając rozwiązanie funkcją subs. (Dodatkowo: przedstawić znalezione wyrażenia w MS Word przy pomocy edytora równań w strukturze matematycznej). Obliczenia granic ciągów i funkcji - funkcja limit( ) Do obliczania granic na podstawie wyrażenia symbolicznego służy funkcja limit. Jej składnia może być następująca: limit(F,[zmienna],[b]) wyznaczenie granicy dla wyrażenia symbolicznego F, względem wskazanej zmiennej, granica dla zmienna→b, Uwagi: Zmienna jest opcjonalna, jeśli wyrażenie zawiera jedną zmienną. b opcjonalne, jego pominięcie oznacza granicę dla zmienna→0. limit(F,zmienna,b,'left') wyznaczenie granicy lewostronnej dla wyrażenia symbolicznego F, w punkcie b, limit(F,zmienna,b,'right') wyznaczenie granicy prawostronnej dla wyrażenia symbolicznego F, w punkcie b. Przykład Obliczenie granicy ciągu: 1 − 3 lim → 1 + syms n limit((1-3*n)/(1+n), inf) ans = -3 Uwaga: inf jest symbolem ∞ (nieskończoność) Obliczanie pochodnych funkcji - funkcja diff( ) Dla obliczenia pochodnych funkcji służy funkcja diff. Jej parametrami są: funkcja, której pochodna będzie liczona, oraz (opcjonalnie) zmienna, względem której pochodna jest liczona, także rząd pochodnej. Przykłady: Obliczenie pochodnej funkcji f(x)=x2 syms x p=diff(x^2) p= 2*x " Obliczenie pochodnej funkcji f (x, y, z )= xyz + ! cząstkowe): f=(x*y*z)^x+(1/(x*y))^2 p1=diff(f) p1 = (x*y*z)^x*(log(x*y*z)+1)-2/x^3/y^2 według każdej zmiennej (pochodne p2=diff(f,x) p2 = (x*y*z)^x*(log(x*y*z)+1)-2/x^3/y^2 p3=diff(f,y) p3 = (x*y*z)^x*x/y-2/x^2/y^3 p4=diff(f,z) p4 = (x*y*z)^x*x/z Obliczenie pochodnej #$ % &' $ " funkcji f (x, y, z )= xyz + ! : p5=diff(f,x,2) p5 = (x*y*z)^x*(log(x*y*z)+1)^2+(x*y*z)^x/x+6/x^4/y^2 Całkowanie funkcji - funkcja int( ) W Matlabie można obliczać całki za pomocą funkcji int. Jej argumentem jest funkcja symboliczna, oraz opcjonalnie zmienna całkowania oraz granice całkowania (dla całek oznaczonych). Przykłady: Obliczenie całki nieoznaczonej funkcji f(a,b)=a+b syms a x c=int(a+x) c= a*x+1/2*x^2 c=int(a+x, a) c= 1/2*a^2+a*x Obliczenie całki oznaczonej: syms x c=int(x^2,1,3) + ) * " * c= 26/3 Zadania 1. Obliczyć granicę ciągu: 2. Znaleźć pochodne funkcji: f(x)= tg2x f(x)= 1- cos3x 4" − 1 lim → 3" + − 2 f(x)= $ √'/ 3. Obliczyć symboliczny wzór na całkę nieoznaczoną funkcji: f(x)=sin2x. Zilustrować wyrażenie edytorem równań. 4. Obliczyć całkę oznaczoną funkcji f(x)=x2+1 w przedziale całkowania od -3 do 3. Wykresy funkcji symbolicznej Wykres funkcji symbolicznej i jej pochodnej można utworzyć wykorzystując funkcję ezplot o postaci: ezplot(f) ezplot(f,[xmin xmax]) Przykład: syms x f=x^2 p=diff(f) ezplot(f,[-10, 10]) hold on ezplot(p,[-10, 10])