Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.

Slides:



Advertisements
Podobne prezentacje
Funkcje w PHP ABK.
Advertisements

C++ wykład 2 ( ) Klasy i obiekty.
Język C/C++ Funkcje.
Programowanie obiektowe
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas. 2 Wzorce Często pojawia się konieczność pisania podobnych funkcji lub klas operujących na argumentach.
1 Dzisiejszy wykład Wzorce funkcji Wzorce klas Tablica asocjacyjna Składowe statyczne.
Język ANSI C Funkcje Wykład: Programowanie komputerów
Prowadzący: mgr inż. Elżbieta Majka
Wprowadzenie do języka skryptowego PHP – cz. 2
typy całkowite (całkowitoliczbowe)
PROGRAMOWANIE STRUKTURALNE
formatowanie kodu źródłowego
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Kurs Pascala – spis treści
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Ogólne jednostki programowe 1
Podprogramy.
Podstawy programowania
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki 2012/2013
Programowanie strukturalne i obiektowe
Andrzej Jędryczkowski Nie da się napisać większego programu bez podziału go na części zwane podprogramami. Podprogram to wyróżniona część programu.
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
© A. Jędryczkowski – 2006 r. © A. Jędryczkowski – 2006 r.
Procedury i funkcje.
Programowanie w języku Matlab
PL/SQL Zajęcia nr II PL/SQL(2) M. Rakowski - WSISiZ.
1 Wykład 8 Podprogramy. 2 Pojęcie i istota stosowania dzielenie programu na części (logicznie spójne) - nazwane - niezależne od pozostałych części - z.
Inicjalizacja i sprzątanie
C# Platforma .NET CZ.3 Kuba Ostrowski.
Podstawy informatyki 2013/2014
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Przekazywanie parametrów do funkcji oraz zmienne globalne i lokalne
Programowanie obiektowe 2013/2014
Prasek Aneta, Skiba Katarzyna. Funkcje stałe const to takie funkcje, które nie mogą modyfikować stanu obiektu. Oznacza to, że funkcja stała nie może zmieniać.
Kurs języka C++ – wykład 4 ( )
Temat 3: Okno dialogowe.
Programowanie proceduralne Podstawy Programowania dla geoinformatyków Wykład 3 Rafał Witkowski, 2015.
Pakiety numeryczne Wprowadzenie Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Optymalizacja
Biblioteka.pollub.pl facebook.com/BibliotekaPL. Katarzyna Panasiewicz Modele otwartego dostępu.
Podstawy informatyki Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Pakiety numeryczne Graphical User Interface Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Tablice: tworzenie, indeksowanie, wymiary Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Interpolacja i aproksymacja
Pakiety numeryczne Wykresy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Wielomiany Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Podstawy informatyki Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki Funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Podstawy informatyki Struktury Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
Podstawy informatyki Szablony funkcji Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty.
Podstawy informatyki Operatory rzutowania Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały.
Podstawy informatyki Mechanizm obsługi sytuacji wyjątkowych Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu.
Pakiety numeryczne Operatory, instrukcje sterujące, operacje bitowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Równania różniczkowe Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Pakiety numeryczne Optymalizacja Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania.
Lua - wprowadzenie ● lua.org – źródła, dokumentacja, podręcznik itp ● Interpreter - Lua.org->Downloads->Binaries->get a binary-> Windows->Wersja >Executables->
Obliczenia w Matlabie Tablice
Obliczenia inżynierskie w Matlabie
Obliczenia w Matlabie Operatory, instrukcje sterujące, operacje bitowe
Obliczenia w Matlabie Interpolacja i aproksymacja
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Język C++ Preprocesor Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Język C++ Operatory Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła.
Język C++ Tablice Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Obliczenia w Matlabie Analiza statystyczna
Obliczenia w Matlabie Obliczenia symboliczne
Zapis prezentacji:

Pakiety numeryczne Skrypty, funkcje Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania

Tworzenie skryptów

Funkcje Funkcje definiujemy podobnie jak skrypty, z tym że rozpoczynamy od słowa kluczowego function, np. Nazwa m-pliku musi być taka sama jak nazwa funkcji

Funkcje Zmienne zdefiniowane w Workspace nie są widoczne wewnątrz funkcji (są widoczne w skrypcie). Zmienne, które definiujemy wewnątrz funkcji nie pojawią się w Workspace. Funkcja może przyjmować dowolną liczbę argumentów i zwracać dowolną liczbę argumentów, np. function [a,b,c]=funkcja(x,y,z) a=2*x; b=3*y; c=4*z;

Funkcje Polecenie return kończy działanie funkcji. Po poleceniu return nie podajemy żadnych wartości. Wewnątrz funkcji nie musi być polecenia return. Wówczas funkcja skończy działanie po wykonaniu wszystkich instrukcji. Przed wyjściem z funkcji wszystkie (nie wszystkie) argumenty zwracane muszą istnieć. function [a,b,c]=funkcja(x,y,z) a=2*x; b=3*y; c=4*z; return;

Funkcje – argumenty zwracane Treść m-pliku: function [a,b,c]=funkcja(x,y,z) a=2*x; b=3*y; c=4*z; return; Wywołanie: >> [a,b,c]=funkcja(2,3,4) a = 4 b = 9 c = 16 >> [a,b]=funkcja(2,3,4) a = 4 b = 9 >> a=funkcja(2,3,4) a = 4 >> funkcja(2,3,4) ans = 4 >> [a,b,c,d]=funkcja(2,3,4) Error using funkcja Too many output arguments. >> [a,~,c]=funkcja(2,3,4) a = 4 c = 16

