Wprowadzenie do pakietów MATLAB/GNU Octave

Podobne dokumenty
MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

zajęcia 2 Definiowanie wektorów:

Matlab Składnia + podstawy programowania

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Laboratorium Algorytmy Obliczeniowe. Lab. 9 Prezentacja wyników w Matlabie

Wprowadzenie do środowiska

Wstęp do Programowania Lista 1

PODSTAWY INŻYNIERII SYSTEMÓW TECHNICZNYCH

Graficzna prezentacja wyników

Zanim zaczniemy GNU Octave

Podstawowe operacje graficzne.

Podstawy MATLABA, cd.

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Spis treści. I. Skuteczne. Od autora... Obliczenia inżynierskie i naukowe... Ostrzeżenia...XVII

Scilab - podstawy. Wersje instalacyjne programu Scilab mogą zostać pobrane ze strony

Matlab Składnia + podstawy programowania

Ćwiczenie 3: Wprowadzenie do programu Matlab

MATLAB wprowadzenie śycie jest zbyt krótkie, aby tracić czas na pisanie pętli!

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

WYDZIAŁ ELEKTROTECHNIKI, AUTOMATYKI I INFORMATYKI INSTYTUT AUTOMATYKI I INFORMATYKI KIERUNEK AUTOMATYKA I ROBOTYKA STUDIA STACJONARNE I STOPNIA

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

PODSTAWY TWORZENIA WYKRESÓW ORAZ HANDLE GRAPHICS

Wprowadzenie do Octave

PODSTAWY AUTOMATYKI. MATLAB - instrukcje i funkcje zewnętrzne. Grafika w Matlabie. Wprowadzenie do biblioteki Control System Toolbox.

Matlab MATrix LABoratory Mathworks Inc.

WPROWADZENIE DO ŚRODOWISKA SCILAB

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne

Podstawowe operacje na macierzach

Wartości x-ów : Wartości x ów można w Scilabie zdefiniować na kilka sposobów, wpisując odpowiednie polecenie na konsoli.

AKADEMIA GÓRNICZO-HUTNICZA im. Stanisława Staszica w Krakowie

ARKUSZ KALKULACYJNY MICROSOFT EXCEL cz.2 Formuły i funkcje macierzowe, obliczenia na liczbach zespolonych, wykonywanie i formatowanie wykresów.

Technologie informacyjne lab. 3

GNU Octave (w skrócie Octave) to rozbudowany program do analizy numerycznej.

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Przykład 1 -->s="hello World!" s = Hello World! -->disp(s) Hello World!

ARKUSZ KALKULACYJNY komórka

Przetwarzanie sygnałów

Instalacja

ARKUSZ KALKULACYJNY MICROSOFT EXCEL

Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II. Podstawy MATLABA, cz2.

Operatory arytmetyczne

SCILAB. Wprowadzenie do Scilaba:

PRZYKŁADOWE SKRYPTY (PROGRAMY W MATLABIE Z ROZSZERZENIEM.m): 1) OBLICZANIE WYRAŻEŃ 1:

Wykorzystanie programów komputerowych do obliczeń matematycznych

Wprowadzenie do Scilab: funkcje i wykresy

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Grafika w Matlabie. Wykresy 2D

Metody Numeryczne. Laboratorium 1. Wstęp do programu Matlab

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

Wprowadzenie do Scilab: macierze

Ćwiczenie 3. MatLab: Algebra liniowa. Rozwiązywanie układów liniowych

Ćwiczenie 1. Wprowadzenie do programu Octave

Wprowadzenie do MS Excel

Technologia Informacyjna

Elementy okna MatLab-a

TWORZENIE WYKRESÓW (1)

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Metody i analiza danych

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Obliczenia w programie MATLAB

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Ćwiczenie 1. Wprowadzenie do programu Octave

ANALIZA DANYCH I PROCESÓW. Mgr inż. Paweł Wojciech Herbin

Diary przydatne polecenie. Korzystanie z funkcji wbudowanych i systemu pomocy on-line. Najczęstsze typy plików. diary nazwa_pliku

Elementy metod numerycznych - zajęcia 9

> x <-seq(-2*pi, 2*pi, by=0.5) > plot(x, sin(x), type="b",main="wykres funkcji sin(x) i cos(x)", col="blue") > lines(x, cos(x), type="l",col="red")

1) Podstawowe obliczenia. PODSTAWY AUTOMATYKI I ROBOTYKI Laboratorium. Wykonał: Łukasz Konopacki Sala 125. Grupa: poniedziałek/p,

