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

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

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

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

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

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

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

Laboratorium 5 Przybliżone metody rozwiązywania równań nieliniowych

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

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

do MATLABa programowanie WYKŁAD Piotr Ciskowski

PODSTAWY INFORMATYKI 1 MATLAB CZ. 3

Spis treści MATLAB - ELEMENTY PROGRAMOWANIA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF09

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

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

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ć

1 Kilka uwag teoretycznych

Metody numeryczne Laboratorium 2

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

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

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

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

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

1 Programowanie w matlabie - skrypty i funkcje

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

Matlab III Instrukcje, interpolacja, dopasowanie krzywych,

dr inż. Jarosław Forenc

PHP w-3. Sterowanie w PHP

Elementy metod numerycznych - zajęcia 9

Ćwiczenie 1. Wprowadzenie do programu Octave

Ćwiczenie 1. Wprowadzenie do programu Octave

1 Materiał omawiany na laboratorium

Przetwarzanie sygnałów

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

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Instrukcje sterujące. Programowanie Proceduralne 1

Podstawy Informatyki Computer basics

Programowanie w Scilab

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

1 Wprowadzenie do algorytmiki

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

Podstawy Programowania C++

dr inż. Damian Słota Gliwice r. Instytut Matematyki Politechnika Śląska

Warsztaty dla nauczycieli

Pętla for. Matematyka dla ciekawych świata -19- Scilab. for i=1:10... end. for k=4:-1:1... end. k=3 k=4. k=1. k=2

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

Funkcje i instrukcje języka JavaScript

Programowanie w języku Python. Grażyna Koba

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Operacje logiczne i struktury sterujące.

Programowanie obiektowe

Laboratorium 1 Wstęp do Matlaba

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

Wprowadzenie do metod numerycznych Wykład 9 Różniczkowanie numeryczne

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

Matlab Składnia + podstawy programowania

METODY OPISU ALGORYTMÓW KOMPUTEROWYCH

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

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

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

Algorytmy i struktury danych

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

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

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

Technologie informacyjne - wykład 12 -

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

Wprowadzenie do Scilab: podstawy języka Scilab

JAVAScript w dokumentach HTML - przypomnienie

WYKORZYSTANIE PORTALU DYDAKTYCZNEGO W NAUCE JĘZYKÓW PROGRAMOWANIA

Podstawy programowania w języku C i C++

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

Umieszczanie kodu. kod skryptu

Metodyki i techniki programowania

Z. Rudnicki: WPROWADZENIE DO INFORMATYKI I PROGRAMOWANIA

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

Wprowadzenie do środowiska

Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Niestacjonarne (stacjonarne / niestacjonarne)

Scilab skrypty (programowanie)

Programowanie - wykład 4

KARTA KURSU (realizowanego w module specjalności) Metody numeryczne

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

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

Elementy języka Scheme

Laboratorium Komputerowego Wspomagania Analizy i Projektowania

Metodyki i techniki programowania

Obliczenia naukowe Wykład nr 2

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Języki skryptowe w programie Plans

Wprowadzenie do algorytmiki

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

Instytut Sterowania i Systemów Informatycznych Wydział Informatyki, Elektrotechniki i Automatyki Uniwersytet Zielonogórski

Laboratorium Przetwarzania Sygnałów

Matlab - zastosowania Matlab - applications. Informatyka II stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Maxima i Visual Basic w Excelu

Metody numeryczne Numerical methods. Elektrotechnika I stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny)

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Instrukcje iteracyjne (pętle)

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

Transkrypt:

Metody numeryczne Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski Elektrotechnika stacjonarne-dzienne pierwszego stopnia z tyt. inżyniera Informatyka stacjonarne-dzienne drugiego stopnia z tyt. magistra inżyniera Wstęp do programowania, tworzenie skryptów Laboratorium, prowadzący: mgr inż. Błażej Cichy Rok akademicki 2010/2011 1 Wstęp W Matlab oferuje język skryptowy zawierający typowe instrukcje jak if, while, for. Programy w Matlab ie przyjmują dwie postacie: skryptów które można nazywać listą instrukcji do wykonania oraz m-funkcji reprezentujące sobą instrukcje zapisane w postaci funkcji przyjmującej argumenty oraz zwracającej wartości. W odróżnieniu od innych języków programowania funkcje w Matlab ie mogą zwracać więcej niż jedną wartości. 1.1 Instrukcja warunkowa Ogólny zapis syntaktyczny instrukcji warunkowej przedstawia się następująco: if expression elseif expression else W instrukcji w opisie warunku stosujemy następujące operatory relacji: ==, <, >, <=, >=, ~=. Operatory logiczne są następujące: && (and),, (or), ~ (not). 1.2 Instrukcja wielokrotnego wyboru Zapis instrukcji wielokrotnego wyboru, czyli instrukcji odpowiadającej konstrukcji case z języka Pascal albo switch z języka C przedstawia się następująco: switch switch_expr casa case_expr, casa {case_expr1, case_expr2, case_expr3,...}... otherwise, 1

Wstęp do programowania, tworzenie skryptów 2 1.3 Pętla for Ogólny zapis syntaktyczny jest następujący: for variable = expr, statement... statement Bardzo często pętla for korzysta z wyrażenia zakresu. Czego przykładem są następujace linie kodu, gdzie wyświetlamy liczby od jedności do dziesięciu: for i=1:10, disp(i) 1.4 Pętla while Zapis syntaktyczny pętli while jest następujący: while expression 1.5 Funkcje w Matlabie Funkcje są definiowana w oddzielnych plikach np.: poniższy kod jest zawarty w jednym pliku: function [mean,stdev] = stat(x) n = length(x); mean = avg(x,n); stdev = sqrt(sum((x-avg(x,n)).^2)/n); Inny przykład jest następujący: function ret_val=fhad2() ret_val=(1/sqrt(2))./ [1 1 ; 1-1]; Trywialny przykład funkcji które nie przyjmuje argumentów i nie zwraca żadnych wartości: function []=moja_fnc() disp( moja super funkcja )

Wstęp do programowania, tworzenie skryptów 3 2 Zadania 1. Napisać skrypt Matlaba, który zmiennej a przypisze wartość 11. Wywołać ten skrypt i sprawdzić poprawność wyniku 2. Napisać skrypt który każdemu elementowi a i,j macierzy A przypisze wartość i+j 2i. Wskazówka: użyć funkcji size. 3. Napisać funkcję o nazwie zwieksz przyjmującą jeden argument x i zwracającą argument powiększony o jeden (tj. zwracającą x + 1). 4. Uzupełnić funkcję z zadania 3 o pomoc następującej treści: ZWIEKSZ Zwieksza swoj argument o jeden. Funkcja ZWIEKSZ(x) wykonuje dzialanie ZWIEKSZ(x)->x+1. Przyklad: ZWIEKSZ(2) = 3 5. Napisać funkcję delta wyznaczającą wyróżnik trójmianu kwadratowego postaci y = ax 2 + bx + c wg. wzoru = b 2 4ac. Funkcję uzupełnić o opis Pomocy wg. przykładu z zadania 4. 6. Napisać funkcję do wyznaczania zer trójmianu kwadratowego przy wykorzystaniu funkcji delta z zadania 5. Wykorzystać wzór: x 1,2 = b± 2a 7. Napisać skrypt, którego zadaniem będzie zapytanie użytkownika o współczynniki a, b, c trójmianu kwadratowego postaci y = ax 2 + bx + c a następnie wyświetlenie wszystkich rzeczywistych zer tego trójmianu (jeśli istnieją) lub informacji o ich braku. W programie wykorzystać funkcję delta z zadania 5. Skrypt ten ma działać aż do wprowadzenia współczynnika a równego 0. Wskazówka: użyć funkcji input 8. Napisać funkcję który każdemu elementowi a i,j macierzy A przypisze wartość i+j 2i. Jako argument funkcji ma zostać podana tylko macierz A. 9. Napisać funkcję wolny kwadrat o argumencie x (i elementach x i ) będącym wektorem N liczb wyznaczającą wartość f(x i ) = x 2 i dla i = 1, 2, 3,..., N. Zadanie wykonać przy pomocy pętli metodą element po elemencie. Wskazówka: Liczbę elementów wektora można wyznaczyć przy pomocy funkcji length. 10. Napisać funkcję szybki kwadrat o argumencie x (i elementach x i ) będącym wektorem N liczb wyznaczającą wartość f(x i ) = x 2 i dla i = 1, 2, 3,..., N. Zadanie wykonać bez pomocy pętli metodą tablicową. 11. Porównać czas działania funkcji wolny kwadrat i szybki kwadrat dla dużych wartości N. Do porównania użyć instrukcji tic i toc. Porównać wynik z uzyskanym przy pomocy polecenia prof ile 12. Porównać następujące implementacje algorytmu wyznaczającego wartość N-tej liczby Fibonacciego. Algorytm 1:

