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



Podobne dokumenty
do MATLABa programowanie WYKŁAD Piotr Ciskowski

Skrypty i funkcje Zapisywane są w m-plikach Wywoływane są przez nazwę m-pliku, w którym są zapisane (bez rozszerzenia) M-pliki mogą zawierać

Wprowadzenie do środowiska

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

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Przykładowo, jeśli współrzędna x zmienia się od 0 do 8 co 1, a współrzędna y od 12 co 2 do 25, to punkty powinny wyglądać następująco:

Przetwarzanie sygnałów

Ćwiczenie 1. Wprowadzenie do programu Octave

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

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

Ćwiczenie 1. Wprowadzenie do programu Octave

Wstęp do Programowania Lista 1

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

Matlab Składnia + podstawy programowania

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

MATLAB - laboratorium nr 1 wektory i macierze

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

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

Podstawy MATLABA, cd.

Elementy metod numerycznych - zajęcia 9

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

AUTOMATYZACJA OBLICZEŃ INŻYNIERSKICH. Dr hab. inż. Jacek Kucharski, prof. PŁ Dr inż. Piotr Urbanek

Operacje logiczne i struktury sterujące.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

1 Programowanie w matlabie - skrypty i funkcje

MATLAB tworzenie własnych funkcji

Metody numeryczne Laboratorium 2

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

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

Zanim zaczniemy GNU Octave

Obliczenia w programie MATLAB

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

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

Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3

Matlab Składnia + podstawy programowania

Instalacja

Wprowadzenie do środowiska MATLAB z zastosowaniami w modelowaniu i analizie danych

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

Program na zaliczenie: Odejmowanie widm

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

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

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

Technologie informacyjne lab. 3

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

MATLAB Podstawowe polecenia

Programowanie w języku Python. Grażyna Koba

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

1 Podstawy c++ w pigułce.

Wprowadzenie do pakietów MATLAB/GNU Octave

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

Wprowadzenie do systemu Scilab

1 Przygotował: mgr inż. Maciej Lasota

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

Matlab MATrix LABoratory Mathworks Inc.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Podstawowe operacje na macierzach, operacje we/wy

Podstawowe operacje na macierzach

Podstawy JavaScript ćwiczenia

Zakłócenia w układach elektroenergetycznych LABORATORIUM

Wstęp do Informatyki i Programowania Laboratorium: Lista 1 Środowisko programowania

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

ŚRODOWISKO MATLAB cz.3 Implementowanie algorytmów w skryptach i funkcjach programu

Zad. 3: Układ równań liniowych

Pliki. Operacje na plikach w Pascalu

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Wprowadzenie do Scilab: podstawy języka Scilab

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Wprowadzenie do programu Mathcad 15 cz. 1

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

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 1 AUTOMATYZACJA I ROBOTYZACJA PROCESÓW PRODUKCYJNYCH

Kier. MTR Programowanie w MATLABie Laboratorium. 1. Tworzenie m-plików skryptowych i uruchamianie skryptów

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Metody i analiza danych

Ćwiczenie 3: Wprowadzenie do programu Matlab

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

Laboratorium Techniki Obliczeniowej i Symulacyjnej

Elementy Projektowania Inżynierskiego MATLAB Wprowadzenie.

Języki skryptowe w programie Plans

= i Ponieważ pierwiastkami stopnia 3 z 1 są (jak łatwo wyliczyć) liczby 1, 1+i 3

Wykorzystanie programów komputerowych do obliczeń matematycznych

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

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

Temat 5. Programowanie w języku Logo

4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku

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

Funkcja pierwotna, całka oznaczona na podstawie funkcji pierwotnej

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Scilab skrypty (programowanie)

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

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

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

Trochę o plikach wsadowych (Windows)

Wykresy i interfejsy użytkownika

Transkrypt:

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

Co mam zrobić, jeżeli obliczenia potrzebne są na wczoraj, trzeba jeszcze zrobić wykres, a do tego mam użyć Bardzo Skomplikowanego Czegoś wiedząc o tym raczej niewiele?

