Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00367 005213 12225937 na godz. na dobę w sumie
MATLAB. Praktyczny podręcznik modelowania - książka
MATLAB. Praktyczny podręcznik modelowania - książka
Autor: Liczba stron: 256
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-246-8134-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> pakiety naukowe >> matlab
Porównaj ceny (książka, ebook (-25%), audiobook).

Wypróbuj MATLAB-a i doceń jego siłę!

MATLAB to wielofunkcyjny program do zastosowań naukowych i inżynierskich, wykorzystywany przy zaawansowanych obliczeniach, rozwiązywaniu problemów technicznych i tworzeniu symulacji. Jest świetnym narzędziem, które od kilku dekad pomaga tysiącom matematyków, fizyków i inżynierów. Pozwala w mgnieniu oka rozwiązać skomplikowane równania, prześledzić różne warianty w obrębie jednego schematu czy obliczyć wzajemne zależności pomiędzy elementami projektowanego urządzenia i sprawdzić, jak zmiana jednego z nich wpływa na pozostałe.

Sięgnij po tę książkę, a szybko oswoisz się z MATLAB-em. Dzięki niemu już nigdy nie będziesz musiał obliczać równań „na piechotę” ani doświadczalnie sprawdzać skutków dokonania zmiany w projekcie. Wystarczy, że wprowadzisz do programu właściwe dane, a natychmiast zobaczysz, czy Twój pomysł jest strzałem w dziesiątkę, czy wymaga wielu poprawek. Z tej książki dowiesz się, jak zacząć pracę z programem, jak działają skrypty i funkcje. Odkryjesz, jak tworzyć modele matematyczne i fizyczne urządzeń z użyciem matematyki. Zadania zamieszczone na końcu każdego rozdziału pomogą Ci utrwalić zdobytą wiedzę.

Projektuj i licz z MATLAB-em!

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Redaktor prowadzący: Ewelina Burska Projekt okładki: Studio Gravite/Olsztyn Obarek, Pokoński, Pazdrijowski, Zaprucki Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/modmat Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. ISBN: 978-83-246-8134-1 Copyright © Helion 2015 Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis tre(cid:264)ci Wst(cid:246)p .............................................................................................. 5 Rozdzia(cid:228) 1. MATLAB — szybki start ................................................................... 7 Operator dwukropka ....................................................................................................... 15 Dost(cid:266)p do elementów macierzy ...................................................................................... 16 Funkcje MATLAB-a generuj(cid:261)ce tablice ......................................................................... 17 Funkcje ........................................................................................................................... 19 Wykresy ......................................................................................................................... 21 Rozdzia(cid:228) 2. Skrypty i funkcje ............................................................................ 29 Uchwyt funkcji @ .......................................................................................................... 32 Instrukcje steruj(cid:261)ce przebiegiem programu .................................................................... 32 Warunkowe wykonywanie kodu — if ...................................................................... 33 Warunek wielokrotny switch, case i otherwise ........................................................ 34 P(cid:266)tle for, while, continue, break ............................................................................... 35 Operatory logiczne ................................................................................................... 39 Rozdzia(cid:228) 3. Rozwi(cid:241)zywanie równa(cid:254) ró(cid:276)niczkowych ............................................. 41 Przyk(cid:225)ady rozwi(cid:261)zywania równa(cid:276) ró(cid:298)niczkowych ......................................................... 42 Drapie(cid:298)nik – ofiara ......................................................................................................... 46 Wyp(cid:225)yw cieczy ze zbiorników ........................................................................................ 49 Równania ró(cid:298)niczkowe zwyczajne stopnia drugiego i wy(cid:298)szego rz(cid:266)du ......................... 51 Oscylator harmoniczny ................................................................................................... 53 Oscylator harmoniczny z t(cid:225)umieniem ............................................................................. 55 Porównanie ró(cid:298)nych algorytmów ca(cid:225)kowania ................................................................ 58 Odbijanie si(cid:266) spr(cid:266)(cid:298)ystej pi(cid:225)ki .......................................................................................... 61 Model zawieszenia samochodu ...................................................................................... 64 Elementy o parametrach roz(cid:225)o(cid:298)onych ............................................................................. 68 Przep(cid:225)yw ciep(cid:225)a ........................................................................................................ 68 Przep(cid:225)yw ciep(cid:225)a i funkcja pdepe ............................................................................... 74 Symulacja zmian temperatury w dwóch wymiarach ...................................................... 77 Drgaj(cid:261)ca struna ............................................................................................................... 82 Drgania p(cid:225)yty .................................................................................................................. 86 Rozdzia(cid:228) 4. Schematy blokowe (Simulink) ......................................................... 89 Rysowanie schematów blokowych równa(cid:276) ró(cid:298)niczkowych ........................................... 94 Dynamika epidemii ........................................................................................................ 97 Oscylator harmoniczny ................................................................................................. 102 Kup książkęPoleć książkę 4 MATLAB. Praktyczny podr(cid:246)cznik modelowania Oscylator harmoniczny z wymuszeniem kinematycznym ............................................ 111 Masa podnoszona na spr(cid:266)(cid:298)ystej linie ............................................................................ 114 Si(cid:225)ownik hydrauliczny podnosz(cid:261)cy mas(cid:266) ..................................................................... 118 Oscylator harmoniczny z wahad(cid:225)em matematycznym .................................................. 129 Wahad(cid:225)o z niepe(cid:225)nym stopniem swobody .................................................................... 135 Spr(cid:266)(cid:298)ysta pi(cid:225)eczka ........................................................................................................ 136 Animacja odbijaj(cid:261)cej si(cid:266) pi(cid:225)ki ...................................................................................... 141 Model zderzaka hydraulicznego ................................................................................... 145 Dwumasowy model zawieszenia samochodu ............................................................... 152 Rozruch przek(cid:225)adni hydrostatycznej ............................................................................. 156 Impulsowy przetwornik elektrohydrauliczny ............................................................... 163 Rzut pi(cid:225)k(cid:261) do kosza ...................................................................................................... 166 Katapultowanie si(cid:266) pilota z lec(cid:261)cego samolotu ............................................................ 169 Pantograf ...................................................................................................................... 173 Zderzenie dwóch wagonów .......................................................................................... 176 Hamowanie samolotu na pok(cid:225)adzie lotniskowca .......................................................... 179 Rozdzia(cid:228) 5. Przekszta(cid:228)cenie operatorowe do rozwi(cid:241)zywania uk(cid:228)adów równa(cid:254) .... 183 Przyk(cid:225)ad zastosowania przekszta(cid:225)cenia operatorowego ................................................ 186 Dobór regulatora ca(cid:225)kuj(cid:261)cego ....................................................................................... 188 Przekszta(cid:225)cenia operatorowe w Simulinku ................................................................... 191 Regulacja dwustawna temperatury w piecu ............................................................ 192 Rozdzia(cid:228) 6. Stateflow ..................................................................................... 195 Warunek logiczny na przyk(cid:225)adzie warto(cid:286)ci bezwzgl(cid:266)dnej ............................................ 204 P(cid:266)tle realizowane za pomoc(cid:261) Stateflow ........................................................................ 206 Regulator dwustawny ................................................................................................... 219 Sterowanie pomp(cid:261) w przepompowni ............................................................................ 223 Odbicie pi(cid:225)ki ................................................................................................................. 233 Odpluskwianie schematów stanu .................................................................................. 236 Rozdzia(cid:228) 7. Zaawansowane konfigurowanie wykresu ....................................... 239 Wykresy z dwiema osiami ............................................................................................ 244 Zapisywanie wykresu do pliku ..................................................................................... 246 Literatura ..................................................................................... 249 Skorowidz .................................................................................... 251 Kup książkęPoleć książkę Rozdzia(cid:228) 1. MATLAB — szybki start Interfejs MATLAB-a, oprócz typowych elementów, takich jak: menu, pasek narz(cid:266)dzi lub wst(cid:261)(cid:298)ka, pasek statusu, ma wyspecjalizowane okna, w których wy(cid:286)wietlane s(cid:261) po- szczególne informacje. Okna mo(cid:298)na w(cid:225)(cid:261)cza(cid:252), wy(cid:225)(cid:261)cza(cid:252), skalowa(cid:252), przenosi(cid:252) w prawo, w lewo, w gór(cid:266), w dó(cid:225), chowa(cid:252) itp. Najwa(cid:298)niejsza cz(cid:266)(cid:286)(cid:252) interfejsu MATLAB-a to okno polece(cid:276) (Command Window), za pomoc(cid:261) którego wpisuj(cid:261)c polecenia, wykonujemy obliczenia i uruchamiamy skrypty. Polecenia wpisujemy po znaku zach(cid:266)ty (rysunek 1.1). Spróbujmy wpisa(cid:252) co(cid:286) (cid:225)a- twego, np. 2+2 (cid:128) (Enter). Rysunek 1.1. Pierwsze polecenie w oknie Command Window Po naci(cid:286)ni(cid:266)ciu klawisza Enter (Return) MATLAB wykona polecenie, w tym przy- padku sumowanie, i wypisze wynik. Widzimy, (cid:298)e MATLAB w odpowiedzi napisa(cid:225) ans = i wynik w wierszu ni(cid:298)ej. Zmienna ans jest definiowana, gdy wynik wyra(cid:298)enia nie jest przypisany do (cid:298)adnej zmiennej. Mo(cid:298)emy wykorzysta(cid:252) t(cid:266) zmienn(cid:261) w nast(cid:266)pnych poleceniach, np. pomnó(cid:298)my zmienn(cid:261) ans przez 2. Prosz(cid:266) zauwa(cid:298)y(cid:252) na rysunku 1.2, (cid:298)e po mno(cid:298)eniu i nieprzypisaniu wyniku do zmiennej warto(cid:286)(cid:252) przypisana do ans zmieni(cid:225)a si(cid:266). Poprzednie polecenie przywo(cid:225)uje si(cid:266) za pomoc(cid:261) klawisza na klawiaturze, a wi(cid:266)c szybko mo(cid:298)emy liczy(cid:252) wielokrotno(cid:286)ci liczby 4. Kup książkęPoleć książkę 8 MATLAB. Praktyczny podr(cid:246)cznik modelowania Rysunek 1.2. Polecenie z wykorzystaniem zmiennej Definiowanie w(cid:225)asnych zmiennych i przypisywanie im warto(cid:286)ci realizowane jest za pomoc(cid:261) znaku przypisania =. Sk(cid:225)adnia polecenia przypisania jest taka jak w wi(cid:266)kszo(cid:286)ci j(cid:266)zyków programowania: zmienna=warto(cid:258)(cid:202), a wi(cid:266)c je(cid:298)eli chcemy zdefiniowa(cid:252) zmienn(cid:261) a i przypisa(cid:252) jej warto(cid:286)(cid:252) 2, powinni(cid:286)my napisa(cid:252) a=2 (rysunek 1.3). Typ zmiennej roz- poznawany jest w trakcie przypisania. Rysunek 1.3. Definicja w(cid:225)asnej zmiennej i mno(cid:298)enie z wykorzystaniem tej zmiennej Nazwy zmiennych mo(cid:298)emy utworzy(cid:252) z liter, cyfr, znaku podkre(cid:286)lenia, ale nazwa musi zaczyna(cid:252) si(cid:266) od litery. W nazwach nie mog(cid:261) pojawia(cid:252) si(cid:266) operatory, spacje, znaki na- rodowe. Uwagi odno(cid:286)nie do nazw: (cid:141) MATLAB rozró(cid:298)nia wielko(cid:286)(cid:252) liter w nazwach, a wi(cid:266)c a i A to dwie ró(cid:298)ne zmienne; (cid:141) nie s(cid:261) kontrolowane definiowane nazwy zmiennych, a wi(cid:266)c nie b(cid:266)dzie (cid:298)adnego komunikatu, je(cid:298)eli utworzymy zmienn(cid:261), która jest ju(cid:298) zdefiniowana. Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 9 Przyk(cid:225)adowe predefiniowane sta(cid:225)e1 w MATLAB-ie: (cid:141) pi — (cid:83)= 3.141592653589793; (cid:141) i, j — liczba urojona, i2=-1; (cid:141) ans — wynik ostatniego polecenia; (cid:141) eps — najmniejsza liczba rozpoznawana jako nie zero; (cid:141) realmax — najwi(cid:266)ksza liczba rzeczywista = 1.7977e + 308; (cid:141) realmin — najmniejsza liczba rzeczywista = 2.2251e – 308. Nic nie stoi na przeszkodzie, (cid:298)eby utworzy(cid:252) zmienn(cid:261) pi i ;przypisa(cid:252) jej warto(cid:286)(cid:252) np. 2 (rysunek 1.4) — program nie b(cid:266)dzie informowa(cid:225) o b(cid:225)(cid:266)dzie, nawet je(cid:286)li utworzymy zmienn(cid:261), której nazwa jest taka sama jak nazwa funkcji. Przypisanie sin=pi jest po- prawne i nie generuje b(cid:225)(cid:266)du. Takie liberalne podej(cid:286)cie do nazw mo(cid:298)e skutkowa(cid:252) dziw- nymi komunikatami o b(cid:225)(cid:266)dach ((cid:225)atwiejszy przypadek) lub przedziwnymi wynikami oblicze(cid:276), je(cid:298)eli uda nam si(cid:266) utworzy(cid:252) funkcj(cid:266), która wykorzystywana jest przez inne funkcje. Polecenie edit nazwa_funkcji otwiera edytor MATLAB-a z wczytan(cid:261) funkcj(cid:261). Rysunek 1.4. Zmiana warto(cid:286)ci predefiniowanej zmiennej pi i powrót do predefiniowanej warto(cid:286)ci Za pomoc(cid:261) polecenia clear mo(cid:298)na usun(cid:261)(cid:252) zmienn(cid:261) lub przywróci(cid:252) zmienne predefi- niowane. (cid:141) clear all — usuwa wszystkie zmienne z pami(cid:266)ci i przywraca zmienne predefiniowane. (cid:141) clear nazwa — usuwa zmienn(cid:261) nazwa. Poleceniem who mo(cid:298)emy zapyta(cid:252) MATLAB-a o zdefiniowane zmienne, polecenie whos podaje za(cid:286) list(cid:266) zdefiniowanych zmiennych, rozmiar i typ przypisanych warto(cid:286)ci. 1 Tak naprawd(cid:266) s(cid:261) to funkcje, których wynikiem jest okre(cid:286)lona warto(cid:286)(cid:252) sta(cid:225)ej. Kup książkęPoleć książkę 10 MATLAB. Praktyczny podr(cid:246)cznik modelowania W jednym wierszu polecenia mo(cid:298)emy wpisa(cid:252) kilka dzia(cid:225)a(cid:276) rozdzielonych przecinkiem lub (cid:286)rednikiem (rysunek 1.5). Dzia(cid:225)anie zako(cid:276)czone (cid:286)rednikiem wykonywane jest bez echa, tzn. je(cid:298)eli w poleceniu nie ma b(cid:225)(cid:266)du i nic nie jest wypisywane w oknie polece(cid:276), kursor tekstowy przenoszony jest do nowego wiersza. Dzia(cid:225)anie zako(cid:276)czone przecinkiem wykonywane jest z wypisywaniem wyniku lub komunikatu o wykonanym dzia(cid:225)aniu. Rysunek 1.5. Trzy polecenia w jednym wierszu polece(cid:276) rozdzielone przecinkiem lub (cid:286)rednikiem Przecinek rozdziela polecenia, liczby, ale nigdy nie rozdziela u(cid:225)amka dziesi(cid:266)tnego od liczby ca(cid:225)kowitej. Liczby rzeczywiste wprowadzamy zawsze z kropk(cid:261), niezale(cid:298)nie od ustawie(cid:276) systemu. Jak widzimy na rysunku 1.6, polecenie a=1,1 interpretowane jest przez MATLAB-a jako dwa dzia(cid:225)ania. Pierwsze to przypisanie a=1, drugie dzia(cid:225)anie to przypisanie do zmiennej ans warto(cid:286)ci 1. Podstawow(cid:261) struktur(cid:261) danych w MATLAB-ie jest macierz (MATrix). Nawet zmienna z jedn(cid:261) warto(cid:286)ci(cid:261) te(cid:298) jest macierz(cid:261), co mo(cid:298)emy sprawdzi(cid:252), pisz(cid:261)c: a(1). Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 11 Rysunek 1.6. Ilustracja funkcji przecinka w wierszu polece(cid:276) Liczby (wyra(cid:298)enia) macierzy wpisujemy w nawiasach kwadratowych. Kolumny roz- dzielamy Spacj(cid:261) lub przecinkiem, a wiersze (cid:286)rednikiem lub Enterem. Je(cid:298)eli polecenia nie zako(cid:276)czymy (cid:286)rednikiem, po wpisaniu wektora lub macierzy MATLAB wypisze, jak zinterpretowa(cid:225) nasze polecenie (rysunki 1.7 i 1.8). Rysunek 1.7. Definicja macierzy jednowierszowej i jednokolumnowej Macierz A nale(cid:298)y wprowadzi(cid:252) tak jak na rysunku 1.8. Je(cid:298)eli wpisaliby(cid:286)my (cid:170) (cid:32) (cid:171) (cid:172) 1 2 3 4 5 6 (cid:186) (cid:187) (cid:188) ró(cid:298)n(cid:261) ilo(cid:286)(cid:252) liczb w wierszach, odpowiedzi(cid:261) programu b(cid:266)dzie informacja o b(cid:225)(cid:266)dzie. Macierze indeksowane s(cid:261) od 1 i nie mo(cid:298)na tego zmieni(cid:252). Je(cid:298)eli przypisuj(cid:261)c warto(cid:286)(cid:252) do macierzy, podamy indeks elementu macierzy wi(cid:266)kszy ni(cid:298) dotychczasowy rozmiar, MATLAB rozszerzy macierz i uzupe(cid:225)ni zerami brakuj(cid:261)ce elementy (rysunek 1.9). Kup książkęPoleć książkę MATLAB. Praktyczny podr(cid:246)cznik modelowania 12 Rysunek 1.8. Dwa sposoby definiowania macierzy Rysunek 1.9. Ilustracja rozszerzania rozmiaru macierzy w trakcie przypisania Próba odwo(cid:225)ania si(cid:266) do nieistniej(cid:261)cego elementu macierzy spowoduje b(cid:225)(cid:261)d. Macierze mo(cid:298)emy dodawa(cid:252), odejmowa(cid:252), mno(cid:298)y(cid:252), dzieli(cid:252) zgodnie z zasadami rachunku macierzowego. Dodawanie macierzy zapisujemy tak jak zmienne z jedn(cid:261) warto(cid:286)ci(cid:261), co ilustruje rysunek 1.10. Próba pomno(cid:298)enia macierzy A A(cid:13) spowoduje wypisanie komunikatu o niezgodno(cid:286)ci liczby wierszy i kolumn w drugiej macierzy. Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 13 Rysunek 1.10. Operacje na macierzy A zdefiniowanej na rysunku 1.8 Dzia(cid:225)ania mog(cid:261) by(cid:252) wykonywane na macierzach, na elementach macierzy i na warto(cid:286)ciach (skalarach). Dost(cid:266)pne operatory ró(cid:298)nie si(cid:266) zachowuj(cid:261) w zale(cid:298)no(cid:286)ci od tego, na jakich danych ma by(cid:252) wykonana operacja. Podstawowe operatory arytmetyczne MATLAB-a, sposób realizacji operacji arytmetycznej i przyk(cid:225)ad zastosowania znajduj(cid:261) si(cid:266) w tabeli 1.1. Tabela 1.1. Operatory arytmetyczne i operacje arytmetyczne Realizacja operacji arytmetycznej Operator dodawanie odejmowanie mno(cid:298)enie macierzy (cid:14) (cid:14) b 11 b 21 a 12 a 22 (cid:14) (cid:14) b 12 b 22 (cid:186) (cid:187) (cid:188) (cid:14) (cid:14) a c 12 c a 22 (cid:14) (cid:14) c c (cid:186) (cid:187) (cid:188) (cid:16) (cid:16) b 11 b 21 a 12 a 22 (cid:16) (cid:16) b 12 b 22 (cid:186) (cid:187) (cid:188) (cid:16) (cid:16) c a 12 c a 22 (cid:16) (cid:16) c c (cid:186) (cid:187) (cid:188) A B A c 21 a 11 a (cid:170) (cid:14) (cid:32) (cid:171) (cid:172) a 11 a 21 A B (cid:170) (cid:14) (cid:32) (cid:171) (cid:172) d A c (cid:32) (cid:14) 2 A A (cid:32) (cid:14) a (cid:170) 11 (cid:16) (cid:32) (cid:171) a (cid:172) 21 a 11 a 21 (cid:170) (cid:16) (cid:32) (cid:171) (cid:172) A A c (cid:32) (cid:16) a 11 a 21 (cid:170) (cid:13) (cid:32) (cid:171) (cid:172) A B A c (cid:152) (cid:152) b 11 b 11 (cid:14) (cid:14) a 12 a 22 (cid:152) (cid:152) b 21 b 21 a 11 a 21 (cid:152) (cid:152) b 12 b 12 (cid:14) (cid:14) a 12 a 22 (cid:152) (cid:152) b 22 b 22 (cid:186) (cid:187) (cid:188) Kup książkęPoleć książkę 14 MATLAB. Praktyczny podr(cid:246)cznik modelowania Tabela 1.1. Operatory arytmetyczne i operacje arytmetyczne — ci(cid:261)g dalszy Operator mno(cid:298)enie elementów macierzy (mno(cid:298)enie tablicowe) pot(cid:266)gowanie pot(cid:266)gowanie tablicowe dzielenie prawostronne dzielenie lewostronne dzielenie prawostronne tablicowe dzielenie lewostronne tablicowe transpozycja macierzy Realizacja operacji arytmetycznej A B . (cid:170) (cid:13) (cid:32) (cid:171) (cid:172) a 11 a 21 (cid:152) (cid:152) b 11 b 21 a 12 a 22 (cid:152) (cid:152) b 12 b 22 (cid:186) (cid:187) (cid:188) d A c (cid:32) (cid:13) 2 A A (cid:32) (cid:13) (cid:152)(cid:33)(cid:8)(cid:11)(cid:9)(cid:11)(cid:10) A A k A A ^ (cid:32) (cid:152) (cid:152) k A k .^ (cid:32) a a (cid:186) (cid:170) 11 12 (cid:187) (cid:171) a a (cid:172) (cid:188) 21 22 (cid:8)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:9)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:10) (cid:186) (cid:170) (cid:152) (cid:187) (cid:171) (cid:188) (cid:172) a 11 a 21 a 12 a 22 a 11 a 21 (cid:34) (cid:170) (cid:171) (cid:172) (cid:186) (cid:187) (cid:188) (cid:152) (cid:152) a 12 a 22 k 1 (cid:32) (cid:152) \A B A 1 /A B A B(cid:16) B(cid:16)(cid:32) / / A B a 11 a 21 (cid:170) (cid:32) (cid:171) (cid:172) . / (cid:152) b 11 b 21 A B . \ b (cid:170) 11 (cid:32) (cid:171) b (cid:172) 21 / / a 11 a 21 A (cid:170) (cid:32) (cid:171) (cid:172) a 11 a 12 a 21 a 22 (cid:186) (cid:187) (cid:188) a 12 a 22 / / b 12 b 22 b 12 b 22 / / a 12 a 22 (cid:186) (cid:187) (cid:188) (cid:186) (cid:187) (cid:188) W tabeli 1.1 A-1 jest macierz(cid:261) odwrotn(cid:261). Je(cid:298)eli argumentem operatora pot(cid:266)gowania jest liczba ujemna i wyk(cid:225)adnik nie jest liczb(cid:261) ca(cid:225)kowit(cid:261), wynikiem b(cid:266)dzie liczba zespolona (rysunek 1.11). Rysunek 1.11. Ilustracja kolejno(cid:286)ci wykonania dzia(cid:225)a(cid:276) Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 15 MATLAB wykonuje formu(cid:225)(cid:266) z uwzgl(cid:266)dnieniem kolejno(cid:286)ci wykonywania dzia(cid:225)a(cid:276). Prosz(cid:266) zwróci(cid:252) uwag(cid:266) na przyk(cid:225)ad na rysunek 1.11: w pierwszym wierszu minus jed- noargumentowy ma ni(cid:298)szy priorytet ni(cid:298) pot(cid:266)gowanie, a wi(cid:266)c wynik jest zgodny z nasz(cid:261) intuicj(cid:261) (-3^3=-27), ale gdyby(cid:286)my zrobili przypisanie np. a=-27 i podnie(cid:286)li do pot(cid:266)gi 1 , 3 uzyskamy wynik taki jak w drugiej operacji — oczywi(cid:286)cie pierwszy i drugi wynik (zmienna ans) podniesiony do trzeciej pot(cid:266)gi da warto(cid:286)(cid:252) –27. Je(cid:298)eli wpisaliby(cid:286)my pot(cid:266)g(cid:266) 1 bez nawiasów, zosta(cid:225)oby wykonane pot(cid:266)gowanie z wyk(cid:225)adnikiem 1, a na- 3 st(cid:266)pnie wynik zosta(cid:225)by podzielony przez 3. (cid:231)wiczenie Chcemy rozwi(cid:261)za(cid:252) uk(cid:225)ad równa(cid:276) liniowych: x 1 x 1 (cid:173)(cid:176) (cid:174) (cid:176)(cid:175) 2 x 2 (cid:14) x (cid:14) 2 1 (cid:32) 2 (cid:32) Uk(cid:225)ad równa(cid:276) mo(cid:298)emy zapisa(cid:252) w postaci macierzowej: (cid:152) A X B (cid:32) gdzie: A 1 2 (cid:170) (cid:32) (cid:171) 1 1 (cid:172) (cid:186) (cid:187) (cid:188) , B 1 (cid:170) (cid:186) (cid:32) (cid:171) (cid:187) 2 (cid:172) (cid:188) Równanie macierzowe mno(cid:298)ymy lewostronnie przez macierz A odwrotn(cid:261): 1 (cid:16) (cid:152) (cid:152) (cid:32) B A X A 1A (cid:16) (cid:152) (cid:32) A 1 1 (cid:16) A (cid:152) Z definicji: a wi(cid:266)c mamy: X A B(cid:16)(cid:32) (cid:152) 1 lub X A B (cid:32) \ Operator dwukropka Program umo(cid:298)liwia nam szybkie generowanie wektorów za pomoc(cid:261) operatora dwukropka: (cid:141) min:krok:max — generuje wektor wierszowy zawieraj(cid:261)cy liczby od min do max, a ró(cid:298)nica pomi(cid:266)dzy wyrazami wektora wynosi krok. Je(cid:298)eli pominiemy krok, zostanie on przyj(cid:266)ty domy(cid:286)lnie jako 1. (cid:141) min:max — generuje wektor zawieraj(cid:261)cy liczby ró(cid:298)ni(cid:261)ce si(cid:266) o 1. Kup książkęPoleć książkę 16 MATLAB. Praktyczny podr(cid:246)cznik modelowania Krok mo(cid:298)e by(cid:252) wi(cid:266)kszy lub mniejszy od zera; krok mniejszy od zera tworzy ci(cid:261)gi liczb malej(cid:261)cych, oczywi(cid:286)cie pod warunkiem, (cid:298)e b(cid:266)dzie to mo(cid:298)liwe. W tabeli 1.2 znajduj(cid:261) si(cid:266) dwa przyk(cid:225)ady u(cid:298)ycia operatora dwukropka, którego wynikiem jest ma- cierz pusta. Je(cid:298)eli min i krok s(cid:261) liczbami ca(cid:225)kowitymi, to wynikiem jest wektor liczb ca(cid:225)kowitych. Tabela 1.2. Przyk(cid:225)ady u(cid:298)ycia operatora dwukropka Przyk(cid:228)ad 0:0.5:2 0:0.6:2 1:5 1.1:5 5:1 5:–1:1 1:-1:5 Wynik 0 0.5000 1.0000 1.5000 2.0000 0 0.6000 1.2000 1.8000 1 2 3 4 5 1.1000 2.1000 3.1000 4.1000 Empty matrix: 1-by-0 5 4 3 2 1 Empty matrix: 1-by-0 Podobne zadanie pe(cid:225)ni funkcja linspace(d0,dk,n). Funkcja ta generuje wektor o n elementach w przedziale od d0 do dk. Je(cid:298)eli nie podamy trzeciego argumentu funkcji, n b(cid:266)dzie równe 100. Oczywi(cid:286)cie funkcj(cid:266) linspace mo(cid:298)emy zast(cid:261)pi(cid:252) :, co zosta(cid:225)o zi- lustrowane na rysunku 1.12. Rysunek 1.12. Porównanie dzia(cid:225)ania operatora : i funkcji linspace Funkcja logspace(d0,dk,n) generuje wektor o n elementach rozmieszczonych logaryt- micznie pomi(cid:266)dzy liczbami 10^d0 a 10^dk. Funkcj(cid:266) logspace mo(cid:298)emy zast(cid:261)pi(cid:252) pole- ceniem: 10.^linspace(d0,dk,n). Dost(cid:246)p do elementów macierzy Do elementów macierzy odwo(cid:225)ujemy si(cid:266), pisz(cid:261)c nazw(cid:266) zmiennej i w nawiasach po- daj(cid:261)c indeksy elementów macierzy. Je(cid:298)eli macierz A jest wektorem, to odwo(cid:225)anie A(i) jest odwo(cid:225)aniem do i-tego elementu wektora, a je(cid:298)eli macierz A jest macierz(cid:261) dwu- Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 17 wymiarow(cid:261), odwo(cid:225)anie A(i,j) jest odwo(cid:225)aniem do i-tego wiersza i j-tej kolumny, odwo(cid:225)a- nie za(cid:286) do macierzy dwuwymiarowej z wykorzystaniem jednego indeksu A(i) oznacza odwo(cid:225)anie do wektora utworzonego z kolejnych kolumn pierwotnej macierzy. Maj(cid:261)c zdefiniowan(cid:261) macierz A (cid:170) (cid:32) (cid:171) (cid:172) 1 2 3 4 5 6 (cid:186) (cid:187) (cid:188) A(1) (cid:111) ans=1 A(2) (cid:111) ans=4 A(3) (cid:111) ans=2 A(1,1) (cid:111) ans=1 A(1,[1 2]) (cid:111) ans=[1 2] A(1,[1 2 3]) (cid:111) ans=[1 2 3] zamiast pisa(cid:252) wektor 1 2 3 (cid:170) (cid:172) (cid:188) , mo(cid:298)emy wpisa(cid:252) 1: 3 (cid:186) A(1,1:3) (cid:111) ans=[1 2 3] A(1,:) (cid:111) ans [1 2 3] pierwszy wiersz A(1,3:-1:1) (cid:111) ans=[3 2 1] pierwszy wiersz wypisany w kolejno(cid:286)ci odwrotnej A(:,1) (cid:111) ans [1;4] pierwsza kolumna A(:,[2 1 3]) (cid:111) ans 2 1 3 5 4 6 (cid:170) (cid:171) (cid:172) (cid:186) (cid:187) (cid:188) zamiana drugiej i pierwszej kolumny Funkcje MATLAB-a generuj(cid:241)ce tablice Podstawow(cid:261) struktur(cid:261) danych w MATLAB-ie jest macierz. Zdefiniowanych jest wiele funkcji, które u(cid:225)atwiaj(cid:261) prac(cid:266) z programem: (cid:141) zeros(n) — generuje macierz n×n sk(cid:225)adaj(cid:261)c(cid:261) si(cid:266) z samych zer. (cid:141) ones(n) — generuje macierz n×n sk(cid:225)adaj(cid:261)c(cid:261) si(cid:266) z samych jedynek. (cid:141) eye(n) — generuje macierz jednostkow(cid:261), jedynki s(cid:261) na przek(cid:261)tnej macierzy n×n. (cid:141) rand(n) — generuje macierz n×n o elementach b(cid:266)d(cid:261)cymi liczbami pseudolosowymi o rozk(cid:225)adzie równomiernym z przedzia(cid:225)u (0,1). (cid:141) randn(n) — generuje macierz n×n o elementach b(cid:266)d(cid:261)cymi liczbami pseudolosowymi o rozk(cid:225)adzie normalnym. Funkcje te mog(cid:261) by(cid:252) równie(cid:298) wywo(cid:225)ane z dwoma argumentami, np. poleceniem ones(n,m) utworzymy macierz prostok(cid:261)tn(cid:261) o n wierszach i m kolumnach. Wymiar macierzy mo(cid:298)e by(cid:252) dowolny. Wystarczy, (cid:298)e wpiszemy w funkcji odpowiedni(cid:261) liczb(cid:266) argumen- tów: 3 to macierz trójwymiarowa, funkcja z 5 argumentami utworzy natomiast macierz pi(cid:266)ciowymiarow(cid:261). (cid:141) magic(n) — kwadrat magiczny; jest to macierz, w której sumy elementów wierszy, kolumn i przek(cid:261)tnych wynosz(cid:261) tyle samo, ponadto elementy macierzy nie powtarzaj(cid:261) si(cid:266). Kup książkęPoleć książkę 18 MATLAB. Praktyczny podr(cid:246)cznik modelowania Kwadrat magiczny o wymiarze 4 utworzony przez MATLAB-a to: a 16 (cid:170) (cid:171) 5 (cid:171) (cid:32) (cid:171) 9 (cid:171) 4 (cid:171) (cid:172) 2 3 11 10 7 6 14 15 13 8 12 1 (cid:186) (cid:187) (cid:187) (cid:187) (cid:187) (cid:187) (cid:188) Je(cid:298)eli zamienimy kolumn(cid:266) drug(cid:261) z trzeci(cid:261), kwadrat magiczny b(cid:266)dzie taki sam jak na miedziorycie Melancholia Dürera nad skrzyd(cid:225)em anio(cid:225)a. Zamian(cid:266) kolumn wykonamy poleceniem: a(:,[2 3])=a(:,[3 2]) (cid:285)rodkowe liczby w ostatnim wierszu (po zamianie 15 i 14) to rok, w którym powsta(cid:225) miedzioryt. Macierz magiczna pe(cid:225)ni g(cid:225)ównie funkcj(cid:266) rozrywkow(cid:261), ale mo(cid:298)emy wykorzysta(cid:252) j(cid:261) do testowania funkcji MATLAB-a lub w(cid:225)asnych. Macierz magiczna zawsze ma wy- znacznik, a uk(cid:225)ad równa(cid:276) ze wspó(cid:225)czynnikami macierzy magicznej z praw(cid:261) stron(cid:261) ma rozwi(cid:261)zanie. Przyk(cid:225)ad wykorzystania funkcji magic to test rozwi(cid:261)zania uk(cid:225)adu równa(cid:276): n=11; A=magic(n);B=ones(n,1);A\B Inny przyk(cid:225)ad: n=11; A=magic(n);B=(1:n) ;A^-1*B Sprawd(cid:296), jakie s(cid:261) wyniki dla n parzystego i nieparzystego. (cid:141) reshape(A,m,n) — zmiana rozmiaru macierzy A na macierz o m wierszach i n kolumnach. Polecenie reshape(a,16,1) zamieni macierz magiczn(cid:261) na wektor kolumnowy, a pole- cenie reshape(a,1,16) — na wektor jednowierszowy. Je(cid:298)eli zamiast jednego z argu- mentów (liczba wierszy lub liczba kolumn) wpiszemy [], MATLAB sam wyliczy, ile ma by(cid:252) kolumn lub wierszy. Funkcja mo(cid:298)e zmienia(cid:252) rozmiary macierzy, ale musi si(cid:266) zga- dza(cid:252) liczba elementów, a wi(cid:266)c wpisanie np. liczby 5 jako liczba wierszy lub kolumn spowoduje b(cid:225)(cid:261)d funkcji. (cid:141) size(A,m) — liczba wierszy i kolumn macierzy A. Je(cid:298)eli pominiemy m, wynikiem dzia(cid:225)ania funkcji size b(cid:266)dzie wektor jednowierszowy o d(cid:225)ugo(cid:286)ci równej wymiarowi macierzy. Macierz jednowymiarowa (wektor) trakto- wana jest jako macierz o jednym wierszu lub jednej kolumnie. Drugim argumentem jest wymiar, którego rozmiar chcemy sprawdzi(cid:252): 1 to wiersze, 2 to kolumny, 3 to liczba macierzy prostok(cid:261)tnych itd. Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 19 Funkcje W MATLAB-ie jest ogromne bogactwo funkcji: s(cid:261) funkcje trygonometryczne, logaryt- miczne, statystyczne, a tak(cid:298)e wiele specjalizowanych funkcji. Drobny przyk(cid:225)ad funkcji wbudowanych przedstawiono w tabeli 1.3. Tabela 1.3. Przyk(cid:225)ady funkcji wbudowanych Funkcja sqrt abs exp log log10 log2 sign sin, cos, tan, cot sind, cosd, tand, cotd gcd lcm Opis pierwiastek warto(cid:286)(cid:252) bezwzgl(cid:266)dna ex logarytm naturalny logarytm dziesi(cid:266)tny logarytm o podstawie 2 znak liczby — warto(cid:286)(cid:252) +1 lub –1 funkcje trygonometryczne (argumentem jest k(cid:261)t w radianach) funkcje trygonometryczne (argumentem jest k(cid:261)t w stopniach) gcd najmniejszy wspólny podzielnik najmniejsza wspólna wielokrotno(cid:286)(cid:252) (9,12) lcm 36 (cid:111) (9,12) 3 (cid:111) Liczba funkcji zale(cid:298)y od liczby zainstalowanych pakietów funkcji, które nazywane s(cid:261) toolboksami. W czasie instalacji programu MATLAB mo(cid:298)emy zdecydowa(cid:252), jakie pa- kiety chcemy zainstalowa(cid:252). List(cid:266) wbudowanych funkcji elementarnych uzyskamy, pisz(cid:261)c: help elfun(cid:128) Cechami wspólnymi wszystkich funkcji s(cid:261): zapis ma(cid:225)ymi literami i sposób wywo(cid:225)ania. Przyk(cid:225)ad wywo(cid:225)ania funkcji z jednym argumentem przedstawiono na rysunku 1.13. zmienna=nazwa_funkcji(argumenty, funkcji, rozdzielone, przecinkami) Rysunek 1.13. Przyk(cid:225)ad wywo(cid:225)ania funkcji Kup książkęPoleć książkę 20 MATLAB. Praktyczny podr(cid:246)cznik modelowania W (cid:225)atwy sposób mo(cid:298)emy utworzy(cid:252) w(cid:225)asne funkcje — przyk(cid:225)adem niech b(cid:266)dzie loga- rytm o dowolnej podstawie: log a x (cid:32) b x log ( ) a log ( ) b W oknie MATLAB-a z menu wybieramy File/New/M-file, do którego wpisujemy: function c=logw(x,a) c=log(x)/log(a); Plik nale(cid:298)y zapisa(cid:252) pod tak(cid:261) sam(cid:261) nazw(cid:261) jak nazwa funkcji, ponadto deklaracja funk- cji musi znale(cid:296)(cid:252) si(cid:266) w pierwszym wierszu pliku. Po wywo(cid:225)aniu funkcji MATLAB przeszukuje (cid:286)cie(cid:298)ki zawarte w zmiennej (cid:286)rodowiskowej PATH. Na li(cid:286)cie przeszukiwanych folderów jest folder Work, który jest tworzony w katalogu instalacyjnym MATLAB-a lub w folderze Moje dokumenty, i tam mo(cid:298)emy zapisa(cid:252) nasz plik z funkcj(cid:261). Po zapi- saniu funkcji w odpowiednim katalogu wywo(cid:225)anie funkcji odbywa si(cid:266) tak jak wy- wo(cid:225)anie ka(cid:298)dej innej (rysunek 1.14). Rysunek 1.14. Test w(cid:225)asnej funkcji Nie jest to jedyny sposób tworzenia w(cid:225)asnych funkcji. Proste jednopoleceniowe funkcje (Help MATLAB-a okre(cid:286)la je jako Anonymous Functions) mo(cid:298)emy utworzy(cid:252) za po- moc(cid:261) operatora @. Funkcj(cid:266) anonimow(cid:261) wywo(cid:225)uje si(cid:266) tak samo jak inne funkcje (ry- sunek 1.15). Rysunek 1.15. Definicja i wywo(cid:225)anie funkcji anonimowej Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 21 Wykresy Do kre(cid:286)lenia wykresów s(cid:225)u(cid:298)(cid:261) funkcje: plot, line, semilogx, semilogy, loglog, bar, bar3 i inne. Argumentami funkcji s(cid:261) wektory danych i (opcjonalnie) format wykresów. Poleceniem: x=-3:0.5:3; y=x.^2; plot(x,y) utworzymy wykres paraboli (rysunek 1.16). Rysunek 1.16. Okno wykresu Sk(cid:225)adnia funkcji plot: plot(Y) plot(X1,Y1,X2,Y2...) plot(X1,Y1,LineSpec,X2,Y2,LineSpec) plot(X1,Y1, PropertyName ,PropertyValue) plot(axes_handle,...) gdzie: LineSpec to napis okre(cid:286)laj(cid:261)cy format wykresu. Mamy mo(cid:298)liwo(cid:286)(cid:252) formatowania koloru linii, rodzaju linii i znacznika punktu. Kup książkęPoleć książkę 22 MATLAB. Praktyczny podr(cid:246)cznik modelowania Oznaczenia formatu wykresu (na podstawie pomocy MATLAB-a): - : -. -- (none) solid dotted dashdot dashed no line B G R C M Y K W niebieski zielony czerwony cyan magenta (cid:285)ó(cid:239)ty czarny bia(cid:239)y . O X + * S D V ^ P H point circle x-mark plus star square diamond triangle (down) triangle (up) triangle (left) triangle (right) pentagram hexagram Poleceniem z rysunku 1.17 utworzymy trzy wykresy w jednym oknie (rysunek 1.18). Rysunek 1.17. Polecenia tworz(cid:261)ce wykresy na rysunku 1.18 Rysunek 1.18. Wykresy utworzone poleceniami z rysunku 1.17 Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 23 (cid:231)wiczenie Chcemy narysowa(cid:252) okr(cid:261)g o promieniu 2 i pocz(cid:261)tku w uk(cid:225)adzie wspó(cid:225)rz(cid:266)dnych. Rozwi(cid:261)zanie: Równanie okr(cid:266)gu we wspó(cid:225)rz(cid:266)dnych kartezja(cid:276)skich mo(cid:298)na zapisa(cid:252) jako: (cid:11) x (cid:16) x 0 (cid:12) 2 (cid:14) (cid:11) y (cid:16) (cid:12)2 y 0 2 (cid:32) r lub jako równanie parametryczne: x (cid:32) (cid:173)(cid:176) (cid:174) (cid:32) y (cid:176)(cid:175) x 0 y 0 r (cid:14) (cid:152) r (cid:14) (cid:152) cos sin (cid:68) (cid:68) gdzie: (0,2 ) (cid:68) (cid:83)(cid:143) Wygodniej narysowa(cid:252) okr(cid:261)g, korzystaj(cid:261)c z równania parametrycznego. Lista polece(cid:276), którymi narysujemy okr(cid:261)g, mo(cid:298)e by(cid:252) taka jak na rysunku 1.19. Rysunek 1.19. Ci(cid:261)g polece(cid:276), którymi narysujemy okr(cid:261)g Na rysunku 1.20 wida(cid:252), (cid:298)e okr(cid:261)g bardziej przypomina elips(cid:266), a to dlatego, (cid:298)e MATLAB próbuje przeskalowa(cid:252) wykres tak, (cid:298)eby zajmowa(cid:225) ca(cid:225)(cid:261) przestrze(cid:276) okna wykresu. Po- leceniem axis equal spowodujemy, (cid:298)e osie x i y b(cid:266)d(cid:261) w tej samej skali, w wyniku czego uzyskamy (cid:286)liczny okr(cid:261)g (rysunek 1.21). Okr(cid:261)g na rysunku 1.21 jest niepe(cid:225)ny, przy k(cid:261)cie zerowym jest przerwa. Zaproponuj, jak zmieni(cid:252) ci(cid:261)g instrukcji 1.19, (cid:298)eby pozby(cid:252) si(cid:266) tej dziwnej przerwy. Oczywi(cid:286)cie mo(cid:298)emy narysowa(cid:252) okr(cid:261)g, wykorzystuj(cid:261)c równanie: ( x (cid:16) x 2 ) 0 (cid:14) ( y (cid:16) 2 ) y 0 2 (cid:32) r Przyjmuj(cid:261)c, (cid:298)e rysujemy okr(cid:261)g o (cid:286)rodku w punkcie (0,0), uzyskamy prostsze równanie: 2 x (cid:14) 2 y 2 (cid:32) r Kup książkęPoleć książkę MATLAB. Praktyczny podr(cid:246)cznik modelowania 24 Rysunek 1.20. Okno wykresu z narysowanym okr(cid:266)giem Rysunek 1.21. Okno wykresu z narysowanym okr(cid:266)giem i z równ(cid:261) skal(cid:261) osi Promie(cid:276) r jest zadany i jest warto(cid:286)ci(cid:261) sta(cid:225)(cid:261). Przyjmijmy, (cid:298)e x jest zmienn(cid:261) niezale(cid:298)n(cid:261), i wyznaczmy z równania y. y (cid:32) (cid:114) 2 r 2 (cid:16) x Jak widzimy, tak naprawd(cid:266) s(cid:261) to dwie funkcje: górna po(cid:225)owa okr(cid:266)gu y (cid:32) 2 r 2 (cid:16) x i dolna po(cid:225)owa okr(cid:266)gu y (cid:32) (cid:16) 2 r 2 (cid:16) x . W poleceniach z rysunku 1.22 nale(cid:298)y zwróci(cid:252) szczególn(cid:261) uwag(cid:266) na pot(cid:266)gowanie do kwadratu i pierwiastka. Prosz(cid:266) zauwa(cid:298)y(cid:252), (cid:298)e w tym przypadku rysujemy dwa wykresy: górn(cid:261) i doln(cid:261) po(cid:225)ow(cid:266) okr(cid:266)gu (rysunek 1.23). Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 25 Rysunek 1.22. Ci(cid:261)g instrukcji rysuj(cid:261)cych okr(cid:261)g Rysunek 1.23. Efekt wykonania ci(cid:261)gu instrukcji z rysunku 1.22 Zadania dla czytelnika Sprawd(cid:296), czy zrozumia(cid:225)e(cid:286) rysowanie wykresów, rysuj(cid:261)c: (cid:141) elips(cid:266), (cid:141) spiral(cid:266) Archimedesa, (cid:141) hipotrochoid(cid:266). Równania mo(cid:298)esz znale(cid:296)(cid:252) na stronach Wikipedii. Za pomoc(cid:261) funkcji subplot mamy mo(cid:298)liwo(cid:286)(cid:252) podzielenia okna i narysowania wykre- sów obok siebie. Poleceniami z rysunku 1.24 utworzymy cztery wykresy w jednym oknie (rysunek 1.25). Kup książkęPoleć książkę 26 MATLAB. Praktyczny podr(cid:246)cznik modelowania Rysunek 1.24. Polecenia tworz(cid:261)ce wykresy w jednym oknie Rysunek 1.25. Wykresy paraboli narysowane czterema ró(cid:298)nymi funkcjami Funkcja subplot wymaga podania trzech argumentów subplot(m,n,p) lub subplot(mnp). Znaczenie tych argumentów jest nast(cid:266)puj(cid:261)ce: m — liczba wykresów w poziomie, n — liczba wykresów w pionie, p — numer wykresu. Kup książkęPoleć książkę Rozdzia(cid:228) 1. (cid:105) MATLAB — szybki start 27 Widzimy, (cid:298)e na osi poziomej jest numer punktu. Mo(cid:298)emy to zmieni(cid:252), podaj(cid:261)c dwa wektory: pierwszy z warto(cid:286)ciami punktów na osi poziomej, drugi z warto(cid:286)ciami punktów na osi pionowej. Standardowe funkcje, za pomoc(cid:261) których mo(cid:298)emy dodawa(cid:252) opisy wykresów i mody- fikowa(cid:252) osie, zawiera tabela 1.4. Opis ciekawszych efektów, które mo(cid:298)emy uzyska(cid:252), znajduje si(cid:266) w rozdziale 7. Tabela 1.4. Funkcje wspomagaj(cid:261)ce rysowanie wykresów Funkcja xlabel( tekst ) xlabel( tekst , Property1 , PropertyValue1,...) ylabel( tekst ) ylabel( tekst , Property1 , PropertyValue1,...) title( tekst ) title( tekst , Property1 , PropertyValue1,...) text(X,Y, napis ) text(X,Y, napis , Property1 , PropertyValue1,…) axis axis on axis off axis([xmin xmax ymin ymax]) axis equal axis auto legend( napis1 , napis2 ,...,) hold on hold off ishold grid on|off clf figure(n) Opis dodaje opis osi poziomej dodaje opis osi pionowej dodaje tytu(cid:225) wykresu dodaje tekst z pocz(cid:261)tkiem w punkcie X,Y. Funkcja text do formatowania napisu u(cid:298)ywa sk(cid:225)adni TeX. kontrola osi; umo(cid:298)liwia kontrol(cid:266) osi w(cid:225)(cid:261)cza osie wy(cid:225)(cid:261)cza osie okre(cid:286)la warto(cid:286)ci ekstremalne osi powoduje, (cid:298)e osie s(cid:261) w tej samej skali przywo(cid:225)uje domy(cid:286)lny sposób zachowania osi, warto(cid:286)ci ekstremalne na podstawie danych itd. dodaje legend(cid:266) do wykresu (napisów nie mo(cid:298)e by(cid:252) wi(cid:266)cej ni(cid:298) wykresów) w(cid:225)(cid:261)cza/wy(cid:225)(cid:261)cza czyszczenie wykresu; hold off (warto(cid:286)(cid:252) domy(cid:286)lna) — wywo(cid:225)anie dowolnej funkcji rysuj(cid:261)cej wykres powoduje wyczyszczenie obszaru roboczego i narysowanie nowego wykresu; hold on powoduje, (cid:298)e obszar wykresu nie jest czyszczony i wykresy s(cid:261) nak(cid:225)adane na siebie informacja o stanie prze(cid:225)(cid:261)cznika hold w(cid:225)(cid:261)cza/wy(cid:225)(cid:261)cza siatk(cid:266) wykresu czy(cid:286)ci obszar wykresu i ustawia hold na off aktywowanie n-tego okna wykresu; ta funkcja jest potrzebna, gdy chcemy mie(cid:252) wi(cid:266)cej ni(cid:298) jedno okno wykresu Kup książkęPoleć książkę 28 MATLAB. Praktyczny podr(cid:246)cznik modelowania Wykresy mo(cid:298)emy nak(cid:225)ada(cid:252) na siebie, oczywi(cid:286)cie je(cid:298)eli MATLAB b(cid:266)dzie w stanie to zrobi(cid:252). Przyk(cid:225)ad wykresów ró(cid:298)nych typów z Helpa MATLAB-a (przet(cid:225)umaczono nazwy warzyw — rysunek 1.26): b = bar(rand(10,5), stacked ); colormap(summer); hold on x = plot(1:10,5*rand(10,1), marker , square ,... markersize ,12, markeredgecolor , y ,... markerfacecolor ,[.6 0 .6], linestyle ,... - , color , r , linewidth ,2); hold off legend([b,x], Marchew , Groszek , Papryka , Zielony groszek ,... Ogórki , Bak(cid:239)a(cid:285)any ) Rysunek 1.26. Okno wykresu z na(cid:225)o(cid:298)onymi ró(cid:298)nymi wykresami w jednym oknie W przyk(cid:225)adzie znacznik zosta(cid:225) okre(cid:286)lony za pomoc(cid:261) opcji tekstowych marker i square . Jest to sposób alternatywny do specyfikacji rodzaju linii. Wypisuj(cid:261)c poszczególne opcje i warto(cid:286)ci, mamy wi(cid:266)cej pisania kosztem wi(cid:266)kszej elastyczno(cid:286)ci: mo(cid:298)emy zmieni(cid:252) nie tylko kszta(cid:225)t znacznika, ale równie(cid:298) kolor i wielko(cid:286)(cid:252). Wszystkie opcje elementów wykresu s(cid:261) dost(cid:266)pne przy u(cid:298)yciu polecenia plottools. Opis tego narz(cid:266)dzia znajduje si(cid:266) w rozdziale 7. Kup książkęPoleć książkę Skorowidz A aerofiniszery, 179 animacje, 141–145 ans, 9 argumenty typu fixdt, 202, 203 sygna(cid:225)u wej(cid:286)ciowego i wyj(cid:286)ciowego w Stateflow, 197–200 transformaty, 185 zmiennej, 8 deklaracja funkcji, 30 dwukropek, 16 blok Chart, 195 Constant, 95, 96 Gain, 94, 201 Integrator, 94, 96 Mux, 101 Relay, 193 Scope, 89–94 stanu, 214 Stop Simulation, 150 Switch, 137 Transfer Fcn, 191 VR Sink, 142–145 XY Graph, 169 b(cid:225)(cid:261)d ca(cid:225)kowania, 63 B C ci(cid:261)g Fibonacciego schemat Stateflow, 207, 208, 210 wyliczenie z wykorzystaniem stanów, 217, 219 Command Window, 7 D debugger Stateflow, 236, 237 definiowanie macierzy, 11, 12 elementy macierzy, 16 eps, 9 E F format metafile, 240 wykresu, 22 funkcje, 30, 31 abs, 19 addpath, 29 anonimowe, 20 axis auto, 27 axis equal, 27 axis off, 27 axis on, 27 axis, 27 cd, 29 clf, 27 exp, 19 eye(n), 17 factorial, 38 figure(n), 27 gcd, 19 getframe, 247 grid on|off, 27 hold off, 27 hold on, 27 imwrite, 246, 247 Kup książkęPoleć książkę 252 MATLAB. Praktyczny podr(cid:246)cznik modelowania funkcje ishold, 27 jednowierszowe, 32 lcm, 19 legend, 27 linspace, 16 log, 19 log10, 19 log2, 19 logspace, 16 magic(n), 17 margin, 191 MATLAB-a generuj(cid:261)ce tablice, 17, 18 mod, 33 movie2avi, 85 odefun, 41 ones(n), 17 pdepe, 74, 75, 77 plot, 21 rand(n), 17 randn(n), 17 roots, 35 saveas, 246 savepath, 29 set, 242, 243 sign, 19 size(A,m), 18 sqrt, 19 step, 185 subplot, 25–27 switch, 148 text, 27 tf, 184, 185 tic, 59 title, 27 toc, 59 trygonometryczne, 19 wbudowane w MATLAB-ie, 19, 20 wspomagaj(cid:261)ce rysowanie wykresów, 27 xlabel, 27 ylabel, 27 zeros(n), 17 funname, 30 G generowanie wektorów, 15 I ikony na pasku narz(cid:266)dziowym okna Stateflow, 196 impulsowy przetwornik elektrohydrauliczny schematy blokowe, 163–166 instrukcja if, 33 instrukcje steruj(cid:261)ce przebiegiem programu, 32–39 K kolejno(cid:286)(cid:252) wykonania dzia(cid:225)a(cid:276), 14 kryterium Nyquista, 191 kwadrat magiczny, 17, 18 liczby w Matlabie, 10 zespolone, 14 L M macierz, 10–12, 14, 17 jednowymiarowa, 18 magiczna, 18 odwrotna, 14 MATrix, 10 model Lotki-Volterry, 46 zawieszenia samochodu, 64 dwumasowy (schematy blokowe), 152–156 N nak(cid:225)adanie wykresów na siebie, 28 nazwy Stateflow, 197 zmiennych, 8 O okno polece(cid:276), 7 operacje arytmetyczne, 13, 14 na macierzy, 13 operatory arytmetyczne, 13, 14 dwukropka, 15, 16 logiczne, 39 (cid:225)(cid:261)czenia warunków, 40 porównania, 39 oscylator harmoniczny, 53–55 a przekszta(cid:225)cenia operatorowe, 186–188 schematy blokowe, 102–113 oscylator harmoniczny z t(cid:225)umieniem, 55, 56 oscylator harmoniczny z wahad(cid:225)em matematycznym schematy blokowe, 129–134 Kup książkęPoleć książkę Skorowidz 253 P pantograf, 173, 175 Parallel Computing Toolbox, 37 Partial Differential Equation Toolbox, 77 PDETool, 77 PDEtoolbox, 77 p(cid:266)tla for, 35, 37 parfor, 37 w Stateflow, 206–219 while, 38, 39 pi, 9 plottool, 240–242 podno(cid:286)nik hydrauliczny schematy blokowe, 118–128 polecenie axis equal, 23 break, 39 clear, 9 continue, 39 if, 33 plottools, 28 reshape, 18 ver, 29 who, 9 whos, 9 przek(cid:225)adnia hydrostatyczna schematy blokowe, 156–162 przekszta(cid:225)cenie operatorowe do rozwi(cid:261)zywania równa(cid:276), 183–194 przepompownia model w Stateflow, 223–233 skalowanie wykresu w Simulink, 92 sk(cid:225)adnia polecenia, 8 skrypt z warto(cid:286)ciami przypisanymi do zmiennych, 101 skrypty, 29, 30 a funkcje, 32 s(cid:225)owo kluczowe else, 33, 34 function, 30 global, 47 sta(cid:225)e, 9 Stateflow, 195–237 p(cid:266)tle, 206–219 warunek logiczny na przyk(cid:225)adzie warto(cid:286)ci bezwzgl(cid:266)dnej, 204–206 sterowanie zdarzeniami, 215 T tablica prawdy, 211–213 steruj(cid:261)ca w(cid:225)(cid:261)czaniem i wy(cid:225)(cid:261)czaniem pomp w pompowni, 232 toolboksy, 29 transformata Laplace’a, 183–186 truthtable, Patrz(cid:3)tablica prawdy tworzenie animacji, 141–145 w(cid:225)asnych funkcji, 20 typ fixdt, 200–202 int, 203 uint, 203 R realmax, 9 realmin, 9 regulator ca(cid:225)kuj(cid:261)cy, 188–191 dwustawny, 192 Stateflow, 219–223 rozdzielanie dzia(cid:225)a(cid:276), 10 rozwi(cid:261)zywanie równa(cid:276) ró(cid:298)niczkowych, 41–88 równania ró(cid:298)niczkowe, 41–88 van der Pola, 59, 61 S schematy blokowe, 89–134, 135–182 Simulink, 89–134, 135–182 przekszta(cid:225)cenia operatorowe, 191 U uchwyt funkcji, 32 uk(cid:225)ady z po(cid:225)ówkowymi stopniami swobody, 135 V Virtual Reality Modelling Language, 142 VRML, 142 W warunek, 33, 34 wielokrotny, 34, 35 warunki brzegowe drugiego rodzaju (Neumanna), 71 pierwszego rodzaju (Dirichleta), 71 trzeciego rodzaju, 71 wektory, 15 Kup książkęPoleć książkę 254 MATLAB. Praktyczny podr(cid:246)cznik modelowania wykresy, 21–25 konfiguracja zaawansowana, 239–247 z dwiema osiami, 244–246 wymuszenie kinematyczne, 111 wyzwalacze, 216, 217 wzmocnienie krytyczne, 189, 190 Z zapisywanie wykresu do pliku, 246, 247 zderzak hydrauliczny schematy blokowe, 145–152 zmienne, 8, 9 path, 29 znak przypisania, 8 Kup książkęPoleć książkę
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

MATLAB. Praktyczny podręcznik modelowania
Autor:

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: