Tworzenie plików funkcyjnych 37
function [xl,x2] = rkw % function [xl,x2] = rkw
% funkcja rkw oblicza pierwiastki równania kwadratowego % a*x/'2+b*x+c=0 % przy czym
% - współczynniki a,b,c podawane sa z klawiatury
% - funkcja sprawdza czy oba rozwiązania sa zespolone
% - funkcja wyprowadza na ekran tylko pierwiastki zespolone
%
disp('Wprowadź kolejno współczynniki równania kwadratowego'); a=input('Podaj a = ' ) ; b=input(1 Podaj b = '); c=input('Podaj c = ');
delta=b*b-4*a*c; % obliczanie wyróżnika równania kwadratowego if a~=0
if delta>=0
disp('BRAK ROZWIĄZAŃ ZESPOLONYCH'); else
disp('Oto pierwiastki zespolone równania kwadratowego'); xl=(-b+sqrt(delta))/(2*a) x2=(-b-sqrt(delta))/(2*a)
end
else
disp('Równanie jest równaniem liniowym');
disp('Współczynnik "a" musi byc rożny od zera');
disp('Spróbuj ponownie');
end
disp('KONIEC OBLICZEŃ'); return
Funkcje Matlaba mają właściwość, której często brakuje funkcjom w innych językach programowania. Funkcje Matlaba mogą być wywoływane ze zmienną liczbą argumentów. Umożliwia to zmienna nargin.
Funkcja Matlaba może też generować różną liczbę argumentów wyjściowych - decyduje o tym zmienna nargout.
Zmienna nargin, użyta wewnątrz ciała funkcji, zwraca liczbę argumentów wejściowych funkcji.
Polecenie nargin('nazwa_funkcji') zwraca liczbę zadeklarowanych argumentów.
Dany jest obwód prądu 3-fazowego niskiego napięcia (rys. 4.1), należy obliczyć napięcia na zaciskach odbiornika.