4544140650

4544140650



Weźmy jako przykład funkcję, która w łańcuchu string poszukuje znaku ogranicznika (dowolnego znaku z łańcucha delimiters), a następnie zwraca pierwszą część łańcucha (do ogranicznika) jako token, a w przypadku wywołania z dwoma argumentami wyjściowymi również pozostałą część łańcucha jako remainder. Jeśli łańcuch rozpoczyna się od ogranicznika, program poszukuje w łańcuchu pierwszego znaku niebędącego ogranicznikiem i od niego rozpoczyna dalsze działanie, function [token, remainder] = strtok(string, delimiters)

% Funkcja wymaga co najmniej jednego argumentu wejściowego if nargin < 1

error('Za mało argumentów wejściowych.');

end

token = []; remainder = []; len = length(string); if len == 0 return

end

% Jeżeli jeden argument, to ogranicznikami mogą być znaki % o kodach 9..13 i 32 (spacja) if (nargin == 1)

delimiters = [9:13 32]; % Znaki ograniczników i = 1;

% Pozycja pierwszego znaku niebędącego ogranicznikiem while (any(string(i) == delimiters)) i = i + 1;

if (i > len), return, end

end

% Pozycja pierwszego ogranicznika start = i;

while (~any(string(i) == delimiters)) i = i + 1;

if (i > len), break, end

finish = i - 1;

token = string(start:finish) ;

% Przy dwóch argumentach wyjściowych podaj pozostałą % część łańcucha (remainder) if (nargout == 2)

remainder = string(finish+1:end);

end

Oto jakie będą wyniki działania tej funkcji przy różnych wywołaniach:

» s = '1234*56 78';

» a = strtok(s)% jeden argument wejściowy 1234*56

» [a,b] = strtok(s)% j.w., dwa argumenty wyjściowe

1234*56 b =

78

» [a,b] = strtok(s, '*')% dwa argumenty WE i dwa WY a =

1234 b =

*56 78

1.7.6 Przekazywanie argumentów opcjonalnych

Jeżeli funkcja może przyjmować zmienną ilość danych opcjonalnych, to jako argumentu wejściowego można użyć tablicy komórek varargin, jak to pokazano w przykładach poniżej:

function y = mfun(varargin)

% lub gdy xl i x2 - dane obligatoryjne, reszta - opcjonalnie: function y = mfun(xl, x2, varargin)



Wyszukiwarka

Podobne podstrony:
89619 img58 Wybrane funkcje PHP string strstr(string łańcuch, string poszukiwany); string strchr(str
Tematyka wykladu 3 Organizacja i zadania izb przemysłowo-handlowych w Niemczech jako przykład funkcj
Dziedziczenie (2) Przykład 1: Weźmy jako przykład klasę Osoba oraz jej dwie klasy pochodne: Student
DSC06407 (2) II Pojęcie zmiennej Weźmy jako przykład taki termin, jak: poziom aktywacji organizmu. J
Program MATLAB® zwraca wybrany wektor z macierzy, gdy użyjemy dwukropka. Weźmy jako przykład następu
Wprowadzenie do MatLab (102) Oto przykład funkcji, która może posiadać dowolną liczbą dwuelemcntowyc
PC043375 Przykład 157 Przykładem funkcji, która spełnia warunek z definicji 1.48, jest/fcj^Jl Funkcj
Przykład Jako przykład weźmy budowę serwisu internetowego. Studenci często przychodzą z taką
SAM29 Przykład. Weźmy pod uwagę zbiór liczb całkowitych Wyrażenie m2 - 4m > 0 jest przykładem fu
Funkcja Cobba - Douglasa jako przykład modelu wieloczynmkowego wzrostu Douglas i Cobb sformułowali f

więcej podobnych podstron