4544140649

4544140649



function x = plotFHandle(fhandle, data) plot(data, fhandle(data))

Wywołanie tej funkcji z dwoma argumentami - uchwytem do funkcji oraz wektorem zmiennej niezależnej daje wykres tej funkcji (za pomocą funkcji wbudowanej plot(x,y)):

» plotFHandle(@cos, -pi:.01:pi)

W tym przykładzie pierwszym argumentem jest uchwyt do wbudowanej funkcji cos. Uchwyt do funkcji wykorzystywany jest do tworzenia funkcji anonimowych. Na przykład chcąc wprowadzić definicję funkcji ml zwracającej pierwiastek z sumy kwadratów argumentów, użyjemy zapisu:

» ml = @(x, y) sqrt(x.A2 + y.A2);

Wywołanie takiej funkcji wyglądałoby następująco:

» x = ml(3, 4)

5

Zauważmy, że ze gdyby argumentami aktualnymi były macierze, to względu na użycie skalarnych operacji potęgowania, w wyniku powstałaby macierz zawierająca wyniki działań na odpowiadających sobie elementach macierzy wejściowych x i y. Jedynym ograniczeniem jest w tym przypadku identyczność wymiarów obu macierzy.

W przypadku wywoływania funkcji bez argumentów za pomocą uchwytu do funkcji, należy użyć pustego argumentu ().

» tl = 8 pi;    % lub tl = 0() pi;

» tl ()

3.1416

»

Użycie w definicji funkcji anonimowej nazw zmiennych nie występujących na liście argumentów formalnych, powoduje przyjęcie w tej definicji ich aktualnych wartości jako stałych. Na przykład zdefiniujemy funkcję następująco:

» A = 2;

» ml = 0(x, y) sqrt(x.A2 + y.A2)/A; a następnie dwukrotnie ją wywołamy, zmieniając stałą A:

» x = [3 4 5] ;

» ml (x (1), x (2) )

2.5000 » A = 5;

» ml (x (1) , x (2))

2.5000

Jak widzimy, wartość stałej A w definicji funkcji nie została zmieniona.

1.7.5 Argumenty funkcji

Z punktu widzenia semantyki języka, funkcja w MATLAB-ie każdorazowo otrzymuje/przekazuje wartości argumentów (wewnętrznie MATLAB optymizuje wszelkie zbędne operacje kopiowania).

Ilość argumentów w wywołaniu funkcji nie może być większa od ilości argumentów formalnych'. Przy wywołaniu, do funkcji zostają przekazane odpowiednie dane z wiersza wywołania i załadowane do lokalnych zmiennych funkcji w kolejności występowania na liście argumentów wejściowych. Jeśli argumentów aktualnych jest mniej, to nadmiarowe argumenty formalne nie zostaną zainicjowane. Funkcja wbudowana nargin określa, ile argumentów zostało przekazane do funkcji przy jej wywołaniu.

Ilość zwracanych argumentów określona jest w wierszu definicji funkcji. Dane, które mają być zwrócone przekazane zostają ze zmiennych występujących w liście argumentów wyjściowych do zmiennych występujących kolejno w wierszu wywołania. Wywołanie funkcji z liczbą argumentów wyjściowych mniejszą niż ilość argumentów formalnych powoduje, że nadmiarowe dane nie zostaną przekazane do programu wywołującego. Za pomocą funkcji można nargout określić ile argumentów wynikowych przewidziano w aktualnym wywołaniu.

Funkcje nargin oraz nargout występujące w kodzie podfunkcji lub funkcji zagnieżdżonych zwracają dane dotyczące danej funkcji, a nie funkcji pierwotnej.

1 Istnieje możliwość wprowadzania zmiennej liczby argumentów aktualnych - omówiono to w rozdziale 1.7.6.



Wyszukiwarka

Podobne podstrony:
zad01 Data ĆWICZENIA 1. Zad.l. Między dwoma peronami toczy się z prędkością Vi platforma o długości
P1050049 gniętych przed datą ogłoszenia tej relacji. Ograniczeń pułapem 15% (lub 12%) jjjg stosuje s
Analiza statystyczna pomiarów 131 function [mUab,sUab,mUbc,sUbc,mUca,sUca,Un]=ustat(pomiary) % funkc
00452 [b83fbdf33219bc7f51baecf023d533 A Graphical Aid for Analyzing Autocorrelated Dynamical System
00455 Mae7911ed8149972f2d9d752b7ff4b2 460 Russell The Yarian Data Set Time Plot 1.0   &nb
Slajd28 (135) PIN FUNCTION DESCRIPTION Pin Mnemonic Description 1 NC No Connect 2 DB11 Data Bit
Topie 1, DESCRIBE THE OPERATION OF DATA NETWORKS (75 ąuestions)Section 1: Describe the purpose and f
skanuj0057 (53) Rozdział 5. ❖ Wykresy trójwymiarowe 71Rysunek 5.13.Okno 3-D Plot Format, zakładka Qu
wykres 2 T3vsT4 Plot Data File=wykres Test=1 ToŁObs.=10000 0bs.=10000 Supp.=0 X-axis Min.—79.197 M a
wyniki Current Folder Yariable Editor Current Folder A- Stack: Base ▼ Select data to plot w FF)
datahiding Interface functions to set the fields: setname() setaddress () Private data: name 1
*1+1 function 3iitple_ęui2 % SIMPLE_GUI2 Select a data set froto che pop-up menu, chen % clicie one

więcej podobnych podstron