Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PWSW Mechatronika 1 Wykład 7 Matlab cd. Przydatne polecenia help- pomoc globalna help elfun - pomoc – spis funkcji elementarnych help rem - pomoc na temat.

Podobne prezentacje


Prezentacja na temat: "PWSW Mechatronika 1 Wykład 7 Matlab cd. Przydatne polecenia help- pomoc globalna help elfun - pomoc – spis funkcji elementarnych help rem - pomoc na temat."— Zapis prezentacji:

1 PWSW Mechatronika 1 Wykład 7 Matlab cd

2 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

3 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

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

5 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

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

7 fprintf('Wartość zmiennej a wynosi %znak \n', a); Prezentacja wyników - tekst i dane %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 %znak to sposób wyświetlania:

8 WYKRESY 2-wymiarowe x=0:10 %generowanie wektora co 1 % wart_pocz:wart_koncowa y=[ ] z=[ ] %trzeci wektor title('wykres')%dodanie tytułu plot(x,y) %rysowanie wykresu plot(x,y,'r',x, z,'w')%dwie krzywe y(x) i z(x) 1 sposób: Funkcja plot Wymaga utworzenia dwóch wektorów o tej samej liczbie elementów

9 x=0:90%generowanie wektora co 1 y=sin(pi*x/180) %wektor y plot(x,y ) %rysowanie Przykłady wykresów funkcji x=0:pi/50:6*pi y=cos(2*x)./sqrt(x+1) plot(x,y) x = - 9:1:9 z = x.^2 plot(x, z) Uwaga: zapis kropkowy elementowe dzielenie(mnożenie) wektorów

10 Wykres funkcji podanej jako parametr tekstowy jedna krzywa: fplot('sin(x*x)/x',[0 4*pi]) punkt dzielenia przez 0 nie jest rysowany - ostrzeżenie dwie krzywe: fplot('[sin(x*x)/x cos(x)]',[0.01 4*pi]) Uwaga: zamiast x może być inna litera jako argument funkcji w jej opisie 2 sposób: Funkcja fplot

11 Przykładowe wykresy powierzchniowe 3D peaks cylider (srednica) sphere (precyzja)

12 Korzystamy z funkcji mesh(x,y,z) Dla powierzchni podanej równaniem: z=cos3x siny 12 Wykresy powierzchniowe (3D)

13 clear y = 0:0.01:pi%wektor wierszowy x = y'%wektor kolumnowy! z=cos(3*x) * sin(y)% tablica z jest kwadratowa mesh(x, y, z) Piszemy m-plik: rezultat mnożenia dwóch wektorów: * sin y cos3x

14 W Matlab-ie można jako polecenie wpisać w linii poleceń nazwę pliku z ciągiem instrukcji - instrukcje pobierane kolejno i wykonywane od pierwszej do ostatniej Konieczne jest ustawienie "ścieżki" do naszego foldera w menu Current directory 2. Metoda wsadowa wykonywania operacji W Matlab-ie można zapisać tekst ciągu instrukcji w pliku tekstowym ASCII o rozszerzeniu m. (tzw. m-pliki lub mex-pliki)

15 >>plik >>test1 Można wykonać m-plik w Matlabie wpisując w linii poleceń jego nazwę (bez rozszerzenia) W m-pliku wpisujemy kolejne instrukcje (bez znaków >>) lub z okna edytora- Run

16 Uwaga: Instrukcje oddzielamy przecinkami lub piszemy w osobnych wierszach Średniki na końcu instrukcji powodują brak wyświetlenia echa instrukcji na ekranie.

17 Instrukcje sterujące w MATLABIE

18 if warunek1 instrukcje (gdy spełniony warunek1) elseif warunek2 instrukcje (gdy spełniony warunek2) else instrukcje (gdy niespełnione warunki) end Instrukcja warunkowa

19 x ~= 5(różne od.. ~ to operator negacji Przykłady warunków – użycie operatorów porównania: a == 0 (czy równe? – wartość prawda lub fałsz) b= 5

20 %… poprzednie instrukcje ustalające wartość zmiennej i if i>0 disp(i); end; Przykład 1: jeżeli i jest większe od 0 to wyświetl wartość i, jeśli nie to "nic nie rób"

21 Przykład 2: a = 1 b = 6 c = 3 delta = b^2 - 4 * a *c; if delta<0 disp ('delta jest ujemne') else disp(delta) end; end kończy instrukcję

22 Przykład 3: if x>0 && x<10 disp ('w przedziale 0 10') else disp('poza przedziałem') end; && operator koniunkcji || operator alternatywy jak w JavaScript …obliczamy jakieś x można też and(x>0, x<10)

23 Instrukcja iteracyjna („pętla liczona”) for zmienna = wartość_pocz:krok: wartość_końcowa, instrukcja, …. end

24 %generujemy tablicę for i= 1:1:10, a(i) = i^2; end; disp(a) suma=0; for i= 1:1:10, suma=suma+a(i); end; disp('suma=') disp(suma) Przykład prostych pętli:

25 for i= 1:1:5, for j = 1:1:5, a(i, j) = i*j %jakieś wyrażenie f(i,j) end Przykład 4 ("zagnieżdżanie" iteracji):

26 a=0; suma = 0; for i= 1:1:5, for j = 1:1:5, a(i, j) = 2*i - 4* j, suma=suma+a(i, j); end disp(suma) Przykład 6 (sumowanie elementów w tablicy dwuwymiarowej):

27 a=0; suma = 0; for i= 1:1:5, for j = 1:1:5, a(i, j) = 2*i - 4* j, if a(i,j)>0 suma=suma+a(i, j); end; end disp(suma) Przykład 6b (sumowanie dodatnich elementów w tablicy dwuwymiarowej):

28 A=[ ] maks=A(1) %założenie for i= 2:1:20, if A(i)>maks maks=A(i) end disp(maks) Przykład 7 (wielokrotny test – wyznaczanie największego elementu) badamy elementy od 2 do ostatniego

29 A=[ ] ile=1 %założenie for i= 1:1:20, if A(i)>=0 && A(i)<=5 ile=ile+1; end disp(ile) Przykład 8 Ile liczb jest w przedziale [0 5]

30 A=rand(20) % losowe wypełnienie tablicy 20x20 naj1=max(A) naj2 = max(naj1) Przykład 9 Wykorzystanie standardowej funkcji max (lub min) wektor maksimów w kolumnach (maksima lokalne) największy z maksimów lokalnych

31 Podstawowe różnice Javascript vs. Matlab JavaScriptMatlab operatory składania ++  +=  = /= *= %= nie ma negacja !~ instrukcja warun- kowa if (warunek) {instrukcje} else if (warunek2) {instrukcje} if warunek instrukcje elseif warunek2 instrukcje end instrukcja for for (inicjacja; warunek;inkrementacja) { instrukcje } for licznik=inicjacja:krok:wartosc_koncowa instrukcje end

32 Porównywanie kolejnych par elementów sąsiadujących i zamiana miejscami w przypadku niewłaściwej kolejności Sortowanie bąbelkowe 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

33 PRZEBIEG 1 PRZEBIEG i.t.d.

34 34 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 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 M-plik- sortowanie "bąbelkowe"


Pobierz ppt "PWSW Mechatronika 1 Wykład 7 Matlab cd. Przydatne polecenia help- pomoc globalna help elfun - pomoc – spis funkcji elementarnych help rem - pomoc na temat."

Podobne prezentacje


Reklamy Google