Wstęp do programowania, tworzenie skryptów 4 function f=fibon1(n) %drukuje kolejne liczby f=zeros(n, 1); f( 1 )=1; f( 2 )=1; for k=1:n f( k ) = f( k - 1 ) + f( k - 2 ) Algorytm 2: function f=fibon2(n) %drukuje te same liczby ale znacznie wolniej if n <= 1 f = 1 else f = f( n - 1 ) + f( n - 2 ) Do porównania użyć instrukcji tic i toc. Porównać ich działanie z instrukcją prof ile. 13. Na podstawie tablicowania funkcji sin sprawdzić czas wykonana się dwóch poniższych skryptów: Skrypt m1.m: tic; start = 0; stop = 2*pi; accuracy = 1e4; h = (stop - start) / accuracy; for i=1:accuracy x( i ) = ( i - 1 ) * h ; y( i ) = sin( x( i ) ); s=toc; disp([ Czas trwania: num2str( s )]); Skrypt m2.m: tic; start = 0; stop = 2 * pi; accuracy=1e4; x = start : ( stop - start ) / accuracy : stop; y = sin( x ); s = toc; disp([ Czas trwania: num2str( s )]); Sprawdzić jak zmienia się czas wykonania dla różnych dokładności 1e2, 1e3, 1e4, 1e5, 1e6. Wyniki przedstawić na wykresie.

Wstęp do programowania, tworzenie skryptów 5 Literatura [1] Bjärck Ake i Dahlquist Germund. Metody numeryczne. PWN, Warszawa, 1987. [2] Jerzy Brzózka i Lech Dorobczyński. Programowanie w MATLAB. Warszawa, Wydanie I, 1998. [3] Zenon Fortuna, Bohdan Macukow i Janusz Wąsowski. Metody numeryczne. WNT, Warszawa, 1995. [4] Jerzy Klamka i in. Metody numeryczne. Politechnika Śląska, Gliwice, 1998. [5] David Kincaid i Ward Cheney. Analiza numeryczna. WNT, Warszawa, 2006. [6] Anna Kamińska i Beata Pańczyk. Matlab. Ćwiczenia z..., Przykłady i zadania. Warszawa, Wydanie I, 2002. [7] Wanat Kazimierz. Algorytmy numeryczne. Helion, Gliwice, 1994. [8] Bogumiła Mrozek i Zbigniew Mrozek. MATLAB i Simulink. Poradnik użytkownika. Wydanie II, 2004. [9] Jurij Povstenko. Wprowadzenie do metod numerycznych. Akademicka Oficyna Wydawnicza EXIT, Warszawa, Wydanie drugie poprawione i uzupełnione, 2005. [10] Rudra Pratap. MATLAB 7 dla naukowców i inżynierów. PWN, 2007. [11] Wiesława Regel. Wykresy i obiekty graficzne w MATLAB. Warszawa, Wydanie I, 2003. [12] Marcin Stachurski. Metody numeryczne w programie Matlab. Warszawa, Wydanie I, 2003.