Obliczenia w Matlabie Obliczenia symboliczne

Slides:



Advertisements
Podobne prezentacje
Rozwiązywanie równań różniczkowych metodą Rungego - Kutty
Advertisements

11. Różniczkowanie funkcji złożonej
Dany jest układ różniczkowych
Różniczkowanie numeryczne
Zakład Mechaniki Teoretycznej
JAK TO JEST ZROBIONE? Zajęcia artystyczne dla uczniów szkoły podstawowej. Materiał dla uczniów Autor: Karolina Vyšata Projekt zrealizowany w ramach Akademii.
Metody numeryczne w chemii
Metody matematyczne w Inżynierii Chemicznej
ETO w Inżynierii Chemicznej
obliczeNIA symbolicznE w MATLAB’ie
Informatyka i programowanie
Podstawy analizy matematycznej III
ETO w Inżynierii Chemicznej
Metody matematyczne w Inżynierii Chemicznej
Metody numeryczne SOWIG Wydział Inżynierii Środowiska III rok
Podstawy analizy matematycznej II
Zakładamy a priori istnienie rozwiązania α układu równań.
Dane INFORMACYJNE Nazwa szkoły: I Liceum Ogólnokształcące im. Powstańców Wlkp. w Koźminie Wlkp. ID grupy: 97_32 Opiekun: Jarosław Kucharski Nazwa szkoły:
Podstawy informatyki 2013/2014
Stabilność metod numerycznych
Źródła błędów w obliczeniach numerycznych
MOiPP Matlab Sortowanie Obliczenia symboliczne - Symbolic ToolBox
Rozwiązywanie liniowych układów równań metodami iteracyjnymi.
Analiza matematyczna i algebra liniowa
MOiPP Wykład 7 Matlab cd..
MOiPP Matlab Przykłady metod obliczeniowych Obliczenia symboliczne
Metody matematyczne w Inżynierii Chemicznej
Obliczenia symboliczne
Tematyka zajęć LITERATURA
Wykład 6 Dr Aneta Polewko-Klim
Pakiety numeryczne Optymalizacja
Biblioteka.pollub.pl facebook.com/BibliotekaPL. Katarzyna Panasiewicz Modele otwartego dostępu.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Pakiety numeryczne Graphical User Interface Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Tablice: tworzenie, indeksowanie, wymiary Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Interpolacja i aproksymacja
Pakiety numeryczne Wykresy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Wielomiany Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki Funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Podstawy informatyki Struktury Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki Szablony funkcji Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty.
Podstawy informatyki Operatory rzutowania Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały.
Podstawy informatyki Mechanizm obsługi sytuacji wyjątkowych Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
W PYTANIACH I ODPOWIEDZIACH. CZYM JEST MATHCAD? Mathcad to komercyjny program algebry komputerowej (CAS) stworzony przez firmę Mathsoft o możliwościach.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
© Prof. Antoni Kozioł, Wydział Chemiczny Politechniki Wrocławskiej MATEMATYCZNE MODELOWANIE PROCESÓW BIOTECHNOLOGICZNYCH Temat – 5 Modelowanie różniczkowe.
Pakiety numeryczne Równania różniczkowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Optymalizacja Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Rozwiązywanie układów równań Radosław Hołówko Konsultant: Agnieszka Pożyczka.
Wykład 2 MATLAB cd INFORMATYKA 2 MPZI2 sem.4. 2x + 3y – 4z = 5 x + y – z = 3,5 –2,5y – z = 2 Rozwiązanie w Matlabie (m-plik): A = [ ; ; 0.
Informacje ogólne.
Podstawy Informatyki.
Metody matematyczne w Inżynierii Chemicznej
Analiza numeryczna i symulacja systemów
działania na wielomianach
Elementy analizy matematycznej
ETO w Inżynierii Chemicznej
Obliczenia w Matlabie Tablice
Obliczenia inżynierskie w Matlabie
Obliczenia w Matlabie Optymalizacja
Obliczenia w Matlabie Interpolacja i aproksymacja
Sterowanie procesami ciągłymi
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Obliczenia w Matlabie Analiza statystyczna
Zapis prezentacji:

Obliczenia w Matlabie Obliczenia symboliczne Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania

Symbolic Math Biblioteka Symbolic Math Toolbox pozwala na wykonywanie obliczeń na zmiennych symbolicznych. Jej możliwości obejmują: obliczenia z możliwością określenia dokładności, całkowanie i różniczkowanie analityczne wzorów matematycznych, upraszczanie i przekształcanie wyrażeń, obliczenia z zakresu algebry liniowej, analityczne rozwiązywanie równań algebraicznych i różniczkowych.

Definiowanie zmiennych symbolicznych x=sym('x'); % syms x f=x^2; f=@(x)x^2 Funkcja anonimowa Wyrażenie symboliczne

Obliczanie wartości wyrażenia syms x f=x^2; x=5; eval(f) Zapis f(5) generuje błąd syms x f=x^2; subs(f,5) subs(f,x,5)

Obliczanie wartości wyrażenia syms x a b c f=a*x^2+b*x+c; subs(f,x,3) subs(f,a,3) subs(f,b,3) subs(f,c,3) subs(f,3) subs(f,[a,b,c],[1,2,3]) 9*a + 3*b + c 3*x^2 + b*x + c a*x^2 + 3*x + c a*x^2 + b*x + 3 9*a + 3*b + c Funkcja subs podstawia wartość pod zmienną najbliższą w alfabecie do zmiennej x, czyli: x, y, w, z, v, u, t, …, b, a x^2 + 2*x + 3

Upraszczanie wyrażeń 1 log(exp(x)) x x syms x f=sin(x)^2+cos(x)^2 g=simple(f) f=log(exp(x)) syms x real % x=sym('x','real') g=simple(f,'IgnoreAnalyticConstraints',true) 1 log(exp(x)) x x

Faktoryzacja wyrażeń factor(20) factor(sym('20')) syms x f=x^3+6*x^2+11*x+6 factor(f) syms a b factor(a^2-b^2) factor(a^2+2*a*b+b^2) [2,2,5] 2^2*5 (x + 3)*(x + 2)*(x + 1) (a - b)*(a + b) (a + b)^2

4*cos(x)*sin(x) + 4*cos(x)^2*sin(x)^2 + 1 Rozwijanie wyrażeń syms x f=factor(x^3+6*x^2+11*x+6) expand(f) f=(sin(2*x)+1)^2 expand(f,'ArithmeticOnly',true) syms x y f=log((x*y)^2) expand(f,'IgnoreAnalyticConstraints',true) (x + 3)*(x + 2)*(x + 1) x^3 + 6*x^2 + 11*x + 6 4*cos(x)*sin(x) + 4*cos(x)^2*sin(x)^2 + 1 2*sin(2*x) + sin(2*x)^2 + 1 log(x^2*y^2) 2*log(x) + 2*log(y)

Wielomiany p=[1,6,11,6] f=poly2sym(p) f_a=poly2sym(p,sym('a')) horner(f) sym2poly(f) x^3 + 6*x^2 + 11*x + 6 a^3 + 6*a^2 + 11*a + 6 x*(x*(x + 6) + 11) + 6 [1,6,11,6]

Różniczkowanie wyrażeń syms x f=x^2 diff(f) diff([1,2,4,7]) diff(1) diff(sym('1')) 2*x [1,2,3] []

Różniczkowanie wyrażeń syms x y f=sin(x)+cos(y) diff(f) diff(f,x) diff(f,y) diff(f,2) diff(f,y,2) diff(diff(f,x),y) cos(x) cos(x) -sin(y) -sin(x) -cos(y)

Gradient i hesjan Gradient – wektor pochodnych cząstkowych funkcji: Hesjan (macierz Hessego) – macierz drugich pochodnych

Gradient i hesjan syms x y f=sin(x)+cos(y) gradient(f) hessian(f) [cos(x); -sin(y)] [-sin(x), 0; 0, -cos(y)]

Całkowanie wyrażeń syms x f=x^2 int(f) int(f,0,1) x^3/3 1/3

Całkowanie wyrażeń x^3/3 + x*y^2 x^3/3 + x*y^2 y^2 + 1/3 x^2*y + y^3/3 syms x y f=x^2+y^2 int(f) int(f,x) int(f,x,0,1) int(f,y) int(f,x,y) int(int(f,x),y) x^3/3 + x*y^2 x^3/3 + x*y^2 y^2 + 1/3 x^2*y + y^3/3 (4*y^3)/3 - x*(x^2/3 + y^2) (x*y*(x^2 + y^2))/3

piecewise([n = -1, log(x)], [n <> -1, x^(n + 1)/(n + 1)]) Całkowanie wyrażeń syms x f=asin(sin(x)) int(f) int(f,'IgnoreAnalyticConstraints',true) syms x n f=x^n int(f,'IgnoreSpecialCases',true) int(asin(sin(x)), x) x^2/2 piecewise([n = -1, log(x)], [n <> -1, x^(n + 1)/(n + 1)]) x^(n + 1)/(n + 1)

Obliczanie granic syms n limit((1+1/n)^n,Inf) syms x limit(x/abs(x),0) limit(x/abs(x),x,0,'left') limit(x/abs(x),x,0,'right') exp(1) NaN -1 1

Obliczenia na macierzach syms a b c d A=[a,b;c,d] det(A) inv(A) eig(A) a*d - b*c [d/(a*d - b*c), -b/(a*d - b*c); -c/(a*d - b*c), a/(a*d - b*c)] [a/2 + d/2 - (a^2 - 2*a*d + d^2 + 4*b*c)^(1/2)/2; a/2 + d/2 + (a^2 - 2*a*d + d^2 + 4*b*c)^(1/2)/2]

Rozwiązywanie równań p=[1,0,-1] fs=poly2sym(p) fh=matlabFunction(fs) roots(p) solve(fs) fzero(fh,0.5) fzero(fh,[-1.5,-0.5]) [-1; 1] [1; -1] 1 -1

[1; -1] Rozwiązywanie równań [1; -1] solve('x^2-1') solve('x^2=1') solve('x^2+1') solve('x*(x^2+1)') solve('x*(x^2+1)','Real',true) syms x positive solve(x^2-1) [i; -i] [0; i; -i] 1 1

syms x y f=x^2-y^2 solve(f) solve(f,y) solve('a*x^2+b*x+c=0') Rozwiązywanie równań [y; -y] syms x y f=x^2-y^2 solve(f) solve(f,y) solve('a*x^2+b*x+c=0') [x; -x] [-(b + (b^2 - 4*a*c)^(1/2))/(2*a); -(b - (b^2 - 4*a*c)^(1/2))/(2*a)]

Rozwiązywanie równań exp(log(y) + 5)/y exp(5) syms x y solve(log(x*y)-log(y)-5) solve(log(x*y)-log(y)-5,'IgnoreAnalyticConstraints',true) exp(5)

Rozwiązywanie układów równań syms x y z f1=4*x-z f2=x-y f3=x^2+y^2-z [x,y,z]=solve(f1,f2,f3) [x,y,z]=solve('z=4*x','x=y','z=x^2+y^2') [0; 2] [0; 2] [0; 8]

solve i różne wersje Matlaba Ver 2011b Ver 2017b solve(2*x-5) OK solve('2*x-5') WARNING solve(2*x=5) ERROR solve('2*x=5') solve(2*x==5) solve('2*x==5') Użycie solve bez apostrofu musi być poprzedzone definicją zmiennej symbolicznej x: syms x

Rozwiązywanie równań i układów równań różniczkowych C2/exp(t) + 1 y=dsolve('Dy+y=1') y=dsolve('Dy+y=1','y(0)=2') y=dsolve('D2y-2*Dy+y=1+t','Dy(0)=0','y(0)=0') [y1,y2]=dsolve('Dy1=y1*log(y2)','Dy2=-y2','y1(0)=exp(-2)','y2(0)=exp(2)') y=dsolve('Dy+2*y=0','y(0.5)=1/exp(1)') 1/exp(t) + 1 t - 3*exp(t) + 2*t*exp(t) + 3 1/(exp(2)*exp((t*(t - 4))/2)) exp(2)/exp(t) 1/exp(2*t)

dsolve i różne wersje Matlaba Ver 2011b Ver 2017b dsolve(diff(y)+y-1) [ empty sym ] OK dsolve('Dy+y-1') WARNING dsolve(diff(y)+y=1) ERROR dsolve('Dy+y=1') dsolve(diff(y)+y==1) dsolve('Dy+y==1') Użycie dsolve bez apostrofu musi być poprzedzone definicją (2017b) funkcji symbolicznej y(t): syms y(t) lub (2011b) zmiennej symbolicznej y: syms y

Równanie różniczkowe II rzędu z warunkami początkowymi – ver 2017b syms y(t); Dy=diff(y); dsolve(diff(y,2)-2*diff(y)+y==1+t, Dy(0)==0, y(0)==0)

Rysowanie wykresów syms x f=x^2 ezplot(f) figure ezplot(f,[-1,1])

Rysowanie wykresów syms x y f=x^2+y^2 ezsurf(f) figure ezcontourf(f)

Prezentacja udostępniona na licencji Creative Commons: Uznanie autorstwa, Na tych samych warunkach 3.0. Pewne prawa zastrzeżone na rzecz autorów. Zezwala się na dowolne wykorzystywanie treści pod warunkiem wskazania autorów jako właścicieli praw do prezentacji oraz zachowania niniejszej informacji licencyjnej tak długo, jak tylko na utwory zależne będzie udzielana taka sama licencja. Tekst licencji dostępny jest na stronie: http://creativecommons.org/licenses/by-sa/3.0/deed.pl