Pakiety matematyczne INP2708W,L

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Grafika dwu- i trójwymiarowa MATLABie

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Laboratorium metod numerycznych numer 1

Wizualizacja funkcji w programie MATLAB

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Programowanie: grafika w SciLab Slajd 1. Programowanie: grafika w SciLab

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

Graficzna prezentacja wyników w MATLABIE

MATrix LABoratory. A C21 delta tvx444 omega_zero. hxx J23 aaa g4534 Fx_38

Wprowadzenie do systemu Scilab

WEKTORY I MACIERZE. Strona 1 z 11. Lekcja 7.

Symulacja obliczeń kwantowych

WIMIM/MIBM/N1/-/B04 WIMIM/ME/S1/-/C46 WIMIM/IM/S1/-/B19

dr inż. Artur Zieliński Katedra Elektrochemii, Korozji i Inżynierii Materiałowej Wydział Chemiczny PG pokój 311

Pakiety matematyczne. Matematyka Stosowana. dr inż. Krzysztof Burnecki

Podstawowe operacje na macierzach, operacje we/wy

Wprowadzenie do systemu GNU Octave. Opracowanie: Jarosław Miszczak (miszczak(at)iitis(.)gliwice(.)pl) Wersja złożona 27/05/2009

2 Przygotował: mgr inż. Maciej Lasota

Cw.12 JAVAScript w dokumentach HTML

Laboratorium Cyfrowego Przetwarzania Obrazów

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

01.Wprowadzenie do pakietu MATLAB

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Transkrypt:

Wprowadzenie do pakietów MATLAB/GNU Octave Ireneusz Czajka wersja poprawiona z 2017 Chociaż dla ścisłości należałoby używać zapisu MATLAB/GNU Octave, w niniejszym opracowaniu używana jest nazwa Matlab, przy czym w zasadzie bez zmian składni można używać tych samych poleceń w pakiecie GNU Octave. Niektóre z podanych przykładów podkreślają równoważność tych pakietów. Ta równoważność dotyczy tylko zakresu podstawowego. Bardziej zaawansowane obliczenia mogą wymagać znacznych modyfikacji skryptów. 1. Wprowadzanie danych do przestrzeni roboczej Dane w Matlab-ie są pamiętane jako zmienne i identyfikowane przez nazwy. Nazwa zmiennej musi zaczynać się od znaku, który nie jest cyfrą ani symbolem działania czy relacji. Zmienne do przestrzeni roboczej można wprowadzać na różne sposoby. Jednym z nich jest wprowadzanie danych bezpośrednio z klawiatury. Poniższe przykłady pomogą zorientować się w sposobach wprowadzania danych do przestrzeni roboczej Matlab-a. Jeżeli wynik działania danej funkcji nie jest przypisany żadnej zmiennej, to Matlab przypisuje go zmiennej o nazwie ans i w następnej operacji można korzystać z tej zmiennej. Na przykład można wpisać następujące wyrażenia w linii poleceń octave:1> [1;3;4] ans = 1 3 4 octave:2> [1 3 4] ans = 1 3 4 Efektem są dwie macierze: pierwsza ma jedną kolumnę i trzy wiersze, druga jeden wiersz i trzy kolumny. Wniosek: średnik ; powoduje przejście do nowego wiersza. Można zmiennym nadać nazwy na przykład tak: octave:3> a=[1 7 2 1; 2 3 5 4; 3 4 4 6; 4 5 5 1] a = 1 7 2 1 2 3 5 4 3 4 4 6

