Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Wykład 1 MATLAB Metody obliczeniowe i podstawy programowania MPDU.

Podobne prezentacje


Prezentacja na temat: "Wykład 1 MATLAB Metody obliczeniowe i podstawy programowania MPDU."— Zapis prezentacji:

1 Wykład 1 MATLAB Metody obliczeniowe i podstawy programowania MPDU

2 1.Mrozek B., Mrozek Z.:Matlab 5.x – poradnik użytkownika, Wyd. PLJ, Warszawa, Pratap R.: Matlab 7 dla naukowców i inżynierów, Wyd. PWN, Kamińska A., Pańczyk B.: Ćwiczenia z Matlab. Przykłady i zadania, Wyd. Mikom., 2002 pliki wykładowe, instrukcje internetowe: tbajorek.prz.edu.pl login:student password: samoloty Literatura

3 FreeMat FreeMat jest to darmowe (open source, GNU GPL) numeryczne, macierzowo zorientowane środowisko obliczeniowe i język programowania, podobne do komercyjnego MATLAB firmy Mathworks. FreeMat obsługuje wiele funkcji znanych z MATLAB® dzięki temu jest przydatny w inżynierskich i naukowych zastosowaniach. Strona domowa FreeMat: Pobieranie FreeMat:

4 MATLAB (MathWorks) MAT-rix LAB-oratory Uniwersalny pakiet dla: obliczeń naukowych i inżynierskich, analiz układów statycznych i dynamicznych, symulacji procesów, przekształceń i obliczeń symbolicznych, wizualizacji rezultatów obliczeń i analiz, itp.

5 - okna Command Window, w którym wpisujemy pojedyncze polecenia, - okna Command History - historia poleceń, - okna z zakładkami: - Workspace - obszar roboczy - lista zainicjowanych przez użytkownika zmiennych i ich wartości, - Current Directory - zawartość katalogu roboczego. Środowisko Matlaba składa się z:

6 Okno aplikacji Matlab

7 Praca w środowisku odbywa się sposobami: interakcyjnym wsadowym

8 Sposób interakcyjny – interpretacja pojedynczych poleceń pisanych w oknie Command window, (wpisujemy pojedyncze instrukcje obliczeniowe i na bieżąco otrzymujemy wyniki) Instrukcje wpisywane przez użytkownika, każda instrukcja wykonywana (i potwierdzana ENTER-em) na bieżąco >> tu wpisujemy instrukcję wykonawczą (ENTER) odpowiedź Dialog:

9 Sposób wsadowy można tworzyć pliki (tzw. m-pliki) z wieloma instrukcjami Matlab'a i je wykonywać globalnie – wykonanie sekwencyjne

10 Większość instrukcji to tzw. instrukcje przypisania (nadania wartości zmiennym) Zmienna służy do identyfikacji wartości określonego typu (liczba, tekst, tablica itp.) - jest tworzona w pamięci w momencie nadania jej wartości

11 Nazwa (identyfikator) zmiennej musi zaczynać się od litery, dalszy ciąg litery i cyfry – bez spacji). Nie używamy polskich "ogonków" :ą ę ś ć itd. W nazwach zmiennych (funkcji) ważne duże i małe litery ! Wartości (stałe, wyrażenia obliczeniowe) można przypisywać zmiennym, nadawać im wartości Zmienna a i A to dwie różne zmienne, mogą mieć różne wartości

12 Ogólna postać instrukcji przypisania (inicjacja zmiennej i nadawanie wartości) wynik wyrażenia przechowany w domyślnej zmiennej ans oblicz wyrażenie i wynik wyrażenia przechowaj w zmiennej Zainicjowane zmienne i ich wartości widoczne są w oknie Workspace zmienna = wyrażenie wyrażenie

13 a=3 b=6 c=1; delta = b*b-4*a*c x= alfa+2 %nie wolno jeśli nieznana wartość alfa nadanie wartości zmiennej delta wcześniej muszą być znane wartości a, b, c

14 Zmienną o wcześniej zdefiniowanej wartości można użyć w wyrażeniu przypisywanym nowej zmiennej – nie wolno zmiennej nieznanej >> x=4.5 x= >> x = 5.5 x= >> x= 2*x x= >> x=2*c ??? Undefined function or variable 'c'. Wartość zmiennej można przedefiniować:

