1 Programowanie w matlabie - skrypty i funkcje

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

MATLAB tworzenie własnych funkcji

Matlab Składnia + podstawy programowania

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:

Matlab Składnia + podstawy programowania

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

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

Podstawy MATLABA, cd.

Metody numeryczne Laboratorium 2

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

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

Wprowadzenie do środowiska

do MATLABa programowanie WYKŁAD Piotr Ciskowski

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

Pętle iteracyjne i decyzyjne

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

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ć

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

Wstęp do Programowania Lista 1

Program na zaliczenie: Odejmowanie widm

Programowanie w języku Python. Grażyna Koba

Wprowadzenie do systemu Scilab

Przetwarzanie sygnałów

MATLAB Podstawowe polecenia

Metody i analiza danych

Ćwiczenie 1. Wprowadzenie do programu Octave

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

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

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

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

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

MATLAB ŚRODOWISKO MATLABA OPIS, PODSTAWY

Cw.12 JAVAScript w dokumentach HTML

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Komentarze w PHP (niewykonywane fragmenty tekstowe, będące informacją dla programisty)

Operatory arytmetyczne

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

Ćwiczenie 1. Wprowadzenie do programu Octave

Wprowadzenie do Scilab: funkcje i wykresy

Podstawy Informatyki 1. Laboratorium 1

zajęcia 2 Definiowanie wektorów:

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

Warsztaty dla nauczycieli

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

Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?

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

MentorGraphics ModelSim

Podstawy Automatyki ćwiczenia Cz.1. Środowisko Matlab

I. Podstawy języka C powtórka

Kadry Optivum, Płace Optivum

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

TWORZENIE WYKRESÓW (1)

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

Podstawowe I/O Liczby

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

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

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

Algorytmy i struktury danych

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

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

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

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

Pakiety Matematyczne - R Zestaw 2.

Sieci Komputerowe 2 / Ćwiczenia 1

Programowanie w Scilab

Umieszczanie kodu. kod skryptu

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

Wprowadzenie do Scilab: podstawy języka Scilab

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Laboratorium MATLA. Ćwiczenie 4. Debugowanie. Efektywności kodu. Wektoryzacja.

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

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

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać.

1. Operacje na plikach i katalogach Chcąc przeprowadzić analizę danych należy załadować/wczytać dane do R, a wyniki z pewnością chcemy zapisać.

Niezawodność diagnostyka systemów laboratorium

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

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

Języki skryptowe w programie Plans

Ćwiczenie 3: Wprowadzenie do programu Matlab

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

ESI: Wprowadzenie do środowiska Matlab

Trochę o plikach wsadowych (Windows)

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Matematyka finansowa w pakiecie Matlab

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

4. Funkcje. Przykłady

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

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

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

JAVAScript w dokumentach HTML - przypomnienie

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

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

PętlaforwOctave. Roman Putanowicz 13 kwietnia 2008

Część XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.

Podstawy programowania skrót z wykładów:

Laboratorium Systemów SCADA

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

MATLAB Prowadzący: dr hab. inż. Marek Jaszczur Poziom: początkujący

Transkrypt:

1 Programowanie w matlabie - skrypty i funkcje 1.1 Skrypty Skrypt jest plikiem tekstowym z rozszerzeniem *.m zawierającym listę poleceń do wykonania. Aby utworzyć skrypt w matlabie wybierz File New Script, otworzy się edytor, w którym możesz wpisać listę poleceń. Uruchomienie skryptu: 1. Wywołanie w konsoli podając nazwę skryptu (bez rozszerzenia). Ważne aby folder zawierający skrypt dodany był do ścieżki przeszukiwania matlaba. 2. Normalne uruchomienie - klawisz F5, 3. Praca krokowa + punkty przerywania (breakpointy) - pozwalają na krokowe wykonywanie skryptu wraz z podglądem stanu zmiennych, aby postawić breakpointa należy ustawić kursor w danej lini i nacisnąć F12, w tej lini powinna po lewej stronie pojawić się czerwona kropka. 4. Uruchamianie poszczególnych komórek - komórki oddzielają pewną logiczną część naszego skryptu, tworzy się je wykorzystując podwójny znak procentu, aby uruchomić daną komórkę należy w jej ciele umieścić kursor i nacisnąć Ctr+Enter. 1.2 Ćwiczenie Stwórz nowy skrypt i wprowadź do niego poniższe polecenia. Przetestuj sposoby uruchomienia skryptu: %% W pierwszym wierszu podajemy opis skryptu %% Obliczenia x=-2*pi:0.01:2*pi; y1=x.*sin(x); y2=x.*cos(x); %% Rysujowanie wykresu figure(1) hold on plot(x,y1, r ); plot(x,y2, g ); % dodanie legy leg( xsin(x), xcos(x) ); hold off 1.3 Funkcje Funkcję tworzymy i uruchamiamy podobnie jak skrypty. Najważniejsze różnice pomiędzy skryptem i funkcją: 1. w funkcji zmienne nie są widoczne w globalnej przestrzeni roboczej (workspace) 2. funkcje posiadają parametry wywołania i zwracają wynik (wyniki) 3. nazwa funkcji i nazwa pliku muszą być takie same 1

4. wywołując funkcję musimy podać wartości parametrów Przykład function [y]=kwadrat(x,a,b,c) %% [y]=kwadrat(a,b,c) %% funkcja oblicza wartość funckji kwadratowej ax^2+bx+c y = a*x^2+b*x+c; 1.4 Instrukcje warunkowe i pętle Pętla for a=rand(10,1); sum=0; for i=1:length(a) sum=sum+a(i); fprintf( Suma %g\n,sum); fprintf( ----------- ); fprintf( Suma ostateczna %g\n,sum); Warunek if if(warunek1) % gdy warunek1 prawdziwy elseif(warunek2) % gdy warunek2 prawdziwy else % w przeciwnym wypadku Operatory logiczne operator or (lub) && operator and (i) negacja == operator równości = operator nierówności 1.5 Parametry opcjonalne funkcji Parametry opcjonalne funkcji, można za symulować wykorzystując wbudowaną zmienną narig - zwracającą ilość paramterów przekazanych do funckji function [y]=kwadrat(x,a,b,c) %% [y]=kwadrat(a,b,c) %% funkcja oblicza wartość funckji kwadratowej ax^2+bx+c if(nargin<2) 2

%nie podano a,b,c a=1; b=0; elseif(nargin<3) %nie podano b,c b=0; elseif(nargin<4) %nie podano c y = a*x^2+b*x+c; 1.6 Ćwiczenie Utwórz funkcję kwadrat jak wyżej, przetestuj jej wywołanie z różną ilością parametrów: kwadrat(4); kwadrat(4,1); kwadrat(4,1,2); kwadrat(4,1,2,1); Sprawdź czy wyniki zgadzają się z zakładanymi. 1.7 Ćwiczenie Napisz skrypt generujący wykres 3D dla podanych funkcji, wybór funkcji do narysowania ma odbywać się na podstawie bieżącego czasu, jeżeli liczba minut jest podzielna przez 2 to wyświetlamy wykres dla funkcji 1, w przeciwnym wypadku rysujemy wykres 2. Ustaww tytułu wykresu, legy, podpisów osi, zakresów wartości dla osi x, y [ 3, 3]. 1. z = (x 2 + y 2 )/(1 + y 2 ) 2. z = (x 2 + y 2 )/ sin(1 + y 2 ) Do pobrania bieżącego czasu użyj funkcji clock. 1.8 Ćwiczenie Dla x [ 2π, 2pi] utwórz macierz wartości sin(x), sin(2x), sin(4x), sin(8x) co 0.01π. Wartości sinusów umieść w każdym kolejnym wierszu macierzy. Następnie napisz skrypt, który narysuje wszystkie wykresy na jednym obrazie, każdy wykres innym kolorem. W celu automatyzacji pracy użyj pętli for do wygenerowania macierzy danych oraz wykresów. sin( 2π) sin( 1.99π)... sin(2π) sin(2 ( 2π)) sin(2 ( 1.99π))... sin(2 2π). sin(8 ( 2π)) sin(8 ( 1.99π))... sin(8 2π) (1) 3

1.9 Ćwiczenie Napisz funkcję obliczającą kapitał końcowy przy danym wkładzie początkowym i podanej stopie oprocentowania wkładu. V = V 0 (1 + r m )m n gdzie V 0 - wkład początkowy, r - nominalna stopa procentowa (podana jako ułamek), n - liczba lat, m- liczba kapitalizacji odsetek w roku. Parametr m powinien być parametrem opcjonalnym, domyślnie równym 1. 1.10 Ćwiczenie Wykorzystując funkcję z ćwiczenia 1.9 napisz skrypt, który narysuje wykres przyrostu kapitału w latach, poeksperymentuj z parametrami. Wybierz wartości parametrów, które oferuje twój bank i zobacz ile potrzebujesz lat, aby stać się milionerem przy wkładzie początkowym 1000zł. 2 Wczytywanie i zapisywanie danych W celu zapisu i odczytywania danych matlab oferuje pliki *.mat. Są to binarne pliki po zawalające zapisywać do nich stan poszczególnych zmiennych. save( nazwa_pliku.mat, nazwa_zmiennej ); load( naza_pliku.mat ); 2.1 Ćwiczenie Utwórz skrypt tworzący macierz odpowiadającą tabliczce mnożenia od 1 do 20 i zapisz ją do pliku tabliczka.mat. Następnie wyczyść wszystkie zmienne w workspace i załaduj plik.mat (klikając na niego dwukrotnie w oknie Current Folder) Sprawdź stan workspace a. 2.2 Ćwiczenie Zmodyfikuj ćwiczenie 1.8 w taki sposób aby tablica sinusów z danymi była wczytywana z pliku *.mat a jeżeli taki plik nie istniej to niech skrypt wygeneruje odpowiednie dane. 3 Funkcje anonimowe Pozwalają na utworzenie funkcji bez tworzenia odpowiadającego im m-pliku. Szczególnie przydatne gdy funkcja jest mała. Składnia funchandle = @(argumenty) funcbody; funchandle - zmienna przechowywująca uchwyt do funkcji Przykład polekola = @(r) pi*r*r; polekola(3); polekola(0:1:5); operator @ pobiera uchwyt funkcji, można go także zastosować do funkcji już zdefiniowanych w matlabie np. 4

sinhandle = @sin; Funkcje anonimowe i uchwyty do funkcji można przekazać jako parametr do innej funkcji. 3.1 Ćwiczenie Napisz funkcję drawplot(x,fnchandle), która jako parametry wejściowe dostaje wektor x oraz uchwyt do innej funkcji. Zadaniem funkcji drawplot jest narysowanie wykresu funkcji przekazanej jako parametr. Przetestuj działnie funkcji drawplot dla argumentu fnchandle równym: 1. funkcji anonimowej x 2 2. funkcji sin 3. funkcji cos 4. funkcji log2 5