Elementy programowania w MATLABIE

Slides:



Advertisements
Podobne prezentacje
Programowanie w języku Matlab
Advertisements

Elementy programowania w MATLABIE
Temat 2: Podstawy programowania Algorytmy – 1 z 2 _________________________________________________________________________________________________________________.
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Blok I: PODSTAWY TECHNIKI Lekcja 7: Charakterystyka pojęć: energia, praca, moc, sprawność, wydajność maszyn (1 godz.) 1. Energia mechaniczna 2. Praca 3.
Tworzenie odwołania zewnętrznego (łącza) do zakresu komórek w innym skoroszycie Możliwości efektywnego stosowania odwołań zewnętrznych Odwołania zewnętrzne.
Stężenia Określają wzajemne ilości substancji wymieszanych ze sobą. Gdy substancje tworzą jednolite fazy to nazywa się je roztworami (np. roztwór cukru.
PRACA Z APLIKACJAMI SYSTEM PRZEMIESZCZANIA oraz NADZORU WYROBÓW AKCYZOWYCH EMCS PL 1.
ELEMENTY ZESTAWU KOMPUTEROWEGO
© Kazimierz Duzinkiewicz, dr hab. inż. Katedra Inżynierii Systemów Sterowania 1 Metody optymalizacji - Energetyka 2015/2016 Metody programowania liniowego.
Excel 2007 dla średniozaawansowanych zajęcia z dnia
(c) Łukasz Olek. InMoST jest finansowany ze środków EFS. Plan dnia ▪ 10:00-10:15 Wprowadzenie ▪ 10:15-11:30 Innowacje w inżynierii wymagań ▪ 11:30–12:00.
Algorytmy Informatyka Zakres rozszerzony
Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Wydział Informatyki Kierunek: Informatyka Specjalność: Systemy Informatyczne PRACA DYPLOMOWA INŻYNIERSKA.
Wykład 2 Dr Aneta Polewko-Klim
Menu Jednomiany Wyrażenia algebraiczne -definicja Mnożenie i dzielenie sum algebraicznych przez jednomian Mnożenie sum algebraicznych Wzory skróconego.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
Definiowanie i planowanie zadań typu P 1.  Planowanie zadań typu P  Zadania typu P to zadania unikalne służące zwykle dokonaniu jednorazowej, konkretnej.
Projektowanie systemów cyfrowych z wykorzystaniem języka VHDL Układy sekwencyjne.
PORADNIK WPROWADZANIA AKCJI. OGÓLNIE: Akcja musi zostać utworzona i opublikowana co najmniej tydzień przed jej rozpoczęciem. W opisie muszą znajdować.
System operacyjny Renata P. System operacyjny - jest to zbiór nadrzędnych i niezbędnych programów umożliwiających pracę na komputerze. Jest on pośrednikiem.
O PARADOKSIE BRAESSA Zbigniew Świtalski Paweł Skałecki Wydział Matematyki, Informatyki i Ekonometrii Uniwersytet Zielonogórski Zakopane 2016.
Język Java Paweł Rajba
Mikroprocesory.
Programowanie Obiektowe – Wykład 1
Schematy blokowe.
Wyznaczanie miejsc zerowych funkcji
DEFINICJA I ZASTOSOWANIE W JĘZYKU HASKELL
Podstawowe polecenia systemu
Prezentacja o Ubuntu Jakub Kociemba 2TI.
Typy i typy klas.
Rachunki zdań Tautologiczność funkcji
Liczby pierwsze.
Akademia C# - Lab2 Zmienne, instrukcje warunkowe, pętle, debugger,
Przybliżenia dziesiętne liczb rzeczywistych
Rekursje Tak jak w innych językach funkcje mogą odwoływać się same do siebie Możemy regulować głębokość przed stwierdzeniem błędu (MaxRecursion, $RecursionLimit,
ALGORYTMY I STRUKTURY DANYCH
Akademia C# lab. 9 Zdarzenia i delegaty.
Funkcja – definicja i przykłady
Programowanie obiektowe Wykład 10
Programowanie obiektowe
Pobieranie plików wget -m -nd -r -l1 --no-parent -A.csv wget -m -nd -r -l1 --no-parent.
Optymalizacja programów Open-Source
Lekcja 1 – Hello World! Visual Studio, coś łatwego na początek 
Obliczenia w Matlabie Wprowadzenie
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Kurs języka C++ – wykład 13 ( )
Obliczenia w Matlabie Operatory, instrukcje sterujące, operacje bitowe
Wykorzystanie aplikacji użytkowych do przeprowadzenia cyberataku
Bezpieczeństwo dostępu do danych w systemie Windows
Języki programowania.
Sieci komputerowe Protokół TCP/IP.
Temat: Pliki— miejsce na komputerowe informacje
GRUPY DANYCH : Funkcje dostępne z poziomu GRUP DANYCH
Próg rentowności K. Bondarowska.
Laboratorium 1 – obsługa wejść i wyjść
Instrukcje wyboru.
Podstawy informatyki Zygfryd Głowacz.
Zmienne i typy danych w C#
Implementacja rekurencji w języku Haskell
Znajdowanie liczb pierwszych w zbiorze
POZNAJEMY PULPIT Opracowanie: mgr Barbara Benisz SP nr 20 w Rybniku
Bufory.
Język C++ Operatory Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Kwerendy funkcjonalne (Action queries)
Autor: Magdalena Linowiecka
Asynchroniczne operacje I/O za pomocą IOCP
MODELOWANIE ZMIENNOŚCI CECH
Python 3 Wprowadzenie.
Zapis prezentacji:

Elementy programowania w MATLABIE Opracował Dr inż. Mirosław Kwiesielewicz Wydział Elektrotechniki i Automatyki Politechnika Gdańska email: mkwies@ely.pg.gda.pl url: http://www.ely.pg.gda.pl/~mkwies/

M. Kwiesielewicz. Elementy programowania w MATLABIE Wprowadzenie Pliki zawierające kod języka programowania MATLABA nazywają się M-plikami: funkcje, które na podstawie wprowadzonych argumentów zwracają wynik, skrypty, wykonujące sekwencje komend MATLABA; M-pliki tworzy się za pomocą edytora tekstowego Wykonanie M-pliku poprzez wywołanie go z poziomu poleceń MATLABA 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Charakterystyka M-plików Skrypty Nie posiadają argumentów wejściowych, ani wyjściowych Operują na danych w przestrzeni roboczej Wygodne, kiedy często należy wykonać sekwencję tych samych poleceń Funkcje Mogą posiadać argumenty wejściowe i wyjściowe Wewnętrzne zmienne są lokalne dla funkcji Wygodne do rozszerzenia MATLABA o własne aplikacje 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Struktura funkcji function f = fact(n) % FACT Factorial % FACT(N) return ... % Put simply, FACT(N).... f=prod(1:n); Linia definicji. Nazwa funkcji oraz argumenty wejściowe i wyjściowe Linia H1. Wykorzystywana przez polecenie lookfor Tekst pomocy. Wyświetlany przy pomocy polecenia help, łącznie z linią H1. Ciało funkcji. Kod obliczeniowy 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Skrypty Skrypty są najprostszym rodzajem M-plików. Nie posiadają ani argumentów wejścia, ani wyjścia Są wygodne do wielokrotnego wykonywania sekwencji komend Operują na danych z przestrzeni roboczej (WorkSpace) lub tworzą nowe dane Utworzone dane również pamiętane są w przestrzeni roboczej Po zakończeniu działania skryptu wszystkie dane pozostają w przestrzeni roboczej 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Przykładowy skrypt % An M-file script ...... theta = -pi:0.01:pi; rho(1,:) = 2*sin(5*theta).^2; ... for i=1:4 polar(theta,rho(i,:)) pause end Linia komentarza Linie obliczeń Wyświetlanie wyników 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Przykład funkcji function y = average(x) % AVERAGE Mean of vector elements. % AVERAGE(X), where X is a vector, is the mean of vector elements. % Non-vector input results in an error. [m,n] = size(x); if (~((m==1) | (n==1) | (m==1 & n==1))) error('Input must be a vector') end y = sum(x)/length(x); % Actual computation 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Nazwy funkcji Nazwa funkcji musi się zaczynać litrą MATLAB wykorzystuje 31 pierwszych znaków Generalnie liczba znaków zależy od systemu operacyjnego Jeśli nazwa funkcji w linii definicji jest inna niż nazwa pliku, w którym funkcja jest zapamiętana, przyjmowana jest ta ostatnia Lepiej jednak używać tych samych nazw 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Kolejność poszukiwania nazwy zmienne w przestrzeni roboczej zbiór podfunkcji zawartych w tym samym pliku co funkcja wywołująca zbiór funkcji w katalogu prywatnym katalogi ustawione w ścieżce dostępu Uwaga. Funkcja po wywołaniu przechowywana jest w pamięci w postaci pseudokodu. Do jej usunięcia komenda clear. 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Tworzenie pseudokodu funkcji Pseudokod funkcji tworzy się przy użyciu polecenia pcode, np.: pcode average; Polecenie to tworzy Pseudokod funkcji w pliku average.p Polecenie jest użyteczne w przypadku wywoływania aplikacji graficznych oraz, gdy użytkownik chce ukryć kod napisanej funkcji 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Przekazywanie argumentów funkcji MATLAB przekazuje te parametry funkcji przez wartość, które funkcja modyfikuje Jeśli funkcja nie zmienia argumentu, ale używa go tylko w obliczeniach, to MATLAB przekazuje argument przez odniesienie w celu optymalizacji wykorzystania pamieci 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Przestrzeń robocza funkcji Każda M-funkcja posiada własny obszar pamięci, oddzielony od przestrzeni roboczej MATLABA Obszar ten zwany jest przestrzenią roboczą funkcji Każda funkcja posiada swój własny obszar roboczy W MATLABIE można zdefiniować zmienne globalne 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Sprawdzenie liczby argumentów funkcji Funkcje nargin i nargout pozwalają na określenie z jaką liczbą argumentów wejściowych i wyjściowych funkcja jest wywoływana, n.p.: function c = testtarg1(a,b) if (nargin == 1) c = a.^2; eleseif (nargin == 2) c = a + b; end; 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Przekazanie liczby zmiennych argumentów Funkcje varargin i varagout pozwalają na przekazanie liczby wejść i zwrócenie liczby wyjść. MATLAB przechowuje argumenty w specjalnej tablicy cell array. 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Zmienne lokalne i globalne Każda funkcja, zdefiniowana w MATLABIE posiada swoje własne zmienne lokalne W celu dostępu do danej zmiennej z innej funkcji lub przestrzeni roboczej MATLABA należy tą zmienną zadeklarować jako globalną we wszystkich miejscach, gdzie ma dostępna, n.p.: global ALPHA BETA Zalecane jest użycie wielkich liter. 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Zmienne i stałe specjalne ans - zawiera ostatnią zmienną, jeśli do wyrażenia nie przypisano żadnej zmiennej wyjściowej eps - dokładność operacji zmiennoprzecinkowych w MATLABIE realmax - największa liczba zmiennoprzecinkowa realmin - najmniejsza liczba zmiennoprzecinkowa pi - 3.141592... i,j - jednostki urojone inf, NaN, ver 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Instrukcje sterujące Instrukcja warunkowa if, else i elseif Instrukcja wyboru switch z case i otherwise Pętla while Pętla for 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Instrukcja warunkowa if, else i elseif Składnia if wyrażenie_logiczne instrukcje elseif wyrażenie_logiczne else end Przykład if n < 0 disp(‘musi byc >=0’); elseif rem(n,2)==0 a=n/2; else a=(n+1)/2; end 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Instrukcja wyboru Składnia switch wyrażenie_logiczne case wartość1 instrukcje case wartość2 otherwise end Przykład switch input_num case -1 disp(‘negative one’); case 0 disp(‘zero’); case 1 disp(‘positive one’); otherwise disp(‘other value’); end 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Pętla while Składnia while wyrażenie instrukcje end Pętla while wykonuje instrukcje tak długo dopóki wyrażenie jest prawdziwe W przypadku macierzy wszystkie jej elementy muszą być prawdziwe Można ją przerwać poleceniem break Przykład n=1; while prod(1:n) < 1e100 n=n+1; end Powyższa pętla znajduje pierwszą liczbę naturalną dla której n! jest liczbą 100 cyfrową 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Pętla for Składnia for indeks=start:krok:koniec instrukcje end Domyślna wartość kroku wynosi 1 Dla ujemnego kroku koniec kiedy indeks < koniec Przykład min_value=a(1); for i=2:n if a(i)<min_value min_value=a(i); end 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Podfunkcje function [avg, mec]=newstats(u) %NEWSTATS Find mean and ..... n=length(u); avg=mean(u,n); med=median(n,u); function a=mean(v,n) %Calculate average a=sum(v)/n; function m=median(v,n) %Calculate median ... end Funkcja główna Primary function Podfunkcja 1 Subfunction Podfunkcja 2 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Funkcje prywatne Muszą być umieszczone w katalogu o specjalnej nazwie private i są widoczne tylko przez funkcje z katalogów wyższych Można w ten sposób definiować funkcje o takich samych nazwach jak oryginalne funkcje pakietu Należy utworzyć po prostu katalog private 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Polecenia użyteczne przy tworzeniu własnych M-plików disp - wyświetlenie tekstu lub macierzy echo - wyświetlenie tekstu lub macierzy error - przerwanie wykonywania M-pliku input - wprowadzenie danej wejsciowej keybord - udostępnienie klawiatury menu - tworzenie listy wyboru pause - zatrzymanie wykonywania M-pliku return - powrót do funkcji wywołującej lub linii komend 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Niestandardowe uruchamianie poleceń eval - uruchomienie polecenia podanego jako stała łańcuchowa feval - wywołanie i przekazanie parametrów funkcji 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Funkcje pomocnicze clock - CLOCK = [year month day hour minute seconds] cputime - czas w sekundach od uruchomienia MATLABA etime - pomiar różnicy czasów flops - liczba wykonanych operacji zminnoprzecinkowych tic, toc - załączenie i wyłączenie stopera 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

Operacje wejścia wyjścia Otwieranie i zamykanie plików Operacje wejścia/wyjścia niesformatowane Operacje wejścia/wyjścia sformatowane Operacje wskaźnikowe 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Polecenie input Przykład i=input(‘Czy liczyc dalej?(T/N)’,’s’); if isempty(i) i=‘Y’; end Składnia x=input(‘text’) x=input(‘text’,’s’) Opis Wyświetla tekst i zwraca zmienną wprowadzoną przez użytkownika 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Polecenie disp Przykład disp(‘text’) Składnia disp(X) Opis Wyświetla macierz 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE

M. Kwiesielewicz. Elementy programowania w MATLABIE Polecenie fprintf Składnia fprintf(łańcuch,lista) Opis Formatowane wyświetlanie wyniku - łańcuch oznacza format - lista listę zmiennych Przykłady elementów łańcucha %f %.3f %.3e Więcej szczegółów - opis języka C 2019-01-10 M. Kwiesielewicz. Elementy programowania w MATLABIE