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



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

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

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Podstawy MATLABA, cd.

Elementy metod numerycznych - zajęcia 9

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Obliczenia w programie MATLAB

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

1 Programowanie w matlabie - skrypty i funkcje

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

Pętle iteracyjne i decyzyjne

Matlab Składnia + podstawy programowania

MATLAB Podstawowe polecenia

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Zakłócenia w układach elektroenergetycznych LABORATORIUM

Metody numeryczne Laboratorium 2

Wprowadzenie do Scilab: macierze

Metody i analiza danych

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

Ćwiczenie 3: Wprowadzenie do programu Matlab

MATLAB - laboratorium nr 1 wektory i macierze

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

Matlab Składnia + podstawy programowania

Zanim zaczniemy GNU Octave

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

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 Scilab: macierze

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:

Wprowadzenie do Mathcada 1

Instalacja Pakietu R

Języki skryptowe w programie Plans

MATLAB tworzenie własnych funkcji

Przetwarzanie sygnałów

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

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

Cw.12 JAVAScript w dokumentach HTML

Laboratorium 1b Operacje na macierzach oraz obliczenia symboliczne

4. Funkcje. Przykłady

ANALIZA DANYCH I PROCESÓW. Mgr inż. Paweł Wojciech Herbin

zajęcia 2 Definiowanie wektorów:

Ćwiczenia 11 (12) (4 godziny). Wizualizacja i manipulacja w Matlabie

Ćwiczenie 1. Wprowadzenie do programu Octave

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Wstęp do Programowania Lista 1

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

WPROWADZENIE DO ŚRODOWISKA SCILAB

Technologie informacyjne lab. 3

ŚRODOWISKO MATLAB WPROWADZENIE. dr inż. Dariusz Borkowski. Podstawy informatyki. (drobne) modyfikacje: dr inż. Andrzej Wetula

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

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

Elementy Projektowania Inżynierskiego MATLAB Wprowadzenie.

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

Wprowadzenie do Pakietu R dla kierunku Zootechnika. Dr Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Operatory arytmetyczne

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

3 1 + i 1 i i 1 2i 2. Wyznaczyć macierze spełniające własność komutacji: [A, X] = B

JAVAScript w dokumentach HTML (2)

Metody i analiza danych

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Zadania. Rozdział Wektory i macierze. 1.Podajpolecenie 1,któreutworzywektor: v = [100, 95, 90,..., 95, 100].

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Wprowadzenie do Scilab: podstawy języka Scilab

Wykorzystanie programów komputerowych do obliczeń matematycznych

Matlab MATrix LABoratory Mathworks Inc.

Podstawy Programowania Podstawowa składnia języka C++

ARKUSZ KALKULACYJNY komórka

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

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

Wprowadzenie do środowiska

Ćwiczenie 1. Wprowadzenie do programu Octave

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

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

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

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

01.Wprowadzenie do pakietu MATLAB

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

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

Pakiety matematyczne INP2708W,L

Metody optymalizacji - wprowadzenie do SciLab a

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

Funkcja pierwotna, całka oznaczona na podstawie funkcji pierwotnej

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

Wprowadzenie do Octave

Matematyka finansowa w pakiecie Matlab

Arkusz kalkulacyjny. Technologia Informacyjna Lekcja 38-39

Programowanie w języku Python. Grażyna Koba

Wprowadzenie do pakietów MATLAB/GNU Octave

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

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

Podstawy obsługi pakietu GNU octave.

PętlaforwOctave. Roman Putanowicz 13 kwietnia 2008

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 MATLAB z zastosowaniami w modelowaniu i analizie danych

Laboratorium 3 Grafika 2D i 3D w Matlabie. Wprowadzenie do programowania

Wprowadzenie do Scilab: macierze

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

Transkrypt:

Metody Numeryczne Laboratorium 1 Wstęp do programu Matlab

1. Wiadomości wstępne liczby, format Program Matlab używa konwencjonalną notację dziesiętną, z kropka dziesiętną. W przypadku notacji naukowej litera e służy do określenia wykładnika potęgi dziesięć. W przypadku liczb zespolonych używa się zarówno literę i, jak j przy części urojonej liczby zespolonej. Przykłady liczb w programie Matlab : 3-99 0.0001 1.60210e-20 6.02252e23 1i -3.14159j 3e5i Wszystkie liczby są zachowywane w formacie długim (format long). Na komputerach wykorzystujących 32-bitowy procesor odpowiada to dokładności do 16 cyfr znaczących po kropce dziesiętnej i zakresowi od 10 308 do 10+308. Polecenie format kontroluje format liczb wyświetlanych przez program MATLAB. Polecenie jest jedynie odpowiedzialne za sposób wyświetlania liczb, a nie dokładność obliczeń i sposób ich zapamiętywania. Wpisz w Command Window następujące polecenie: >>help format Zapoznaj się pomocą dotyczącą formatu wyświetlanych liczb. Wykonaj następujące ćwiczenie wpisując w Command Window następujące polecenia: = 0.12345678901234567890 >> format short e >> format short >> format long >> format long e Stosując powyższe komy przeanalizuj różnice między formatami dostępnymi w programie Matlab.

2. Macierze Program Matlab nie wymaga deklaracji typów danych i ich rozmiarów. Pamięć przydzielana jest automatycznie aż do jej wyczerpania. Wielkość pamięci przypisanej poszczególnym zmiennym można uzyskać komą whos. = [1 2 3 4 5 6 7 8 9 0] >> whos a Najprostszy sposób definiowania macierzy to wpisanie wszystkich jej elementów. Elementy macierzy oddzielane są spacjami a znak średnika użyty wewnątrz macierzy oznacza koniec danego wiersza i przejście do następnego. Jeśli chcemy uniknąć wypisywania na monitorze wyników wykonywanych operacji należy daną operację zakończyć średnikiem na końcu linii. >> b = [1 2 3 4 5; 6 7 8 9 0] >> c = [10 11 12 13 14]; >> c >> d = [1+j; 2+10i; 2+2*j; 3+4*i]; >> d Elementy macierzy mogą być także definiowane jako wyrażenia funkcyjne. >> e = [sin(1) sin(10) cos(20)]; >> e W programie Matlab generowanie wektora odbywa się przy pomocy komy: x = xpocz : przyrost : xfin gdzie: xpocz pierwszy element wektora przyrost różnica między dwoma kolejnymi elementami xfin element maksymalny wektora >> x = 1 : 5 >> x = -pi/2 : pi/8 : pi/4 >> x = 10 : -3 : 5 Gdy wektor ma pełnić rolę np. współrzędnej osi x zalecana jest użycie funkcji linspace(x1, x2, n) lub logspace(d1, d2, n). >> x = linspace(1, 100, 5) >> x = logspace(0, 2, 5) = [1 2 3; 4 5 6];

>> size(a) polecenie size zwraca wymiar macierzy >> length(a) zwraca liczbę kolumn lub liczbę wierszy w zależności od tego czy macierz ma więcej kolumn czy wierszy >> clear a polecenie usunięcia zmiennej a z pamięci = [1 2 3 4 5; 6 7 8 9 0] wypełnianie macierzy (; jest separatorem wierszy) = [1.1 : 2.2 : 7] wypełnianie macierzy (min:skok::max), domyślny skok to 1 >> who polecenie who pokazuje wszystkie zmienne w przestrzeni roboczej >> whos polecenie whos pokazuje wszystkie zmienne i ich rozmiary = [1,0,0,0,0,1] zapamiętaj role przecinka - oddziela on koleje pola macierzy >> b = [2;4;6;10] zapamiętaj role średnika - to separator wierszy macierzy >> c = [5 3 5; 6 2-3] spacja pełni role taka jak przecinek >> d = [3 4 5 7 9 10] zapamiętaj role zmiany linii (Enter) w trakcie wypełniania macierzy, jest ona taka sama jak rola średnika >> e = [3 5 10 0; 0 0... 0 3; 3 9 9 8]... to znak kontynuacji wiersza >> t = [4 24 9] >> q = [t 0 t] zauważ, ze elementami macierzy mogą być macierze >> x = [3 6] >> y = [d;x] >> z = [x;d] macierz d była wprowadzone wcześniej i zapamiętana w przestrzeni roboczej

>> r = [c;x,5] >> c nie pomyl średnika z przecinkiem i koniecznie sprawdź poleceniem whos co już masz w pamięci, macierz c zdefiniowano wcześniej >> c(2,1) >> v = [c(2,1);b] c(2,1) wskazuje konkretny element macierzy (2,1) = -3 >> c(1,5) = 1 czy wynik tych poleceń jest zaskakujący? Przećwicz definiowanie macierzy korzystając z następujących funkcji (aby dowiedzieć się więcej na temat parametrów wpisze w linię poleceń help nazwa funkcji): repmat(); ones(); zeros(); diag(); blkdiag(); rand(); eye(); triu(); tril(); rand(); randn(); cat(); 3. Funkcje Pliki *.m są plikami ASCII, które mogą zawierać: sekwencje poleceń, wywołania innych plików m lub samych siebie, skrypty, czyli ciągi poleceń - pliki-m skryptowe, funkcje tworzone przez użytkownika - pliki-m funkcyjne. Pliki-m funkcyjne zawierają definicje nowych funkcji, które działają na zmiennych lokalnych i globalnych. Komunikują się z przestrzenia robocza poprzez parametry i zmienne globalne. Pliki-m funkcyjne rozpoczynają się od słowa kluczowego function o następującej składni: function [lista param. wyjśćowych] = nazwa funkcji (lista param. wejśćowych) 1. Utwórz za pomocą edytora plik o nazwie pit.m 2. Wprowadź do niego następujące polecenia: function z = pit(x,y); % moja fukcja

% pomocne inforamcje o funkcji temp = x.^2 + y.^2; z = sqrt(temp); 3. Zapisz plik w katalogu roboczym. 4. Wykonaj polecenia z wykorzystaniem nowej funkcji pit np. >> pit(3,4) =4, b=6, c=pit(a,b) 5. Spróbuj wykonać inna własna funkcje. Wywołaj funkcje na różne znane ci sposoby. Wykonaj polecenie help pit. Zmodyfikuj komentarz (tekst poprzedzony znakiem %) 4. Instrukcje sterujące, pętle Operatory logiczne Symbol Znaczenie < mniej niż <= mniej niż lub równe > większe niż >= większe niż lub równe == równa się ~= nie równa się & iloczyn logiczny (i) suma logiczna (lub) ~ zaprzeczenie (nie) Uwaga! W języku Matlab tylko liczba zero ma wartość logiczna false - fałsz, pozostałe liczby maja wartość logiczna true - prawda. Ogólna struktura pętli for: for i = vektor Generacja macierzy n = 3; m = 5; for i = 1 : n for j = 1 : m A(i, j) = i + j; A Ogólna struktura pętli while:

while warunek Przykład Obliczanie szeregu potęgowego przybliżającego funkcję exp(); tol = 1e-6; a = 2; x = a; y = 1; k = 1; while x >= tol k = k + 1; y = y + x; x = x * a / k; y Ogólna postać instrukcji if-else: if warunek elseif warunek else Generacja macierzy n = 7; a = 9 for i = 1 : n for j = 1 : n if i == j A(i, j) = a; elseif abs(i j) == 1 A(i, j) = -1; else A(i, j) = 0; A 5. Tworzenie wykresów Istnieje wiele typów wykresów w programie Matlab. Najczęściej wykresy tworzone są korzystając z funkcji plot();

Przykład 1: >> x = [0:pi/36:2*pi]; >> y = cos(x); >> plot(x*180/pi,y) >> xlabel('x(degree)'), ylabel('cos(x)') >> grid on; Przykład 2: >> x = -1:.05:1; >> y =sin(3*pi*x).*exp(-x.^2); plot(x,y,':') >> k = find(y > 0.2) >> plot(x,y,':') >> hold on, plot(x(k),y(k),'o') >> km = find(x > 0.5 & y < 0) >> plot(x(km),y(km),'-') Przykład 3: >> [X,Y] = meshgrid(2:0.2:4,1:0.2:3); >> Z = (X-3).^2 - (Y-2).^2; >> mesh(x,y,z) >> title('saddle'),xlabel('x'),ylabel('y') 6. Funkcje inline Funkcje inlline to prosta forma tworzenia krótkich funkcji, stosowanych głównie do wykonywanie krótkich obliczeń, definiowania wzorów itp. Przykłady: >> f = inline('x.^2+2*x','x') >> f(3) >> f([3 7]) >> f = inline('x^2+2*x*y','x','y') >> f=vectorize(f) >> f([1 3 2.1],[2-1 4]) Używając funkcji typu inline narysuj wykresy następujących funkcji: sin(x)*cos(x) x 2 + y 2 7. Funkcje anonimowe Funkcje anonimowe to inna metoda tworzenia prostych funkcji ułatwiających obliczenia, choć ich struktura jest nieco bardziej skomplikowana niż funkcji inline. Funkcje anonimowe wykonują się szybciej niż funkcję inline.

>> f =@(x) x.^2+2; >> f([1 2 3]) >> g=@(x,y) x.^2+y.^2; >> g([1 2 3], [1 2 3]) >> h = @(t,y) [y(1)+t;y(1)+y(2)-t]; >> h(0.1,[2 3]) >> f=inline('x.^2+y.^2'); >> whos f g % porównanie funkcji anonimowej i inline 8. Zadania do samodzielnego wykonania: Napisz program obliczający miejsca zerowe funkcji kwadratowej. Dodaj opcję rysowania wykresu funkcji oraz zaznaczenia na czerwono miejsc zerowych. Napisz program rysujący wykres funkcji f (x, y) = -x*y*exp(-2 * (x2 + y2)) Wykorzystaj rozwinięcie w szereg Taylora wokół x = 0 aby obliczyć wartość funkcji f(x) = e x. Rozwinięcie dane jest wzorem: Na wykresie przedstaw wartość f(x) w zależności od liczby wyrazów rozwinięcia oraz wartość błędu względnego i bezwzględnego. Wykorzystując rozwinięcie w szereg Taylora funkcji f(x) = sin(x) wokół punktu x = 0 wykreśl aproksymację funkcji f(x) dla x należącego do [0, π] uwzględniając współczynniki rzędu: n = 1,3,5,7. Dla porównania przedstaw na wykresie wartość dokładną funkcji w tym przedziale. W realizacji ćwiczenia użyj poleceń/funkcji: syms x, taylor, inline.