Aby móc obliczyć jak rozchodzi się tsunami, albo czy jutro będzie padał deszcz, albo jak wygnie się belka pod obciążeniem potrzebne są odpowiednie równania i sposób na obliczenie rozwiązań tych równań. Im dokładniej chcemy wykonać takie obliczenia, tym większą ilością liczb będziemy się posługiwać. Sensownie jest więc użyć macierzy zamiast robić rachunki na pojedynczych wartościach liczbowych.

Dodawanie Odejmowanie Mnożenie Dzielenie Transponowanie Sprzęganie, sprzęganie hermitowskie Odwracanie i obliczanie wyznacznika Obliczanie śladu macierzy Obliczanie wektorów i wartości własnych

Tworzenie macierzy Wyodrębnianie fragmentu Dekompozycje Czytanie/pisanie/drukowanie/rysowanie Konwersja Uwaga: wektory to też macierze.

for (i = 1; i <= N; i++) for (j = 1; j <= N; j++) { c[i][j] = 0; for (k = 1; k <= N; k++) c[i][j] = c[i][j] + a[i][k] * b[k][j]; } Ten algorytm działa, ale zwykle działa zbyt powoli są szybsze sposoby na mnożenie. To zbyt pracochłonne łatwiej przecież napisać po prostu A * B

Matlab jest programem licencjonowanym, można go kupić http://www.mathworks.com/ Alternatywą są darmowe programy Octave (GNU) http://www.gnu.org/software/octave/ SciLab (Open Source INRIA) http://www.scilab.org/

Interaktywnie CLI GUI Wsadowo skrypty (polecenie diary) run "skrypt.m" matlab r "skrypt" funkcje (alternatywa dla skryptów)

MAT-files zapis poleceniem save odczyt poleceniem load zawierają wartości zmiennych na jakich prowadzi się obliczenia M-files zapis jako pliku z dowolnego edytora tekstu uruchomienie przez podanie nazwy pliku jako polecenia/funkcji (bez.m) MEX-files Simulink: pliki.slx oraz.mdl

Najprościej Google Napisać help Napisać helpdesk Napisać doc Odnaleźć opcję menu help Uruchomić programy przykładowe Przeczytać PDF Przeczytać podręcznik Uwaga: dokumentacja do tworzonych funkcji

Duże i małe litery są traktowane jako różne znaki, zmienna A i zmienna a to dwie różne zmienne. Nie przejmujemy (?) się typami zmiennych Gdy chcemy zobaczyć co jest w zmiennej to ją piszemy w oknie poleceń i naciskamy enter Gdy nie chcemy widzieć wyniku stawiamy średnik Polecenie clear pozwala pozbyć się niepotrzebnych już zmiennych

Możemy macierz wczytać z pliku Możemy ją wpisać z klawiatury [1, 2.1e-8; pi, 1+i] Możemy użyć funkcji do tworzenia macierzy np.: eye(n), speye(n), zeros(n), ones(n), magic(n) rand(n), randi(n), randn(n) gallery(nazwa_macierzy_z_galerii, p1, p2, ) Możemy utworzyć jako ciąg, np. 5:5:25

Dodawanie, odejmowanie, mnożenie zapisujemy jako + - * Transpozycje kropka-apostrof i apostrof Odwracanie macierzy funkcja inv Dzielenie macierzy są dwie odmiany ze ukośnikiem i ukośnikiem odwrotnym Wyznacznik det, ślad trace Suma, różnica, iloczyn elementów sum, diff, prod i mnóstwo innych operacji, np. reshape

Normalnie Matlab każdą operację robi na macierzach (czyli jako operację na macierzach, wektorach i liczbach zależnie od tego co jest użyte) Jeżeli operator poprzedzi się kropką, to Matlab wykona daną operację skalarnie, choć przetworzy tak wszystkie elementy macierzy Funkcje takie jak sinus też wykonują się na wszystkich elementach macierzy naraz.

MatLab pozwala tworzyć bardzo złożone rysunki i zapisywać je np. jako pliki PS (nadają się do druku!) Na początek przydadzą się polecenia plot(x,y) które rysuje wykres y(x) surf(x,y,z) rysujące wykres trójwymiarowy contour(x,y,z) rysujący poziomice Przy pomocy odpowiednich poleceń można umieścić na rysunku tytuły, opisać osie współrzędnych, zmienić skale na logarytmiczne itd.

