Przegląd funkcji matematycznych DAWID SZCZYPIŃSKI, BARTŁOMIEJ LEWANDOWSKI, SYLWIA MAŚLANKOWSKA, DAMIAN BRZUZY, PAWEŁ TRACZYK
Funkcje elementarne - Działania x + y Dodawanie x - y Odejmowanie x * y Mnożenie x.* y Mnożenie elementów macierzy x / y Prawostronne dzielenie x./ y Prawostronne dzielenie elementów macierzy x \ y Lewostronny dzielenie x.\ y Lewostronne dzielenie elementów macierzy
Funkcje elementarne - Działania x ^ y Potęgowanie x.^ y Potęgowanie elementów macierzy -x Znak +x Znak + ++x / --x Inkrement (dekrement), zwraca przyjętą wartość x++ / x-- Inkrement (dekrement), zwraca starą wartość
Funkcje elementarne Porównania i operatory logiczne x < y x <= y x == y true, jeśli x mniejsze od y true, jeśli x mniejsze lub równe y true, jeśli x równe y x >=y x > y x!= y true, jeśli x większe lub równe y true, jeśli x większe od y true, jeśli x różne od y
Funkcje elementarne Porównania i operatory logiczne x&&y true, jeśli jednocześnie x i y są true (AND wysoki priorytet) x y true, jeśli przynajmniej jedno: x lub y jest true (OR wysoki priorytet) x & y true, jeśli jednocześnie x i y są true (skrócone logiczne AND ) x y true, jeśli przynajmniej jedno: x lub y jest true (skrócone logiczne OR )! x true, jeśli x jest false (logiczne NOT )
Funkcje elementarne Logarytmy, potęgi i pierwiastki Znak % (procent) rozpoczyna krótki komentarz, czyli wszystkie znaki napisane po nim, aż do końca linii, są pomijane przez interpreter. Aby obliczyć procent liczby należy pomnożyć liczbę przez x*(1/100) abs(x) wartość bezwględna log(x) logarytm naturalny log10(x) logarytm dziesiętny log2(x) logarytm z podstawą 2 logazb=log(b)/log(a) logarytm z dowolną wybraną podstawą (twierdzenia matematyczne)
Funkcje elementarne Logarytmy, potęgi i pierwiastki exp(x) funkcja wykładnicza(eksponencjalna) e X sqrt(x) pierwiastek 2 stopnia cbrt(x) pierwiastek 3 stopnia power(a,1/b) lub a^(1/b) pierwiastek b stopnia z liczby a (twierdzenia matematyczne) nthroot (x, n) pierwiastek n stopnia z liczby x power(a,b) lub a^b potęga b stopnia z liczby a
Operacje na liczbach i zbiorach ceil(x) zaokrąglanie x w górę fix(x) zwraca część całkowitą liczby x floor(x) zaokrąglanie x w dół round(x) zaokrąglanie (ceil+floor) x max(x,y) wartość maksymalna z x i y min(x,y) wartość minimalna z x i y
Operacje na liczbach i zbiorach primes(n) wyświetlanie kolejnych liczb pierwszych do podanego n list_primes(n) wyświetla n kolejnych liczb pierwszych sign (x) mod(x,y) znak liczby, funkcja signum reszta z dzielenia
Stałe liczbowe pi e i lub j inf ans eps realmax realmin π iloraz obwodu koła do jego średnicy podstawa logarytmów naturalnych jednostka urojona(dlatego nie powinniśmy ich używać w pętlach) nieskończoność zmienna, której domyślnie przypisywany jest wynik wyrażenia z linii komend epsilon maszynowy największa reprezentowalna liczba zmiennoprzecinkowa najmniejsza reprezentowalna liczba zmiennoprzecinkowa
Funkcje trygonometryczne Funkcje trygonometryczne w Octave są obsługiwane w radianach, aby odzyskać wyniki dla stopni należy użyć np. sin(x*(pi/180)) sin(x) cos(x) tan(x) cot(x) sinus cosinus tanges cotanges asin(x) arcsinus acos(x) arccosinus atan(x) arctanges acot(x) arccotanges Konwersja z stopni na radiany: function wynik=d2r(a) wynik=a*(pi/180) Konwersja z radianów na stopnie: function wynik=r2d(a) wynik=a*(180/pi)
Funkcja liniowa Wzór: f(x)=ax+b function wynik=fl(x) wynik=3*x+2 function wynik=fl2(a, b, x) disp( ' f(x)=') wynik = a*x+b Wykres: function WFL(a, b, odx, dox) x = [odx:1:dox] y=fl2(a, b, x) plot(x,y) grid on Miejsce zerowe: x 0 = b/a function wynik=mzfl(a, b) disp('miejsce zerowe:') if (a!=0) wynik = -b/a elseif(b!=0) disp('brak miejsca zerowego') else disp('nieskończenie wiele miejsc') endif
Funkcja kwadratowa Wzór: f(x)= ax 2 +bx+c function wynik=fk(x) wynik=3*(x^2)+2*x+4 function wynik=fk2(a, b, c, x) wynik=a*(x.^2)+b*x+c Wykres: function WFK(a, b, c, odx, dox) x = [odx:1:dox] y=fk2(a, b, c, x) plot(x,y) Miejsce zerowe: x 0 = b/a function wynik=mz(a,b,c) delta=(b*b)-(4*a*c) if (delta<0) disp('brak miejsc zerowych'); elseif (delta==0) x1=((-b)/(2*a)) elseif (delta>0) x=((-b)-sqrt(delta))/(2*a) xx=((-b)+sqrt(delta))/(2*a) endif
Wielomiany c=[2, 3, -5]; polyout(c, x') definicja wielomianu roots(c) wyznacza wszystkie pierwiastki wielomianu(miejsca zerowe) conv(a,c) współczynniki iloczynu wielomianów a i c deconv(a,c) dzielenie wielomianów a/c residue(a, c) wyznacza rozkład funkcji wymiernej a/c na ułamki proste polyint(c) całka nieoznaczona z wielomianu polyval(c,x) wyznacza wartość wielomianu w x
Funkcja wymierna Wzór: f(x)= w(x)/p(x) a=[2, 3, -5] polyout(a, x') c=[1, 4, -6] polyout(c, x') function wynik=fwm(a, c, x) disp( ' f(x)=') wynik=polyval(c,x)/polyval(a,x) Wykres: function WFK(a, c, odx, dox) x = [odx:1:dox] y=fwm(a, c, x) plot(x,y)
Funkcja wykładnicza Wzór: f(x)= a x function wynik=fw(x) wynik=power(3,x) function wynik=fw2(a, x) disp( ' f(x)=') wynik=power(a,x) Wykres: function WFW(a, odx, dox) x = [odx:1:dox] y=fw2(a, x) plot(x,y)
Funkcja potęgowa Wzór: f(x)= x a function wynik=fp(x) wynik=power(x,3) function wynik=fp2(a, x) wynik=power(x,a) Wykres: function WFP(a, odx, dox) x = [odx:1:dox] y=fp2(a, x) plot(x,y)
Funkcja logarytmiczna Wzór: f(x)= log a x function wynik=flog(x) wynik= log(3)/log(x) function wynik=flog2(a, x) wynik= log(a)./log(x) Wzór: f(x)= log a (x-p)+q function wynik=flog3(a, p, q, x) wynik= log(a)/(log(x-p)+q) Wykres: function WFL(a, odx, dox) x = [odx:1:dox] y=flog2(a, x) plot(x,y)
Użyteczne funkcje function czy_pierwsza(k) dzielnik=0; for p=2:1:k-1 if (mod(k,p)==0) dzielnik++; endif endfor if (dzielnik==0) disp('liczba pierwsza') else disp('liczba zlozona') endif function doskonala(k) suma=0; for l=1:1:k-1 if(mod(k,l)==0) suma=suma+l; endif endfor if(suma==k) disp('doskonala') else disp('nie') endif factorial(x) silnia hypot(x,y) pitagoras factor(x) rozkład na czynnik pierwsze gcd(x,y) największy wspólny dzielnik NWD lcm(x,y) największa wspólna wielokrotność NWW
Ciągi liczbowe N = 1000000; sum (1./(1:N)) suma ciągu wzoru: σn k=0 1/k a = [1,2,3,4,5]; cumsum(a) diff(a) sumy częściowe ciągu ciąg różnicowy f = (@(x) ( (x)^2+1 )); sum(arrayfun(f,[0:5])) suma ciągu z wzory funkcji w przedziale 0..5
Granice funkcji Granica dąży do 0 + function wynik = GDP(funkcja) n = 0:7; x = 10.^(-n); f = funkcja(x); y = f; format long g disp('przyblizona wartoc granicy') y(8) Granica dąży do wartość + function wynik = GDWD(funkcja,m) m = 0; n = 0:7; x = m+(10.^(-n)); f = funkcja(x); y = f; format long g disp('przyblizona wartoc granicy') y(8) Granica dąży do 0 - function wynik = GDM(funkcja) n = 0:7; x = 0-(10.^(-n)); f = funkcja(x); y = f; format long g disp('przyblizona wartoc granicy') y(8) Granica dąży do wartość - function wynik = GDWM(funkcja,m) m = 0; n = 0:7; x = m-(10.^(-n)); f = funkcja(x); y = f; format long g disp('przyblizona wartoc granicy') y(8)
Pochodne Pochodna z wielomianu: c=[1,0,1]; d= polyder(c) polyout(d, 'x') function wynik=p(a) d = polyder(a) wynik=polyout(d, 'x') Funkcja do obliczania ilorazu różnicowego f(x): function wynik=obl(xod, xdo, xskok, f) tabx = [xod:xskok:xdo]; taby = f(tabx); wynik = diff(tabx)/diff(taby) c = [1, 0, 1]; P(c)
Całki Całka nieoznaczona z wielomianu: c=[1,0,1]; integral=polyint(c); calka=polyout(integral, 'x') Całka oznaczona z wielomianu: c=[1,0,1]; integral=polyint(c); area=polyval(integral,3)-polyval(integral,0) Całka oznaczona z funkcji: quad (@(x) ( (x)^2+1 ), 0, 3) obliczanie oparte na kwadratury Gaussa. quadv (@(x) ( (x)^2+1 ), 0, 3)obliczanie za pomocą adaptacyjnego wektorowy Metoda Simpsona
Prawdopodobieństwo, kombinatoryka, statystyka bincoeff(n, k) dwumian Newtona mean (x) średnia median (x) mediana std (x) odchylenie standardowe var (x) wariancja
Losowanie dużego lotka i Euklides function lotek(k) disp('prawdopodobienstwo trafienia ' ) disp (k) disp( ' w lotku wynoki 1 do ') bincoeff(49,k) function euklides(a,b) while (b!=0) c=mod(a,b); a=b; b=c; endwhile disp('nwd liczb to ') disp(a)
Macierze x - transpozycja macierzy size(macierz np. A) - rozmiar macierzy NxM eye(n) macierz jednostkowa NxN ones(n,m) macierz jedynkowa NxM zeros(n,m) macierz zer NxM rand(n,m) -macierz NxM wypełniona losowymi liczbami z przedziału 0 do 1 A( wiersz, od kolumny : do kolumny) - np. A(1: 2, 3) = 3, 6 pierwszy element z drugiego i trzeciego wiersza diag(macierz) - główna przekątna macierzy mnożenie - macierzowe A*B, tablicowe A.*B potęgowanie- A.^k (tablicowe), A^k(macierzowe)
Macierze rank(a) - funkcja obliczająca rząd macierzy A det(a) - funkcja obliczająca wyznacznik macierzy kwadratowej inv(a) - funkcja obliczająca macierz odwrotną do macierzy ( inv(a) = A^(-1)) x = diag(a) - funkcja tworząca wektor x z elementów znajdujących się na głównej przekątnej macierzy Zadanie: Rozwiązywanie układów równań liniowych A=[2-1 1;1-1 2;5-2 2] B=[7 ;6;15] x = inv(a)*b wynik: x = 1-5 0
Wektory dot(a,b) iloczyn skalarny wektorów a i b cross(a,b) oblicza iloczyn wektorowy poprzeczny dwóch 3-wymiarowych wektorów a i b max(x) funkcja zwracająca największy element wektora min(x) funkcja zwracająca najmniejszy element wektora sum(x) funkcja zwracająca sumę elementów prod(x) iloczyn wektora mean(x) średnia arytmetyczna sort(x) funkcja sortująca elementy wektora w kolejności rosnącej diff(x) funkcja obliczająca różnice pomiędzy sąsiednimi elementami
Inne \\ Znak backslash \" Cudzysłów podwójny \ Cudzysłów pojedynczy \n Znak nowej linii, ASCII code 10 \t Znak tabulacji, ASCII code 9
Dokumentacja http://faculty.cooper.edu/smyth/techcompanion/calc1/ch02/limit.htm http://wiki.octave.org/faq https://www.gnu.org/software/octave/doc/octave-4.0.0.pdf https://www.gnu.org/software/octave/doc/octave-4.2.0.pdf https://pl.wikibooks.org/wiki/gnu_octave