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

Podobne dokumenty
Podstawy MATLABA, cd.

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

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

Metody i analiza danych

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

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

1 Programowanie w matlabie - skrypty i funkcje

Laboratorium Cel ćwiczenia Ćwiczenie ma na celu praktyczne przedstawienie grafiki 3D.

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

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

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

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

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:

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

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

WPROWADZENIE DO ŚRODOWISKA SCILAB

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

Graficzna prezentacja wyników

Pętle iteracyjne i decyzyjne

do MATLABa programowanie WYKŁAD Piotr Ciskowski

zajęcia 2 Definiowanie wektorów:

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

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

MATLAB tworzenie własnych funkcji

, h(x) = sin(2x) w przedziale [ 2π, 2π].

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Program na zaliczenie: Odejmowanie widm

ŚRODOWISKO MATLAB cz.4 Tworzenie wykresów funkcji

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

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Usługi Informatyczne "SZANSA" - Gabriela Ciszyńska-Matuszek ul. Świerkowa 25, Bielsko-Biała

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

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

Instrukcja korzystania ze skryptu kroswalidacja.py

Różniczkowanie numeryczne

Matlab MATrix LABoratory Mathworks Inc.

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

PREZENTACJE MULTIMEDIALNE cz.2

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

Egzamin ustny z matematyki semestr II Zakres wymaganych wiadomości i umiejętności

Matlab (5) Matlab równania różniczkowe, aproksymacja

SCENARIUSZ LEKCJI. Wielomiany komputerowe wykresy funkcji wielomianowych

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ć

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

Wprowadzenie do Scilab: macierze

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

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

Programowanie w języku Python. Grażyna Koba

Ćwiczenie 4. Matlab - funkcje, wielomiany, obliczenia symboliczne

FUNKCJA KWADRATOWA. Wykresem funkcji kwadratowej jest parabola o wierzchołku w punkcie W = (p, q), gdzie

. Funkcja ta maleje dla ( ) Zadanie 1 str. 180 b) i c) Zadanie 2 str. 180 a) i b)

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

Wprowadzenie do pakietów MATLAB/GNU Octave

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

Grafika w Matlabie. Wykresy 2D

Podstawowe operacje graficzne.

Elementy metod numerycznych - zajęcia 9

Skrypt 12. Funkcja kwadratowa:

Wprowadzenie do Scilab: funkcje i wykresy

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

FUNKCJA LINIOWA. A) B) C) D) Wskaż, dla którego funkcja liniowa określona wzorem jest stała. A) B) C) D)

Pojęcia, wymagania i przykładowe zadania na egzamin poprawkowy dla klas II w roku szkolnym 2016/2017 w Zespole Szkół Ekonomicznych w Zielonej Górze

ZADANIE 1. ZADANIE 2 Wyznacz wzór funkcji f (x) = 2x 2 + bx + c w postaci kanonicznej wiedzac, że jej miejsca zerowe sa niami równania x 3 = ZADANIE 3

Wizualizacja funkcji w programie MATLAB

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

FUNKCJE I RÓWNANIA KWADRATOWE. Lekcja 78. Pojęcie i wykres funkcji kwadratowej str

Multimetr cyfrowy MAS-345. Instrukcja instalacji i obsługi oprogramowania DMM VIEW Ver 2.0

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

Maxima i Visual Basic w Excelu

Maple i wykresy. 1.1 Najpierw należy się zalogować. Jak to zrobić zostało opisane w moim poprzednim tutorialu.

3) Naszkicuj wykres funkcji y=-xdo kwadratu+2x+1 i napisz równanie osi symetrii jej wykresu.

Funkcja kwadratowa. f(x) = ax 2 + bx + c,

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Drugi sposób definiowania funkcji polega na wykorzystaniu polecenia:

ROZKŁAD MATERIAŁU NAUCZANIA KLASA 1, ZAKRES PODSTAWOWY

Spis treści Szybki start... 4 Podstawowe informacje opis okien... 6 Tworzenie, zapisywanie oraz otwieranie pliku... 23

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

Sieci Komputerowe 2 / Ćwiczenia 1

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

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

FUNKCJA KWADRATOWA. 1. Definicje i przydatne wzory. lub trójmianem kwadratowym nazywamy funkcję postaci: f(x) = ax 2 + bx + c

Obliczenie kratownicy przy pomocy programu ROBOT

Technologie informacyjne lab. 3

Elementy okna MatLab-a

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

SSK - Techniki Internetowe

Kondensator, pojemność elektryczna

Operatory arytmetyczne

Funkcja kwadratowa. f(x) = ax 2 + bx + c = a

Badanie funkcji. Zad. 1: 2 3 Funkcja f jest określona wzorem f( x) = +

Matura z matematyki?- MATURALNIE, Ŝe ZDAM! Zadania treningowe klasa I III ETAP

Równania nieliniowe. LABORKA Piotr Ciskowski

Obliczanie wartości średniej i odchylenia standardowego średniej w programie Origin

AKADEMIA GÓRNICZO HUTNICZA Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Katedra Elektroniki

BIBLIOGRAFIA W WORD 2007

Wprowadzenie do programu Mathcad 15 cz. 1

Elementy projektowania inzynierskiego Przypomnienie systemu Mathcad

Dział I FUNKCJE I ICH WŁASNOŚCI

2. Układy równań liniowych

Transkrypt:

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Modelowanie Systemów Dynamicznych Studia zaoczne, Automatyka i Robotyka, rok II Podstawy MATLABA, cz2. 1. Wielomiany 1.1. Definiowanie wielomianów Zapiszmy przykładowy wielomian II rzędu: y = x 2 + 10 moŝna go zapisać w postaci ogólnej: y = 1x 2 + 0x +10 W Matlabie wpisujemy jedynie współczynniki wielomianu poczynając od najwyŝszej potęgi, czyli: y = [1 0 10] 1.2. Obliczanie wartości wielomianów Wartości wielomianu obliczamy za pomocą funkcji polyval. Wcześniej jednak naleŝy zdefiniować zakres, dla którego chcemy obliczyć te wartości, np: t = -10:0.1:10; wektor od 10 do 10 z krokiem 0.1 p = polyval(y,t); wektor p zawiera wartości wielomianu w zakresie t plot(t,p) rysowanie wielomianu Narysuj wielomian: x 6-2x 5 + 4x 3-16x 2 + 15 w zakresie -2 x 2 1.3. Miejsca zerowe wielomianów Do obliczania miejsc zerowych (pierwiastków) wielomianów słuŝy funkcja roots, np. dla wielomianu: y = x 3 3x 2 20x + 10 naleŝy wpisać: y = [1-3 -20 10] z = roots(y) W wyniku otrzymamy informację: z =

6.0380-3.5099 0.4719 czyli wartości pierwiastków. Sprawdźmy na wykresie czy są to poprawne wartości. W tym celu naleŝy narysować ten wielomian (patrz punkt 1.2) i ustawić zakres osi na: -4 x 7, -60 y 40 za pomocą funkcji axis: axis([-4 7-60 40]) pierwsze dwie liczby oznaczają zakres osi x, a następne dwie zakres osi y. Dla wygody moŝna włączyć siatkę na wykresie: grid Po wpisaniu w linii poleceń ginput (kursor przybierze postać krzyŝa) naleŝy wskazać myszą po kolei miejsca zerowe (wszystkie trzy) na wykresie i nacisnąć Enter: W wyniku otrzymamy informację podobną do poniŝszej (zaleŝy od dokładności trafienia w punkty): ans = -3.5311 0.0877 0.4482-0.2047 6.0495 0.0877 Pierwsza kolumna oznacza współrzędne x a druga współrzędne y wskazanych punktów. Sprawdź czy są zbliŝone do wyników funkcji roots. 1.4. Obliczanie współczynników wielomianu na podstawie miejsc zerowych Z drugiej strony, moŝna znaleźć współczynniki wielomianu na podstawie miejsc zerowych za pomocą funkcji poly: y1 = poly(z) y1 = 1.0000-3.0000-20.0000 10.0000 1.5. Dopasowywanie wielomianu do punktów W jaki sposób znaleźć wielomian, który przechodzi przez zadane punkty? ZałóŜmy, Ŝe chcemy przeprowadzić wielomian przez punkty o współrzędnych: (1,1), (2,2), (3,1), (4,2) widoczne na poniŝszym rysunku.

3 2.5 2 1.5 1 0.5 0 0 0. 5 1 1. 5 2 2. 5 3 3.5 4 4.5 5 MoŜna w tym celu wykorzystać funkcję polyfit o następującej składni: p=polyfit([1 2 3 4],[1 2 1 2],3); Funkcja ta przyjmuje 3 argumenty (dwa wektory i skalar): - wektor współrzędnych x-owych zadanych punktów - wektor współrzędnych y-owych zadanych punktów - stopień wielomianu Funkcja zwraca współczynniki znalezionego wielomianu (zobacz jakie). Następnie na podstawie współczynników trzeba obliczyć wartości wielomianu aby go narysować. W tym celu tworzymy wektor zakresu: t=0:0.1:5; oraz obliczamy wartości: y=polyval(p,t); i rysujemy wielomian na tle punktów: plot([1 2 3 4],[1 2 1 2],'o',t,y, m ) współrzędne punktów punkty w kształcie kółek kolor wielomianu (magenta) wielomian w zakresie t MoŜna teŝ nadać wykresowi tytuł: title('dopasowywanie wielomianu') i zakres: axis([0 5 0 3])