http://www.mathworks.com/products/matlab/demos. html?file=/products/demos/shipping/matlab/ dostarczane wraz z programem Matlab

Język programowania pakietu Matlab jest językiem programowania Wikipedia

M-pliki MEX-pliki Skrypty w Matlabie Funkcje w Matlabie Instrukcje warunkowe Instrukcje pętli Obsługa wyjątków Programowanie obiektowe?!

Skrypty to pliki, w których jest to czego nie chcemy wpisywać z klawiatury za każdym razem od nowa. Nazwa skryptu powinna mieć rozszerzenie.m, np. policz.m Skrypty to po prostu pliki tekstowe: Notepad++ edit policz.m diary ' policz.m' Aby uruchomić polecenia zapisane w skrypcie piszemy jego nazwę bez.m: policz.m wywołuje się pisząc policz

Skrypt używa zmiennych globalnych. Zmienne zmodyfikowane przez skrypt będą miały nowe wartości także i poza skryptem. Skrypt nie ma zmiennych lokalnych. Skrypty są uruchamiane z bieżącego katalogu. Gdy nie ma w bieżącym, przeszukiwana jest tzw. ścieżka. cd zmiana katalogu addpath dopisywanie katalogu do ścieżki run - uruchamianie skryptu z dowolnego katalogu Kolizje nazw skryptów i zmiennych

Funkcje w Matlabie są lepsze niż skrypty zmienne lokalne zmienne globalne parametry wejściowe parametry wyjściowe uchwyty dokumentacja dla help

Funkcje podstawowe Funkcje inlinie Funkcje anonimowe Funkcje lokalne Funkcje prywatne Funkcje zagnieżdżone Funkcje przeładowane/przeciążone (overloaded)

Jeżeli funkcja nazywa się fun to musi być zapisana w pliku fun.m Na początku musi być napisane słowo kluczowe function, co ma być wynikiem działania, jaka jest nazwa i jakie są parametry Na końcu może być napisane end Wszystkie zmienne wewnątrz funkcji są lokalne chyba że są globalne Specjalne komentarze - autodokumentacja

Zamiast pliku fun.m możemy użyć funkcji inline, np.: fun = inline('x^3-1'); fzero(fun, [0, 1])

Funkcje anonimowe to funkcje nie mające własnej nazwy są wygodniejsze niż inline fzero(@(x)x^3-1, pi/4) Można je nazwać, np.: fun1 = @(x,y)x * y / (x + y) ;

Funkcje prywatne są to tak samo napisane funkcje jak funkcje podstawowe ale umieszczone w folderze private W ten sposób stają się one niedostępne do normalnego wywołania chyba że wywołuje je inna funkcja, taka która jest w folderze w którym jest folder private

elseif

opcja = 'WARIANT1'; switch opcja case {'WARIANT1','WARIANT2'} disp('1 albo 2 ') case 'WARIANT3' disp('3') otherwise disp('ani 1, ani 2, ani 3') end

eps = 1; while (1+eps) > 1 eps = eps/2; end eps = eps*2

a = zeros(k,k) for m = 1:k for n = 1:k a(m,n) = 1/(m + n -1); end end for s = 1.0: -0.1: 0.0,..., end for s = [1,5,8,17],..., end for e = eye(n),..., end for V = A,..., end for k = 1:n, V = A(:,k);..., end

A = rand(3); B = ones(5); try C = [A; B]; catch err % -- tu możemy coś zrobić -- rethrow(err); end

global, persistent break return ~ do pomijania parametrów nargin nargout, ; % # i, j

Matlab jest bardzo prosty w użyciu, efektywność Matlaba jest bardzo wysoka, ale wymaga wektoryzacji problemu, tj. zapisania go macierzowo. Większość obliczeń można równie dobrze wykonać w programach Octave lub SciLab używając takich samych poleceń lub po automatycznej translacji ale niektórych obliczeń nie da się wykonać równie łatwo w darmowych programach. Możliwości graficzne Matlaba znacznie przewyższają konkurencję. Wydajność samych obliczeń numerycznych jest praktycznie taka sama dla wszystkich programów.