Elementy programowania w MATLABIE

Slides:



Advertisements
Podobne prezentacje
Tablice 1. Deklaracja tablicy
Advertisements

Funkcje w PHP ABK.
Język C/C++ Funkcje.
Programowanie w języku Visual Basic
Prowadzący: mgr inż. Elżbieta Majka
Wprowadzenie do języka skryptowego PHP – cz. 2
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
Tworzenie i obsługa programów – przykład 3 uwagi cd. Wykorzystując różne klasy biblioteki języka Java należy pamiętać w jakim pakiecie się znajdują. Wszystkie.
formatowanie kodu źródłowego
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Kurs Pascala – spis treści
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Podstawowe polecenia systemu DOS
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
SO – LAB3 Wojciech Pieprzyca
Komunikacja z arkuszem. Iteracje. Funkcje.
Język ANSI C Operacje we/wy
Wykład 2 struktura programu elementy języka typy zmienne
Schemat Hornera Mgr inż. Michał Szucki.
Język PHP Wprowadzenie.
Pliki WSADOWE.
Podstawy programowania
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Wykład 2 Dr Aneta Polewko-Klim
Programowanie w języku Matlab
PL/SQL Zajęcia nr II PL/SQL(2) M. Rakowski - WSISiZ.
PHP: warunki, pętle, switch, break, continue
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Tworzenie Aplikacji Internetowych
Podstawy informatyki 2013/2014
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
Użytkowanie i programowanie Matlaba
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
MOiPP Wykład 3 Matlab Przykłady prostych metod obliczeniowych.
Zajęcia I Organizacja zajęć Rejestracja i uruchamianie makr
PL/SQL – dalsza wędrówka
Podstawy języka Instrukcje - wprowadzenie
PWSW Mechatronika Wykład 7 Matlab cd.
Instrukcje wyboru.
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
System operacyjny „DOS”, „MS-DOS” oraz wybrane komendy.
Pętle Zajęcia 6.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Instrukcje warunkowe w php. Pętla FOR Czasem zachodzi potrzeba wykonania jakiejś czynności określoną ilość razy. Z pomocą przychodzi jedna z najczęściej.
Tworzenie wykresów część I
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Osoby prowadzące zajęcia z Informatyki (II część): Prof. Mirosław Czarnecki (W+L) Konsultacje:piątek (p. 302a)
Wykład 3 Dr Aneta Polewko-Klim
Informacje ogólne.
Strumienie, Wczytywanie, Zapisywanie, Operacje na plikach
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Wykład 2 Dr Aneta Polewko-Klim
Podstawy tworzenia skryptów
Zespół Szkół Zawodowych im. Króla Jana III Sobieskiego w Przeworsku
Programowanie obiektowe – zastosowanie języka Java SE
Elementy programowania w MATLABIE
System operacyjny „DOS”, „MS-DOS” oraz wybrane komendy.
Dane, zmienne, instrukcje
Haskell Składnia funkcji.
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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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. 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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; 2017-04-17 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. 2017-04-17 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. 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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ą 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 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 2017-04-17 M. Kwiesielewicz. Elementy programowania w MATLABIE