4 5 5 1 octave:4> c=[2 7 8-3; 3 5 4 1;4 4 3 9; 3 3 5 7] c = 2 7 8-3 3 5 4 1 4 4 3 9 3 3 5 7 octave:5> d=[1 6 5 1; 1 3 3 6; 2 4 4 8; 3 4 1 1] d = 1 6 5 1 1 3 3 6 2 4 4 8 3 4 1 1 Innym sposobem wprowadzania danych jest odczytanie ich z pliku. Zależnie od formatu danych W pliku stosujemy albo odczyt W trybie binarnym, albo odczyt W trybie tekstowym. Poniższy przykład pokazuje jak odczytać dane z pliku tekstowego i binarnego: load plik.dan %odczyt z pliku tekstowego load plik.mat %odczyt z pliku binarnego Ciekawym i użytecznym sposobem tworzenia macierzy w Matlab-ie i odwoływania się do ich elementów jest tzw. notacja dwukropkowa, dzięki której można w zwięzły sposób generować wektory elementów o stałym kroku: j:k taki zapis generuje wektor [j, j+1, j+2,...,k] j:h:k taki zapis generuje wektor podobny do powyższego, z tym, że kolejne wartości elementów wektora są zwiększane o h, a nie o 1 jak wyżej; czyli uzyskuje się wektor [j, j+h, j+2h, j+3h,..., k] Korzystając z notacji dwukropkowej można też dokonywać wyboru kolumn lub Wierszy z macierzy, aby dokonywać na nich operacji. A(:,i) wypisanie i-tej kolumny macierzy A A(:,j:k) wypisanie kolumn od j do k macierzy A A(1,:) wypisanie i-tego wiersza macierzy A, np.: >> y=0:.1:1 y = Columns 1 through 7: 0.00000 0.10000 0.20000 0.30000 0.40000 0.50000 0.60000 Columns 8 through 11: 0.70000 0.80000 0.90000 1.00000 >> A=magic(5) A = Katedra Systemów Energetycznych i Urządzeń Ochrony Środowiska, WIMiR, AGH 2

17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 >> y=a(:,3) y = 1 7 13 19 25 Więcej przykładów można znaleźć na przykład w pozycji [1] na stronach 62 i 63. 2. Operacje macierzowe w Matlabie Ponieważ domyślnym przedmiotem operacji wykonywanych w Matlab-ie są macierze, więc każda zmienna czy stała użyta przez użytkownika w trakcie sesji jest traktowana jak macierz. W Matlab-ie zaimplementowano dwa rodzaje operacji na macierzach arytmetyczne operacje macierzowe, określone regułami algebry liniowej; arytmetyczne operacje tablicowe, wykonywane na elementach macierzy. Tabela 1 zawiera zestawienie podstawowych operatorów macierzowych i tablicowych zaimplementowanych w Matlab-ie Oprócz operatorów arytmetycznych Matlab zawiera operatory logiczne i operatory relacji. Służą one do dokonywania porównań. Tabela 2 zawiera spis tych operatorów dostępnych w opisywanym środowisku. Tabela 1. Operatory arytmetyczne Operator Opis Operator Przykład Uwagi macierzowy tablicowy macierzowy tablicowy + Dodawanie + A+B A+B plus - Odejmowanie - A-B A-B minus * Mnożenie * A*B A.*B mtimes, times ^ Potęgowanie.^ A^B A.^B mpower, power \ Dzielenie lewostronne.\ A\B A.\B mldivide, ldivide / Dzielenie prawostronne./ A/B A./B mrdivide, rdivide Sprzężenie hermitowskie A dla macierzy rzeczywistych jest transpozycją ctranspose. Transpozycja A. transpose Katedra Systemów Energetycznych i Urządzeń Ochrony Środowiska, WIMiR, AGH 3

Tabela 2. Operatory logiczne i operatory relacji Symbol Relacja Symbol Operacja logiczna < mniejsze od & AND koniunkcja <= mniejsze lub równe OR alternatywa > większe od ~ NOT negacja >= mniejsze lub równe xor wyłącznie OR == równe = różne od 3. Podstawy użycia grafiki w Matlab-ie Wszystkie wyniki obliczeń można w łatwy sposób obrazować graficznie. Niektóre służące do tego celu funkcje zostały zestawione w tabeli 4. Jako argumenty większości z tych funkcji można podawać rodzaj i kolor linii, którą ma być rysowany dany wykres. Można w jednym poleceniu podać kilka zestawów danych do rysowania, aby zostały zobrazowane na jednym wykresie np.: x1=0:0.1:2; y1=2*x1; x2=-0.5:0.2:1.5; y2=x2.^2; x3=x1-0.2; y3=2*x3-x3.^2; plot(x1, y1, o, x2, y2, x3, y3, : ) grid 4 3.5 3 2.5 2 1.5 1 0.5 0 0.5 0.5 0 0.5 1 1.5 2 Rysunek 1. Przykładowy rysunek Jak pokazano na rysunku 1, powyższe polecenia spowodują narysowanie trzech zestawów danych na jednym wykresie w następujący sposób Katedra Systemów Energetycznych i Urządzeń Ochrony Środowiska, WIMiR, AGH 4