Funkcje – argumenty zwracane Treść m-pliku: function [a,b,c]=funkcja(x,y,z) disp('Liczba argumentów zwracanych'); disp(nargout); a=2*x; b=3*y; c=4*z; return; >> [a,b,c]=funkcja(2,3,4); Liczba argumentów zwracanych 3 >> [a,b]=funkcja(2,3,4); Liczba argumentów zwracanych 2 >> a=funkcja(2,3,4); Liczba argumentów zwracanych 1 >> funkcja(2,3,4); Liczba argumentów zwracanych 0 Liczba zwracanych argumentów podczas aktualnego wywołania funkcji Do zmiennej ans zostanie zapisana pierwsza zwracana przez funkcję wartość

Funkcje – argumenty zwracane Treść m-pliku: function [a,b,c]=funkcja(x,y,z) if nargout>0 a=2*x; end if nargout>1 b=3*y; end if nargout>2 c=4*z; end return; >> [a,b,c]=funkcja(2,3,4) a = 4 b = 9 c = 16 >> [a,b]=funkcja(2,3) a = 4 b = 9 >> a=funkcja(2) a = 4 >> funkcja() >> funkcja

Funkcje – argumenty aktualne function [a,b,c]=funkcja(x,y,z) if nargin>0 a=2*x; else a=NaN; end if nargin>1 b=3*y; else b=NaN; end if nargin>2 c=4*z; else c=NaN; end return; >> [a,b,c]=funkcja(2,3) a = 4 b = 9 c = NaN >> [a,b,c]=funkcja(2) a = 4 b = NaN c = NaN >> [a,b,c]=funkcja a = NaN b = NaN c = NaN Liczba argumentów aktualnych

Funkcje – zmienna liczba argumentów function y=funkcja(varargin) y=sum(cell2mat(varargin)); return; >> a=funkcja(1) a = 1 >> a=funkcja(1,2) a = 3 >> a=funkcja(1,2,3) a = 6 >> a=funkcja(1,2,3,4) a = 10 >> a=funkcja(1,2,3,4,5) a = 15 Tablica komórkowa zawierająca wszystkie argumenty wejściowe Zamiana tablicy komórkowej na zwykłą tablicę.

Funkcje – zmienna liczba argumentów function varargout=funkcja(varargin) if nargin~=nargout error('Liczba arg. we. i wy. musi rowna'); end varargout=num2cell(cell2mat(varargin).^2); return; >> a=funkcja(2) a = 4 >> [a,b]=funkcja(2,3) a = 4 b = 9 >> [a,b,c]=funkcja(2,3,4) a = 4 b = 9 c = 16 >> a=funkcja(2,3) Error using funkcja (line 3) Liczba arg. we. i wy. musi równa Tablica komórkowa zawierająca wszystkie argumenty zwracane Zamiana tablicy liczbowej na tablicę komórkową

Funkcje – nazwy argumentów aktualnych function funkcja(varargin) disp(nargin); for i=1:nargin disp(inputname(i)); end return; >> funkcja(a,b,3,d,5) 5 a b d Nazwy argumentów aktualnych wywołania funkcji

Funkcje lokalne M-plik objetosc_walca: function v=objetosc_walca(r,h) v=pole_kola(r)*h; return function p=pole_kola(r) p=pi*r^2; return >> objetosc_walca(2,3/pi) ans = 12 >> pole_kola(2) Undefined function 'pole_kola' for input arguments of type 'double'. Uwagi: Funkcji lokalnych nie można definiować w skryptach. Nazwa m-pliku musi być zgodna z nazwą funkcji globalnej. Zmienne zdefiniowane w jednej funkcji nie są widoczne w drugiej. Funkcja lokalna – widoczna tylko wewnątrz funkcji globalnej.

Funkcje zagnieżdżone function a=fun_glob(b) c=fun_lok(b); d=fun_zag(c); a=c+d; function e=fun_zag(f) disp(b); e=f+1; end function g=fun_lok(h) disp(b); g=h+2; end OK BŁĄD

Funkcje prywatne Funkcje prywatne są definiowane w katalogu private. Mogą być wywoływane tylko przez inne funkcje. function y=fun_priv(x) y=2*x; return; function y=fun(x) y=fun_priv(x); return; >> fun_priv(2) Undefined function 'fun_priv' for input arguments of type 'double'. >> fun(2) ans = 4

Kolejność odwołań do nazwy 1.Odwołanie do zmiennej. 2.Odwołanie do funkcji zagnieżdżonej. 3.Odwołanie do funkcji lokalnej. 4.Odwołanie do funkcji prywatnej. 5.Odwołanie do funkcji MATLABa (wbudowanej). 6.Odwołanie do funkcji globalnej. 7.Odwołanie do funkcji MATLABa.

Prezentacja udostępniona na licencji Creative Commons: Uznanie autorstwa, Na tych samych warunkach 3.0. Pewne prawa zastrzeżone na rzecz autorów. Zezwala się na dowolne wykorzystywanie treści pod warunkiem wskazania autorów jako właścicieli praw do prezentacji oraz zachowania niniejszej informacji licencyjnej tak długo, jak tylko na utwory zależne będzie udzielana taka sama licencja. Tekst licencji dostępny jest na stronie: