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

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

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

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

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

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

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

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 MATLABA, cd.

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

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

Metody numeryczne Laboratorium 2

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ć

MATLAB tworzenie własnych funkcji

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

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

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

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

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

Spis treści MATLAB - SKRYPTY I FUNKCJE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF08

Rozwiązywanie równań różniczkowych z niezerowymi warunkami początkowymi

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

//warunki początkowe m=500; T=30; c=0.4; t=linspace(0,t,m); y0=[-2.5;2.5];

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

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

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

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

Ćwiczenie 0 : Wprowadzenie do cyfrowego przetwarzania sygnałów. wyświetla listę tematów pomocy. wyświetla okno pomocy (Help / Product Help)

do MATLABa programowanie WYKŁAD Piotr Ciskowski

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

AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

Odniesienie do kierunkowych efektów kształcenia Zna podstawowe możliwości pakietu Matlab

Analiza Algebra Podstawy programowania strukturalnego. Podstawowe wiadomości o funkcjach Podstawowe wiadomości o macierzach Podstawy programowania

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

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

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

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:

1 Programowanie w matlabie - skrypty i funkcje

III TUTORIAL Z METOD OBLICZENIOWYCH

Wprowadzenie do pakietów MATLAB/GNU Octave

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

STEROWNIKI PROGRAMOWALNE OBSŁUGA AWARII ZA POMOCĄ STEROWNIKA SIEMENS SIMATIC S7

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

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Rys.2.1. Drzewo modelu DOM [1]

WPROWADZENIE ŚRODOWISKO OBLICZEŃ NUMERYCZNYCH MATLAB - SIMULINK

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania interfejsu automatyzacji OLE w systemie CAx

Programowanie w języku Python. Grażyna Koba

Programowanie w Scilab

Program na zaliczenie: Odejmowanie widm

Funkcje i instrukcje języka JavaScript

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Przetwarzanie sygnałów

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

Metody i analiza danych

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

Temat zajęć: Tworzenie skryptów powłoki systemu operacyjnego.

Matlab Składnia + podstawy programowania

Operatory arytmetyczne

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

INSTRUKCJA LABORATORIUM ELEKTROTECHNIKI

Matlab MATrix LABoratory Mathworks Inc.

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

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

Ćwiczenie 1. Wprowadzenie do programu Octave

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

Matlab Składnia + podstawy programowania

Wprowadzenie do systemu Scilab

MATLAB - podstawy użytkowania

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

LABORATORIUM MODELOWANIA I SYMULACJI. Ćwiczenie 4 PODSTAWOWE UKŁADY DYNAMICZNE

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

WPROWADZENIE DO ŚRODOWISKA SCICOS

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

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

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

Bash - wprowadzenie. Bash - wprowadzenie 1/39

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

Wstęp do programowania. Wykład 1

d) Definiowanie macierzy z wykorzystaniem funkcji systemu Matlak

Interpolacja i aproksymacja, pojęcie modelu regresji

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy. Obowiązkowy Polski VI semestr zimowy

Rok akademicki: 2013/2014 Kod: STC s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Scenariusz lekcji. scharakteryzować budowę procedury w języku Logo; rozróżnić etapy tworzenia i wykonania procedury;

Pakiety matematyczne INP2708W,L

E-E-A-1008-s5 Komputerowa Symulacja Układów Nazwa modułu. Dynamicznych. Elektrotechnika I stopień Ogólno akademicki. Przedmiot kierunkowy

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Język programowania PASCAL

Ćwiczenie 3: Wprowadzenie do programu Matlab

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

1 Przygotował: mgr inż. Maciej Lasota

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Wprowadzenie do środowiska

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Transkrypt:

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Teoria sterowania MATLAB funkcje zewnętrzne (m-pliki, funkcje) Materiały pomocnicze do ćwiczeń laboratoryjnych 1 Część VI Opracowanie: Michał Grochowski, dr inż. Robert Piotrowski, dr inż. Bartosz Jaworski, mgr inż. Gdańsk 1

W MATLAB ie użytkownik na do dyspozycji dwa rodzaje funkcji zewnętrznych: skrypty i funkcje. Każda z tych funkcji ma postać pliku tekstowego ASCII i jest tworzona za pomocą dowolnego edytora tekstowego. Dzięki możliwości tworzenia własnych funkcji, MATLAB uzyskał właściwości języka proceduralnego. Funkcje zewnętrzne skrypty (m-pliki) MATLAB jest zwykle wykorzystywany w trybie interaktywnym; kiedy zostanie wprowadzone polecenie, MATLAB przetwarza je natychmiast i wyświetla odpowiedź. MATLAB jest jednak w stanie wykonywać sekwencję poleceń zapisanych w pliku. Plik dyskowy zawierający polecenia MATLAB a jest nazywany M-plikiem, ponieważ rozszerzeniem nazwy takiego pliku jest.m (Rys. 1). Na przykład, plik o nazwie bessel.m zawiera polecenia MATLAB a, które służą obliczeniu funkcji Bessel a. M-pliki nazywane są też funkcjami zewnętrznymi MATLAB a. Dowolny M-plik składa się z poleceń MATLAB a, wśród których mogą znajdować się odwołania do innych M-plików. Dowolny M-plik może odwoływać się do samego siebie rekursywnie. Przykładowy m-plik pokazany jest na Rys. 2. Rys. 1. Otwarcie nowego m-pliku 2