15 UWAGI: Wyrażenia budujemy podobnie jak w Excelu - stałe, zmienne, operatory działań, funkcje, nawiasy okrągłe () Separator liczb dziesiętnych – kropka!!!!! Przywołanie poprzednich instrukcji w celu ich ponownego wykonania bądź edycji (strzałki kursora – góra, dół) lub kliknięcie w oknie Command history Długa instrukcja – kontynuacja trzy kropki (...) i kontynuacja w nowym wierszu

16 wyrażenie stała wyrażenie zmienna wyrażenie funkcja (wyrażenie) wyrażenie wyrażenie operator wyrażenie Rekurencyjna definicja wyrażenia w definicji pojęcia wykorzystujemy definiowane pojęcie wyrażenie= funkcja(funkcja(funkcja…….))) wyrażenie= wyrażenie operator wyrażenie operator wyrażenie … Stąd wynika, że możliwe jest tworzenie wyrażeń w postaciach:

17 Operatory działań arytmetycznych podobnie jak w Excel-u. ^ potęgowanie !! (też pierwiastki) - zmiana znaku (przed liczbą lub zmienną) * / mnożenie, dzielenie + - dodawanie, odejmowanie Uwaga: Priorytet operatorów: potęgowanie wcześniejsze do zmiany znaku (w Excelu było odwrotnie) Sprawdzić: -2^2w Matlabie-4 =-2^2w Excelu4 Zmiana priorytetu operatorów: nawiasy okrągłe!

18 Przykładowe dialogi: a=1.2-przypisanie do zmiennej a b=1E2-przypisanie wartości w formacie naukowym 3*5-przypisanie zmiennej domyślnej ans c=a+b-przypisanie wartości prostego wyrażenia a=sin(pi/4)+b-przypisanie wartości prostego wyrażenia

19 Podstawowe funkcje matematyczne: pi – stała wbudowana sin(w)cos(w) tan(w)cot(w) (funkcje trygonometryczne wymagają kąta w radianach!) sind(w) cosd(w) tand(w) cotd(w) (funkcje trygonometryczne wymagają kąta w stopniach) log(x)logarytm naturalny!!, log10(w)logarytm dziesiętny exp(w)e x sqrt(w)pierwiastek kwadratowy abs(w)wartość bezwzględna fix(w)zaokrąglenie do całkowitej (w kierunku zera) floor(w) zaokrąglenie do całkowitej w kierunku - ceil(w)zaokrąglenie do całkowitej w kierunku + round(w)zaokrąglenie do najbliższej całkowitej rem(a,b)reszta z dzielenia power(a,b)a b alternatywnie do znaku ^

20 Przykłady: Jeśli znane a, b c, x, y to wyrażenia zapisujemy: matematykaMatlab

21 x= pi/6 y= (3*sin(x)^3-2*log(x))/(3-(x^3+3)^(1/3)) Przykład Matematyka Zapis w Matlabie: Uwagi: - nawiasy na wielomianach -nie opuszczać znaków mnożenia * !!!!!!!

22 Przydatne polecenia help- pomoc globalna help elfun - pomoc – spis funkcji elementarnych help rem - pomoc na temat wybranej funkcji (tu: rem) format long- wyświetlanie liczb z 15-ma miejscami dziesiętnymi format short- liczby wyświetlane z 4-ma miejscami dziesiętnymi clc - czyszczenie ekranu clear zmienna - usunięcie zmiennej z obszaru roboczego (Workspace) clear - usunięcie wszystkich zmiennych z obszaru roboczego

23 Algorytm zaokrąglania z dokładnością do N miejsc dziesiętnych clc format long x=pi N=5 y= round(x*10^N)/10^N format short

24 Generator losowy rand Bezargumentowa funkcja! Losuje liczbę rzeczywistą z przedziału (0, 1) x=rand x=round(100*rand-50) Zmiana przedziału losowania: Losowanie liczby całkowitej z przedziału (-50, 50)

25 Zmienna zespolona ma postać: a + b i gdzie: a – liczba będąca tzw. częścią rzeczywistą (łac. pars realis), b – liczba będąca tzw. częścią urojoną (łac. pars imaginaria), i – jednostka urojona wg definicji: i 2 = –1 Zmienne zespolone

26 Reprezentacja liczby zespolonej na płaszczyźnie kartezjańskiej

