Elementarne funkcje oraz takie tworzone przez użytkownika, wielomiany jako tablice/macierze współrzędnych.

W MATLABie istnieje bardzo wiele wbudowanych funkcji, dla nas najbardziej przydatne będą:

  • sqrt - pierwiastek

  • abs - wartość bezwzględna

  • exp - ex

  • log - logarytm naturalny

  • log2 - logarytm o podstawie 2

  • log10 - logarytm o podstawie 10

  • sin, cos, tan, cot , sec, csc - funkcje trygonometryczne

  • asin, acos, atan, acot, asec, acsc - funkcje cyklometryczne

  • sinh, cosh, tanh, coth, sech, csch - funkcje hiperboliczne

  • acosh, asinh, atanh, asech, acsch, acoth ‐ funkcje odwrotne do hiperbolicznych

Zadanie (1)

Wypróbuj następujące komendy:



>> sin(pi/6)

>> sin(5*pi/6)                                  % zauważ, że argument podaliśmy w radianach, nie w stopniach!

>> asin(sin(5*pi/6))

>> asin(sin(5*pi/6))*180/pi        % a tu przerabiamy wynik na stopnie

>> log2(16)+log10(0.0001)

>> exp(log(2))

>> log(exp(2))

>> abs(log10(0.0001))

>> exp(2)+2^(exp(2))

 

Bardzo często będziesz potrzebował własnych wzorów funkcji – do ich szybkiego definiowania służy konstrukcja zwana funkcją anonimową. Oto jej składnia:

f = @(lista_argumentów) wyrażenie;



Zadanie (2)

Wypróbuj następujące komendy:



>> kwadracik = @(x) x^2;

>> kwadracik(2)

>> kwadracik(6)

>> srednia = @(x,y) (x+y)/2;

>> srednia(4,8)



Napisz funkcję anonimową, która będzie obliczać wartość wg wzoru \(y=\frac{2}{\sqrt{|x|-4}}-\frac{6}{x^2-5x}\). Przetestuj poprawność jej działania dla kilku argumentów, w tym x=4 lub x=5.

Rozwiązanie

>> mojaFunkcja = @(x) 2/sqrt(abs(x)-4)-6/(x^2-5*x);

>> mojaFunkcja(3)

>> mojaFunkcja(4)

>> mojaFunkcja(5)



Wielomian w MATLABie jest reprezentowany jako wektor współczynników, np.: wektor p = [2,3,0,-4] reprezentuje wielomian 2x3+3x2–4.



Zadanie (3)

Wypróbuj następujące komendy:



>> p=[1,0,-2,-5]

>> polyval(p,2)                                         % wartość wielomianu w punkcie x0=2

>> polyder(p)                                           % pochodna wielomianu p

>> syms x;                                                 % x staje się zmienną symboliczną, bez ustalonej wartości

>> horner(x^3+x^2+x+1)                % postać zagłębionych iloczynów

>> factor(x^3+x^2+x+1)                 % postać iloczynowa

>> expand((x+2*x^2)*(x-1))           % rozwinięcie iloczynu

>> q=[1, 2, 3]

>> conv(p,q)                                             % wymnaża wielomiany p i q

>> [w,r] = deconv(p,q)                          % dzielenie p przez q (w - wynik, r - reszta)

 

 

 

Ostatnia modyfikacja: poniedziałek, 1.07.2013, 13:07 PM