Rys. 2. Przykładowy m-plik Skrypty są zestawem większych lub częściej używanych poleceń (zbiorem tekstowym zawierającym polecenia), które mają być wykonane przez interpreter MATLAB a. Skrypt nie musi spełniać żadnych dodatkowych wymogów formalnych poza poprawnością znajdujących się w nim poleceń. Wywołanie skryptu dokonuje się przez podanie jego nazwy w wierszu poleceń lub w skrypcie. W jego efekcie zostaną wykonane wszystkie instrukcje znajdujące się w skrypcie. Komentarze w skrypcie poprzedza się znakiem %. Komentarze nie są analizowane przez interpreter, a pełnią tylko rolę dokumentacyjną. Przykład 1 % Przykładowy skrypt MATLAB a kreślący wykres funkcji x=-5:0.1:5; y=x.^2; plot(x,y); grid; title('przykladowy wykres funkcji'); xlabel('x'); ylabel('y'); Funkcje zewnętrzne funkcje 3

Definicję funkcji umieszcza się w skrypcie o nazwie identycznej z nazwą definiowanej funkcji i rozszerzeniem.m. Funkcje przyjmują argumenty wejściowe oraz zwracają argumenty wyjściowe. Definicja funkcji w MATLAB ie ma postać: function [argumenty wejściowe] = nazwa funkcji(argumenty wyjściowe) ciąg-instrukcji W przypadku, gdy funkcja nie zwraca argumentów wyjściowym może zostać zapisana w następującej postaci: function nazwa_funkcji (argumenty wejściowe) Analogicznie jak w skrypcie, komentarze w funkcji poprzedza się znakiem %. W zasadniczej części funkcji mogą znajdować się wywołania do innych funkcji, konstrukcje programowe realizujące operacje wejścia/wyjścia, obliczenia, komentarze, linie puste itp. W funkcji wyróżniamy dwa rodzaje zmiennych: lokalne i globalne. Zmienne utworzone w trakcie wykonywania funkcji to zmienne lokalne. Zmienne te nie są dostępne w przestrzeni roboczej MATLAB a. Zmienne globalne są dostępne w przestrzeni roboczej MATLAB,a i poprzedza je słowo global. Weźmy więc analizowany wcześniej przykład m-pliku i zamieńmy go na funkcję: Przykład 2 function wykres (a,b) plot(a,b); grid; title('przykladowy wykres funkcji'); xlabel('x'); ylabel('y'); Zapisując podany wyżej kod jako wykres.m (Ważne! m-plik z funkcją musi się nazywać identycznie jak sama funkcja) będziemy mogli w głównym oknie środowiska Matlab wywołać funkcję wykres równie wygodnie jak np. funkcję sinus: 4

Inny przykład funkcji, która posiada argument wyjściowy: Przykład 3 function [Z] = odcinanie(z,m) x=size(z,1); z=size(z,2); for a=1:x for b=1:z end end; if Z(a,b)>m Z(a,b)=randi([0,m]); end disp(z); Kod ten służy do limitowania wartości macierzy, dzięki czemu macierz b: 5

b=[1 12 3 5 6] po wywołaniu: b=odcinanie(b,12) stanie się macierzą: b=[1 3 3 5 6] lub podobną. Kolejny przykład funkcji, która posiada kilka argumentów wejściowych i wyjściowych (funkcja wyliczająca sumę oraz iloczyn dwóch liczb): Przykład 4 function [iloczyn,suma]=moja_funkcja(x,y) iloczyn = x*y; suma = x+y; %Defin. nazwy oraz argumentów %Przypis. wart. wyjściu iloczyn %Przypis. wartości wyjściu suma Użycie własnej funkcji: >> moja_funkcja(1,2) %Komenda zwróci tylko pierwszą wartość ans = 2 >> [iloczyn,suma] = moja_funkcja(1,2) %Komenda zwróci obydwie wartości iloczyn = 2 suma = 3 Bibliografia Brzózka J., Dorobczyński L. Matlab środowisko obliczeń naukowo technicznych. Wydawnictwo MIKOM, 2005. Mrozek B., Mrozek Z. Matlab i Simulink. Poradnik użytkownika. Wydanie II. Wydawnictwo HELION, 2004. Zalewski A., Cegieła R. Matlab obliczenia numeryczne i ich zastosowania. Wydawnictwo NAKOM, 1996. 6