Analiza matematyczna dla informatyków 1 -maple Ogólne działania: Digits := liczba Ustawia wewn trzny wska nik ilo ci miejsc po przecinku np. Digits := 10; restart Kasuje wewn trzne ustawienia. abs ( liczba ) Oblicza warto bezwzgl dn z liczby np. abs(-10) = 10 binomial ( liczba , liczba ) Oblicza wynik dwumianu Newtona z podanych argumentów. Np. binomial( 17 , 15 ) = 136 cot ( liczba ) Oblicza cotangens z liczby np. cot(Pi) = -1 cos ( liczba ) Oblicza cosinus z liczby np. cos(Pi/3) = ½ denom ( ułamek ) Zwraca licznik ułamka np. denom(13/45)= 45 evalf ( wyra enia , dokładno ) Oblicza wyra enie (liczb ) z podan dokładno ci Np. evalf(Pi/2,12) = 1.57079632680 floor ( liczba ) Zaokr gla liczb w dół , auntie, cało . Np. floor(3.2) = 3 frac(liczba) Zwraca cz niecałkowit z liczby. np. frac(6.123) = .123 ithprime (argument=liczba ) Zwraca kolejne liczby pierwsze. dla 1 = 2 ., 2 = 3 , 3 = 5 , 4 = 7 np. ithprime(4) = 7 isprime ( liczba ) Sprawdza czy podana liczba jest liczb pierwsz Np. isprime(11) = true log [podstawa] ( liczba ) , ln ( liczba ) , log10 ( liczba ) Kolejno logarytm, logarytm naturalny I logarytm dziesi tny. Zwracaj warto z argumentu Liczba e Wyznaczenie liczby e uzyskujemy dzieki funkcji exp(1) np. evalf(exp(1)); nextprime (liczba) Podaje nast pn po danej liczbie liczb pierwsz Np. nextprime(5) = 7 numer ( ułamek ) Zwraca mianownik ułamka np. denom(13/45)= 13 sqrt ( liczba ) Oblicza pierwiastek kwadratowy z liczby. Np. sqrt(4) = 2 sin ( liczba ) Oblicza sinus liczby. Np. sin(Pi/2) = 1 sum(ci g/funkcja,przedział) Oblicza sum jakiego wyra enia na podstawie jakiego przedziału np. sum(2^n,n=1..6) surd ( liczba , stopie ) Oblicza pierwiastek n-tego stopnia z liczby. Np. surd(8,3) = 2 for i from 11234 by 1 to 11300 do i:nextprime(i); printf(i); od; Działania na wielomianach: Okre lanie wielomianów: W1 := 2*(x^2)-7*x+13; Mo na je dodawa , odejmowa , mno y i dzieli . A wynik osi gamy poprzez evalf(); coeff ( wielomian , zmienna^potega ) Pokazuje współczynnik przy pot dze. Np. coeff(x^3+4*x+6, x^3) = 1 divide ( wielomian , wielomian , zmienna) Sprawdza czy pierwszy wielomian jest podzielny przez drugi. Je li tak to zwraca warto true je li ni to false. Je eli podamy 3 argument to warto dzielenia zostanie zapisany do zmiennej o tej nazwie. np. divide(x^2+2*x*y+y^2,x-y) = false expand (wyra enia) Dokonuje oblicze podanych jako argument. Dokonuje działa na liczbach lub wielomianach jednocze nie skracaj c. Np. expand((x+1)*(x+2)) = x^2 + 3 x + 2 factor ( wyra enie ) Rozkłada na czynniki pierwsze podane wyra enie Np. factor(6*x^2+18*x-24) = 6*(x+4)*(x-1) iqou ( wyra enie , wyra enie ) Wyznacza ilo całkowitych podziele a1 przez a2 qou(wielomian,wielomian,zmienna_wielomianu) Zwraca wynik dzielenia wielomianu przez wielomian. Je eli jest reszta to j pomija np. quo(x^4,x^2,x) = x^2 rem(wielomian,wielomian,zmienna_wielomianu) Zwraca reszte z dzielenia wielomianu przez wielomian. np. rem(x^2+x,x^2+2,x) = x - 2 irem ( wyra enie , wyra enie ) Oblicza reszt z dzielenia a1 przez a2. Np. irem(-23,4) = -3 ifactor ( wyra enie ) Rozkłada na czynniki pierwsze podane wyra enie Np. ifactor( 60 ) = 2^2, 3, 5 normal ( wyra enie ) Dokonuje działa na danym wyra eniu skracaj c je a czasem rozwi zuj c Np. normal( (x^2-y^2)/(x-y)^3 ) = (x + y) / (x - y)^2 rationalize ( wyra enie ) Dokonuje działa na danym wyra eniu skracaj c je a czasem rozwi zuj c Np. rationalize 1/(1-sqrt(2)) + 1/(sqrt(2)+1) + 1/(1-sqrt(3)) ) = -5/2-1/2*3^(1/2); Działania na funkcjach: Okre lanie funkcji: W := x-> 2*x^3 + 3*x^2 -5 Mo na je dodawa , odejmowa , mno y i dzieli np. F := x -> H(x) + G(x) Zło enie funkcji: skladanie: H(G(x)) lub zapis superpozycji H := F@G Funkcja odwrotna np.: sin@@(-1) Rysowanie wykresów plot(tan(x),x=-10..10,y=-20..20,discont=true,color=blue); plot(1/x,x=-10..10,y=-10..10); Działania na ci gach: Okre lenie ci gów Ci gi zapisujemy w takiej samej postaci jak funkcje, czyli np. H := n-> n^2-2001*n+2000 i dokonujemy na nich te same operacje Wykres ci gu K := k->2*k^2+11; plot([[k,K(k)] $ k=1..10],style=point); Mo emy te nakaza wypisanie n pocz tkowych wyrazów ci gu urzywaj c funkcji print(). np. print(k^2 $ k=1..30); Ten ci g wypisze wszystkie potegi wyrazów od 1 do 30 Gdy chcemy by warto ci bardziej zło onego ci gu zostały policzone mósimy u y składni: np. evalf(sin(k) $ k=1..20); a wykres plot([[k,sin(k)] $ k=1..20], style=point); Gdy chcemy obliczy przedziały w których ciag lub funkcja s rosn ce a w których malej ce, u ywamy funkcji: solve(wyra enie,parametr) –Wykonuje działanie np.: H := x-> x^2-2001*x+2000; solve(H(k)-H(k-1)<0,k); RealRange(-infinity, Open(1001)) solve(H(k)-H(k-1)=0,k); 1001 solve(H(k)-H(k-1)>0,k); RealRange(Open(1001), infinity) Ci g mo emy równie zapisa za pomoca funkcji: seq(wyra enie_ci gu,przedział) Oblicza warto ci ci gu na podstawie parametrów np. seq(sin(Pi*n/6), n=0..6) = 0, 1/2, 1/2*3^(1/2), 1, 1/2*3^(1/2), 1/2, 0 Funkcja solve słu y tak e do rozwi zywania równa . (ta sama składnia), a oto przykłady: solve(4*x+3=7,x) = 1; solve(abs(3*x-5)=17,x) = 22/3, -4; solve(3*x+4*y=17,x) = -4/3*y+17/3; f solve(wyra enie,parametr) Oblicza to samo co solve ale zaokraja wyniki tylko do liczb rzeczywistych np. fsolve(x^3-x^2+x+1,x) = -.543689012692076361570855971802 Mo na ich u y tak e do bardziej skomplikowanych oblicze np. roz := solve({x+2*y=3, y+1/x=1}, {x,y}) = roz := {y = 2, x = -1}, {x = 2, y = 1/2} roz = {y = 2, x = -1}, {x = 2, y = 1/2} roz[1] = {y = 2, x = -1} roz[2] = {x = 2, y = 1/2} Mo na tak e oblicza inne wyra enia: np. fsolve(sqrt(2*x+1)=sqrt(x-4),x) Działania na granicach: = -5 Limit – obliczanie granicy funkcji, ci gu Aby obliczy granicefunkcji lub ci gu nale y u y funkcji limit np. limit(1-(1/n^2)^n,n=infinity) = 1 Jako pierwszy parametr podajemy wyra enie okre laj ce funkcje lub ci g, jako drugi parametr podajemy do czego d y nasza zmienna. Przykładem obliczania granicy jest: Limit((1-1/n^2)^n,n=infinity) = limit((1-1/n^2)^n,n=infinity) = 1; Czasami chcemy obliczy granice jakie funkcji w punkcie w którym jest nieokre lona. Limit(1/x,x=0) = limit(1/x,x=0); Limit(1/x,x = 0) = undefined Wtedy obliczamy granice lewo I prawo stronne. Limit(1/x,x=0,right) = limit(1/x,x=0,right) lim 1/x = infinity Limit(1/x,x=0,left) = limit(1/x,x=0,left) lim 1/x = -infinity Badanie funkcji: B d nam potrzebne funkcjie discont i iscont aby je załadowa urzywamy procedury readlib(nazwa funkcji). discont( funkcja , zmienna funkcji ) Badamy czy funkcja ma jakie punkty podejrzane o nieci gło . np. discont(1/x,x) = {0} iscont( funkcja , przedział ) Badamy czy funkcja jest ci gła w przedziale. np. iscont(1/x,x=2..infinity); true zmienna := piecewise( wyrazenia funkcyjne ) Je eli chcemy zbudowa funkcje skladajac si z ró nych ‘funkcji’ dla ró nych przedziałów urzywamy do tego celu funkcji piecewise która zwaraca wyra enie funkcyjne, które mo emy bada pod wzgl dem ci gło ci funkcjami iscont , discont, limit, aby z wyra enia stworzy funkcje urzywamy funkcji unapply(). np. a := piecewise(x<-1,x,x<1,x^3,-x+2); x x < −1 a = x x ≥ −1 x < 1 − x + 2 x ≥1 3 zmienna := unapply(warto funkcyjna, zmienna funkcyjna) Aby zmieni warto funkcyjn na funkcje zmiennej np. x np. f := unapply(a,x) f := x -> piecewise(x < -1, x, x < 1, x^3 , -x + 2) Pakiet student. Aby wywoła okre lone funkcje do badania zmienno ci funkcji wpisujemy with(student) Wykres stycznej do funkcji w pukcie x_0 Funkcja showtangent( funkcja , punkt , przedział rysunku ) rysuje styczn do wykresu. np. showtangent( f(x) , 0.5 , x=-2..2); Pochodna funkcji Aby obliczy pochodn funkcji wywołujemy funkcje diff(funkcja,zmienna funkcji). Je eli chcemy zrobi z pochodnej funkcje u ywamy składni np. pochodna_f := unapply(diff(x^3,x),x); pochodna_f := x -> 3 x^2 Badanie funkcji – wzór Taylora: f := x -> sin(8*x); taylor(f(x),x=0,3); f := x -> sin(8 x) 8 x + O(x^3) g1 := convert(",polynom); g1 := 8 x Pominiecie reszty taylor(f(x),x=0,4); 8 x - 256/3 x^3 + O(x^4) g2 := convert(",polynom); g2 := 8 x - 256/3 x^3 taylor(f(x),x=0,6); 8 x - 256/3 x^3 + 4096/15 x^5 + O(x^6) g3 := convert(",polynom); g3 := 8 x - 256/3 x^3 +4096/15 x^5 plot([f(x),g1(x),g2(x),g3(x)],x=-0.5..0.5,y=-2..2); Im dokladniesze przyblirzenie tym wykresy coraz bardziej sie przyklejaja do wykresu funkcji.