2. M-pliki i m-funkcje 2.1. Skrypty Dotychczas wpisywaliśmy wszystkie komendy w linii poleceń. W przypadku prostych obliczeń to wystarczy, ale dla bardziej skomplikowanych programów (wielu linii kodu) nie jest to wygodne. Zamiast mozolnego wpisywania linijki po linijce kodu moŝna utworzyć tzw. m-plik czyli skrypt (program) Matlaba. Wybierz z menu file new m-file. Otworzy się okno edytora. Wpisz tam wszystkie komendy z punktu 1.5: p=polyfit([1 2 3 4],[1 2 1 2],3); t=0:0.1:5; y=polyval(p,t); plot([1 2 3 4],[1 2 1 2],'o',t,y,'m') axis([0 5 0 3]) title('dopasowywanie wielomianu') Ustaw ścieŝkę na swój katalog roboczy, np. cd f:\praca. Zapisz powyŝszy program do pliku o nazwie np. wielomian.m (plik musi mieć koniecznie rozszerzenie m). Teraz moŝesz uruchomić ten program wpisując po prostu jego nazwę (bez rozszerzenia) w linii poleceń: wielomian 2.2. Funkcje Funkcje róŝnią się od skryptów tym, Ŝe mogą przyjmować argumenty, działają trochę szybciej i zmienne nie są widoczne w przestrzeni roboczej. Przerobimy teraz skrypt z punktu 2.1. na funkcję. Przede wszystkim funkcja musi posiadać słowo kluczowe function zapisane w pierwszej linii kodu, po którym następuje nazwa funkcji (taka sama jak nazwa pliku, w którym jest ta funkcja zapisana). Wybierz z menu file new m-file. Wpisz w oknie edytora zmodyfikowany skrypt: Zapisz powyŝszą funkcję do pliku o nazwie wielomian2.m. Jak widać trzeci argument funkcji polyfit function wielomian2(n) p=polyfit([1 2 3 4],[1 2 1 2],n); t=0:0.1:5; y=polyval(p,t); plot([1 2 3 4],[1 2 1 2],'o',t,y,'m') axis([0 5 0 3]) title('dopasowywanie wielomianu') (stopień wielomianu) nie jest jawnie podany tylko jest przekazywany poprzez argument funkcji wielomian2. Taką funkcję moŝna wywoływać z linii poleceń z dowolnym argumentem, np.: wielomian2(3) lub wielomian2(5)

3. Zapis macierzowy czy pętla for? PoniŜszy kod pokazuje na przykładzie generowania sinusa, Ŝe wiele operacji moŝna wykonać na róŝne sposoby. W szczególności operacje macierzowe zawsze moŝna zastąpić pętlą for. Utwórz i wykonaj poniŝszy kod: dt=0.1 %okres próbkowania %macierzowo: t1=0:dt:2*pi; subplot(2,1,1) %umieszcza kilka wykresów w jednym oknie plot(t1,sin(t1)), title('sinus generowany macierzowo') %pętla: for i=0:2*pi/dt y(i+1)=sin(i*dt); t2(i+1)=i*dt; end subplot(2,1,2) plot(t2,y), title('sinus generowany w petli') Zwróć uwagę na składnię pętli for i argumenty funkcji plot. Matlab jest zoptymalizowany pod względem wykonywania operacji macierzowych, więc zapis macierzowy wykonuje się duŝo szybciej. Pętle są z kolei bardziej uniwersalne nie wszystkie obliczenia moŝna wykonać w zapisie macierzowym. Uwaga: znak % oznacza komentarz taki wiersz jest ignorowany przez program. 4. Wykresy funkcji algebraicznych Wykonaj kilka wykresów funkcji algebraicznych za pomocą funkcji fplot: y = x 3 fplot('x^3',[-10 10]) y = x 3 (x 1)(x 2) 2 fplot('x^3*(x-1)*(x-2)^2',[-0.5 2.5]) y = x e x + x e -x fplot('x*exp(x)+x*exp(-x)',[-10 10]) 5. Wykresy trójwymiarowe Jak wykonać wykres trójwymiarowy poniŝszej funkcji? (-x^2 y^2) z = x e w zakresie: -2 x 2-2 y 2 z krokiem 0.1 Najpierw naleŝy przygotować tzw. siatkę o podanym zakresie za pomocą funkcji meshgrid:

[x,y]=meshgrid(-2:0.1:2,-2:0.1:2); Następnie trzeba zapisać samą funkcję: z=x.*exp(-x.^2-y.^2); i uŝyć którejś z poniŝszych funkcji: mesh(x,y,z) meshc(x,y,z) meshz(x,y,z) surf(x,y,z) surfl(x,y,z),shading interp,colormap(gray) Oglądnij wykresy i zobacz czym się róŝnią. 6. Zadania do samodzielnego wykonania a) Napisz program obliczający pierwiastki równania kwadratowego w formie skryptu (współczynniki równania wprowadzane z klawiatury wewnątrz skryptu) oraz w formie funkcji (współczynniki równania podawane jako argumenty funkcji w linii komend). b) Zapoznaj się z funkcjami do opisywania wykresów: title, xlabel, ylabel, legend, oraz z funkcją do zarządzania wykresami subplot. Skorzystaj z Help a. c) Wygeneruj sygnał sinusoidalny u = sin( 2πft) o długości N próbek. Przyjmij następujące dane: N = 1000, f = 5 (częstotliwość), t = 0.001 (okres próbkowania). Wykonaj to na dwa sposoby: macierzowo i za pomocą petli FOR.