27 Wyniki zespolone otrzymamy dla przykładowych działań: >> a= sqrt(-4) a = i >>b= log(-3) b = i Zobaczymy potem, że rozwiązania niektórych równań mogą dać wartości zespolone, np. równania kwadratowego o ujemnej wartości delta

28 zmienna - proste wypisanie wartości disp( zmienna) - funkcja wypisania wartości disp ('jakiś tekst') - wypisanie tekstu na ekranie Prezentacja wyników w Matlabie

29 fprintf('Wartość zmiennej a wynosi %x \n', a); Prezentacja wyników - tekst i dane Ciąg znaków %x Sposób wyświetlania %d liczba całkowita %e liczba w zapisie wykładniczym, np e+00 %f zapis stałoprzecinkowy Uwaga: \n przejście do nowego wiersza gdzie:

30 W Matlab-ie można zapisać tekst ciągu instrukcji w pliku tekstowym ASCII o rozszerzeniu m nazwa.m(tzw. m-pliki), a następnie wykonać plik - instrukcje wykonywane są kolejno jedna po drugiej. Matlab zawiera własny edytor ASCII. M-pliki

31 Okno edytora m-plików wykonanie m-pliku

32 Efekty wykonania m-pliku widoczne Command Window Mogą być wykonywane tylko m-pliki z katalogu roboczego (Current Directory) – widoczne na liście w oknie – chociaż istnieje też możliwość dodania wielu katalogów do listy katalogów roboczych Polecenia w m-pliku piszemy dla czytelności w osobnych wierszach, choć można w jednym wierszu, oddzielając je przecinkiem lub średnikiem Jeśli średnik umieścimy na końcu polecenia to brak echa instrukcji na ekranie Command Window Po znaku % piszemy komentarze – ignorowane przez Matlaba Uwaga na błędy instrukcji! Uwagi praktyczne

33 >> c=4 c = 4 >> c=4; >> Rola średnika

34 clc clear a=4; b= -3.4; c = 2.45; delta= b*b-4*a*c; disp('Współczynniki równania kwadratowego:') fprintf('a: %f b: %f c: %f \n', a, b, c); fprintf('Wartość delta wynosi %f \n', delta); Przykładowy tekst w m-pliku: Współczynniki równania kwadratowego: a: b: c: Wartość delta wynosi >> Współczynniki równania kwadratowego: a: b: c: Wartość delta wynosi >> Efekt wykonania m-pliku w Command Window

35 if warunek1 instrukcje (wykonywane gdy jest spełniony warunek1) elseif warunek2 instrukcje (wykonywane gdy jest spełniony warunek2) elseif warunek3 instrukcje (wykonywane gdy jest spełniony warunek3) …itd else instrukcje (wykonywane gdy niespełnione oba warunki) end Instrukcja warunkowa Postać ogólna Instrukcja służy do sprawdzenia warunków i alternatywnego wykonywania różnych grup instrukcji gdy dany warunek będzie prawdziwy (true) Uwaga1: Bloki else i elseif mogą zostać pominięte. Uwaga2: Gdy kolejny warunek jest prawdziwy, pozostałe warunki nie są już sprawdzane

36 Przykłady warunków: a == 0(równe UWAGA: dwa znaki =) b= 5 x ~= 5 (różne od) x>0 && x<10 (koniunkcja warunków) Warunek to połączenie dwóch wyrażeń arytmetycznych znakami: ><>=<=== (równe)!= (nie równe) Dwa warunki można związać: koniunkcja warunków: znak && alternatywa warunków: znak ||

37 a = 1; b = 6; c = 3; delta = b^2-4*a*c; if delta<0 disp ('delta jest ujemne') % wyświetlenie tekstu elseif delta==0 disp('delta równe 0') else disp('delta różne od 0') % wyświetlenie wartości zmiennej end; Przykład 1

38 zmienna = input('tekst zachęty'); Interakcja z użytkownikiem (instrukcja wejścia) a = input('Podaj a:'); b = input('Podaj b:'); c = input('Podaj c:'); Działanie: skrypt się zatrzymuje i czeka na podanie wartości dla zmiennej

39 a = input('Podaj liczbę:'); if (a>6) && (a<10) disp('a w przedziale (6, 10)') else disp('a poza przedziałem (6, 10)') end Przykład 2 Test zawierania się liczby w określonym przedziale:


Pobierz ppt "Wykład 1 MATLAB Metody obliczeniowe i podstawy programowania MPDU."

Podobne prezentacje


Reklamy Google