y1=f(x1) zaznaczy punkty okręgami, y2=f(x2) łączy punkty stosując interpolację liniowa, y3=f(x3) zostanie przedstawiony linią punktową, oprócz tego zostanie narysowana siatka współrzędnych. Kolory zostaną dobrane automatycznie w taki sposób aby odróżnić wykresy od siebie. Inne rodzaje linii zostały przedstawione w tabeli 3. Tabela 3. Rodzaje linii w Matlab-ie Symbol Rodzaj linii Symbol Rodzaj linii Symbol Rodzaj linii. punkt + plus : kropkowa o okrąg * gwiazdka -. punktowa x znak x - ciągła -- kreskowa Tabela 4. Wybrane funkcje graficzne Polecenie Opis Przykład plot skala liniowa na osiach x=1:10;y=sin(x);plot(x,y) loglog skala logarytmiczna na osiach x=1:10;y=sin(x);loglog(x,y) bar wykres słupkowy x=[1 2 5];y=[1 3 2];bar(x,y) hist histogram y=rand(100,1);hist(y,20) rose histogram kołowy rose(randn(1,1000)) semilogx skala logarytmiczna na osi x x=1:10;y=sin(x);semilogx(x,y) semilogy skala logarytmiczna na osi y x=1:10;y=sin(x);semilogy(x,y) boxplot wykres pudełkowy x=randn(100,5);boxpot(x) fplot wykres funkcji ciagłej fplot(7sin(x)",[0 4*pi]) Opisy i komentarze wykresów grid nałożenie siatki współrzędnych fplot(7sin(x)7,[0 B]); grid gtext umieszczenie napisu w miejscu gtext( Ten tekst wstawiam ) wskazanym myszą text umieszczenie tekstu w zadanym x=1:10;comet(x,x.^2); text(1,1, To wstawiamy ) miejscu wykresu title tytuł wykresu fplot( sin(x),[0 3]);title( Tytul ) xlabel opis osi x fplot( sin(x),[0 3]);xlabel( Pozioma ) ylabel opis osi y fplot( sin(x),[0 3]);ylabel( Pionowa ) Warto pamiętać o tym, że Matlab pozwala na eksportowanie rysunków w wielu formatach. Do zapisu bieżącego aktywnego rysunku służy polecenie print( -depsc2, rysunek1.eps ) rysunek zostanie zapisany w formacie eps. Oprócz tego formatu można wykorzystać wiele innych. Możliwości polecenia print zostały szerzej opisane w pomocy programu. 4. Przegląd możliwości Matlab-a za pomocą programów demonstracyjnych Niniejszy podrozdział zawiera treści dotyczące nieco starszych wersji Matlab-a. expomap główny plik demonstracyjny Matlab a; Katedra Systemów Energetycznych i Urządzeń Ochrony Środowiska, WIMiR, AGH 5

Tabela 5. Podstawowe polecenia do pracy z plikami i katalogami Polecenie dir, ls type cd pwd help opis wyświetla zawartość katalogu wypisuje zawartość pliku na ekran pozwala na zmianę bieżącego katalogu wyświetla ścieżkę bieżącego katalogu wyświetla komentarze z początku m-pliku jako pomoc do pliku intro przegląd właściwości Matlab a, jeżeli chodzi o operacje macierzowe, wprowadzanie zmiennych do przestrzeni roboczej; matmanip operacje macierzowe; graf2d wykresy dwuwymiarowe w Matlab-ie funfuns podstawowe operacje algebraiczne na funkcjach grafcplx wykresy funkcji zespolonych xplang przykłady m plików funkcyjnych 5. Polecenia dotyczące obsługi plików i katalogów Czasami zachodzi potrzeba wykonania operacji na plikach lub katalogach bez opuszczania sesji Matlab a. Podstawowym przykładem jest ustalenie nowego katalogu roboczego. Aby tego dokonać korzystamy z polecenia cd scieżka_dostępu Tabela 5 zawiera wybrane polecenia dotyczące pracy z plikami i katalogami. Można też wykorzystywać plecenia systemu operacyjnego za pomocą operatora! lub jako parametry polecenia dos czy unix np.:!date, dos( p2mope.exe ) lub unix( ls -lah ). Literatura [1] B. Mrożek, Z. Mrożek: MATLAB uniwersalne środowisko do obliczeń naukowo-technicznych. PLJ Warszawa 1996 [2] A. Zalewski, R. Cegieła: MATLAB obliczenia numeryczne i ich zastosowania. Wydawnictwo Nakom Poznań 1996 [3] P. Drozdowski: Wprowadzenie do MATLAB-a. Politechnika Krakowska, Kraków 1995 Katedra Systemów Energetycznych i Urządzeń Ochrony Środowiska, WIMiR, AGH 6