1 / 20

Sortowanie Obliczenia symboliczne - Symbolic ToolBox

MOiPP. Wykład 4. Matlab. Sortowanie Obliczenia symboliczne - Symbolic ToolBox. Sortowanie bąbelkowe. Porównywanie kolejnych par elementów sąsiadujących i zamiana miejscami w przypadku niew ł a ś ciwej kolejno ś ci. 1 2 3 4 ..... N. N-1 porównań. Wykonujemy N przebiegów.

lixue
Download Presentation

Sortowanie Obliczenia symboliczne - Symbolic ToolBox

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MOiPP Wykład 4 Matlab Sortowanie Obliczenia symboliczne - SymbolicToolBox

  2. Sortowanie bąbelkowe Porównywanie kolejnych par elementów sąsiadujących i zamianamiejscami w przypadku niewłaściwej kolejności 1 2 3 4 ..... N N-1 porównań Wykonujemy N przebiegów Sortowanie bąbelkowe skrócone Przebiegów wykonujemy N-1 W każdym kolejnym przebiegu liczba analizowanych par jest zmniejszana o 1, a

  3. 1 PRZEBIEG 96 12 22 76 64 23 74 11 2 PRZEBIEG 12 22 76 64 23 74 11 96

  4. M-plik - sortowanie "bąbelkowe" clc clear N=5; G=rand(1,N) %stadardowa funkcja sortująca G1=sort(G) %sortowanie bąbelkowe for k=1:N-1 for m=1:N-k if G(m)>G(m+1) pom=G(m); G(m)=G(m+1); G(m+1)=pom; end end disp(G) %pokazuje kolejne wypływające "bąbelki" end %ostatecznie po posortowaniu disp(G) zamiana miejscami gdy elementy w niewłaściwej kolejności

  5. SymbolicToolBox Dodatkowy zestaw narzędziowy do Matlaba Wymaga odrębnej licencji

  6. Obliczenia symboliczne wymagają zadeklarowania zmiennych symbolicznych– abstrakcyjnych zmiennych nie posiadających wartości. • Służy do tego polecenie syms: • symszmienna1 zmienna2 itd

  7. 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)

  8. Symboliczne operacje macierzowe syms a b c d A=[a b; c d] A = [ a, b] [ c, d] B=[e f ; g h] B = [ e, f] [ g, h] ilustracja iloczynów macierzy kwadratowych 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] macierzowy Cauchy'ego elementowy Hadamarda (po współrzędnych)

  9. Obliczenia na wyrażeniach symbolicznych - funkcja subs( ) Podstawienie wartości do wyrażenia symbolicznego 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 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

  10. Obliczenia graniccią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 zmiennejb,

  11. Uwagi: • zmienna jest opcjonalna, jeśli wyrażenie zawiera jedną zmienną. • b opcjonalne, jego pominięcie oznacza granicę dla zmienna0. • wyznaczenie granicy lewostronnej dla wyrażenia symbolicznego F, w punkcie b, • limit(F, zmienna, b, 'left') • wyznaczenie granicy prawostronnej dla wyrażenia symbolicznego F, w punkcie b. • limit(F, zmienna, b, 'right')

  12. Przykład Obliczenie granicy ciągu: syms n limit((1-3*n)/(1+n), inf) ans = -3 Uwaga: inf jest symbolem ∞ (nieskończoność)

  13. Przykład Obliczenie granicy wyrażenia: symsx limit(tan(x),x, pi/2,'left') ans= Inf limit(tan(x),x, pi/2,'right') ans= -Inf

  14. Obliczanie pochodnych funkcji - funkcja diff( ) • Argumentami funkcji są: • funkcja, której pochodna będzie liczona, • zmienna, względem której pochodna jest liczona (opcjonalnie) • rząd pochodnej (opcjonalnie) diff(F,[zmienna],[N])

  15. Przykład: • Obliczenie pochodnej funkcji f(x)=x2 syms x diff(x^2) ans = 2*x

  16. Przykład: Obliczenie pochodnej funkcji f(x, y, z) według każdej zmiennej (pochodne cząstkowe): syms x y z f=(x*y*z)^x+(1/(x*y))^2 diff(f) ans = (x*y*z)^x*(log(x*y*z)+1)-2/x^3/y^2 diff(f,x) ans = (x*y*z)^x*(log(x*y*z)+1)-2/x^3/y^2 diff(f,y) ans = (x*y*z)^x*x/y-2/x^2/y^3 diff(f,z) ans = (x*y*z)^x*x/z

  17. Przykład: Obliczenie drugiej pochodnej funkcji: f (x, y, z ) syms x y z f=(x*y*z)^x+(1/(x*y))^2 u=diff(f,x,2) u= (x*y*z)^x*(log(x*y*z)+1)^2+(x*y*z)^x/x+6/x^4/y^2 Można też tak: u=diff(diff(f,x))

  18. Całkowanie funkcji - funkcja int( ) • Jej argumentem jest funkcja symboliczna • opcjonalnie także zmienna całkowania oraz granice całkowania (dla całek oznaczonych). int(F,[zmienna], [a , b]) opcjonalnie Uwaga: domyślnie zmienną symboliczną jest x

  19. Przykład: • Obliczenie całki nieoznaczonej funkcji f(a,b)=a+b syms a x int(a+x) ans = a*x+1/2*x^2 int(a+x, a) % teraz zmienna to a ans = 1/2*a^2+a*x Sprawdzenie: diff(f) • ans = • a+x

  20. Obliczenie całki oznaczonej: syms x int(x^2,1,3) • ans = • 26/3 Obliczenie całki oznaczonej funkcji sin(x)w przedziale (0, π) • syms x • int(sin(x),0,pi) • ans = • 2

More Related