POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 4.0-
|
|
- Julie Karolína Fišerová
- před 6 lety
- Počet zobrazení:
Transkript
1 Math40-3.nb POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 4.0- Vojtěch Bartík Část 3 Transformační pravidla neboli substituce Algebraické úpravy výrazů Funkce:definování a iterování Elementy programování: testy, podmínky, cykly, lokalizace proměnných a konstant Transformační pravidla neboli substituce à Obecná charakteristika Transformační pravidla jsou výrazy tvaru lhs -> rhs, lhs :> rhs s vnitřní reprezentací Rule[lhs, rhs], RuleDelayed[lhs, rhs]. Levá strana lhs může obsahovat podmínky pro aplikování transformačního pravidla. Pomocí transformačních pravidel a příkazů Replace[expr,rule], Replace[expr,{rule,...}, expr/.rule, expr/.{rule,rule2,...}, expr//.rule, expr//.{rule,rule2,...}, z nichž poslední čtyři mají vnitřní reprezentaci ReplaceAll[expr,rule], ReplaceAll[expr,List[rule,...]], ReplaceRepeated[expr,rule], ReplaceRepeated[expr,List[rule,...]], můžeme počítat hodnoty výrazů pro konkrétní hodnoty proměnných nebo i jejich částí a také je transformovat na jiné výrazy. Možné jsou i příkazy Replace[expr,{rules,...}], expr/.{rules,rules2,...}, expr//.{rules,rules2,...} které vytvoří seznamy Replace[expr,rules],...}, {expr/.rules,expr/.rules2,...}, {expr//.rules,expr//.rules2,...}
2 2 Math40-3.nb à Replace Replace[expr,rules]... prochází seznam rules a aplikuje na expr první použitelné pravidlo, které najde. Další pravidla už nezkouší a tedy neaplikuje. 8Replace@x + y, x 2D, Replace@x + y, 8x + y 2, x + y 3<D, Replace@x + y, 8x + y 3, x + y 2<D< 8x + y, 2, 3< à ReplaceAll expr/.rules... prochází seznam částí výrazu expr a pro každou část hledá v seznamu rules pravidla, která by bylo možné na tuto část aplikovat. Pokud taková pravidla v seznamu rules existují, aplikuje první, které najde, a další už neaplikuje ani na danou část, ani na její podčásti. Příklady: 8x + x 2 ê. 8x + x 2 a, x b, x 2 c<, x + x 2 ê. 8x b, x 2 c<, x + x 2 ê. x b, x + x 2 ê. x 2 c< 8a, b + c, b + b 2, c + x< 8x + x 2 ê. x b ê. x 2 c, x + x 2 ê. x 2 c ê. x b< 8b + b 2, b + c< à ReplaceRepeated expr//.rules... iteruje příkaz expr/.rules, dokud se výsledek nepřestane měnit nebo dokud počet iterací nepřesáhne maximální hodnotu danou volitelným parametrem MaxIterations. Tento parametr je implicitně nastaven na Příklady: list = 80, 50, 00<; list êê. n_ ê; n > 0 n General::spell : Possible spelling error: new symbol name "list" is similar to existing symbol "List". 80, 0, 0< ReplaceRepeated@list, n_ ê; n > 0 n, MaxIterations 0D ReplaceRepeated::rrlim : Exiting after 80, 50, 00< scanned 0 times.
3 Math40-3.nb 3 80, 40, 90< ReplaceRepeated@list, n_ ê; n > 0 n, MaxIterations 50D ReplaceRepeated::rrlim : Exiting after 80, 50, 00< scanned 50 times. 80, 0, 50< ReplaceRepeated@list, n_ ê; n > 0 n, MaxIterations 00D ReplaceRepeated::rrlim : Exiting after 80, 50, 00< scanned 00 times. 80, 0, 0< Clear@trigRulesD; trigrules = 8Sin@n_ x_d ê; n > Sin@Hn L xd Cos@xD + Cos@Hn L xd Sin@xD, Cos@n_ x_d ê; n > Cos@Hn L xd Cos@xD Sin@Hn L xd Sin@xD<; ColumnForm@Table@Expand@Sin@n xd êê. trigrulesd, 8n, 2, 6<DD 2 Cos@xD Sin@xD 3 Cos@xD 2 Sin@xD Sin@xD 3 4 Cos@xD 3 Sin@xD 4 Cos@xD Sin@xD 3 5 Cos@xD 4 Sin@xD 0 Cos@xD 2 Sin@xD 3 + Sin@xD 5 6 Cos@xD 5 Sin@xD 20 Cos@xD 3 Sin@xD Cos@xD Sin@xD 5 ColumnForm@Expand@Table@Sin@n xd, 8n, 2, 6<D êê. trigrulesdd 2 Cos@xD Sin@xD 3 Cos@xD 2 Sin@xD Sin@xD 3 4 Cos@xD 3 Sin@xD 4 Cos@xD Sin@xD 3 5 Cos@xD 4 Sin@xD 0 Cos@xD 2 Sin@xD 3 + Sin@xD 5 6 Cos@xD 5 Sin@xD 20 Cos@xD 3 Sin@xD Cos@xD Sin@xD 5 Použijeme-li místo odložených transformačních pravidel RuleDelayed pravidla Rule, mohou nastat potíže: Clear@trigRulesD; trigrules = 8Sin@Hn_ ê; n > L x_d Sin@Hn L xd Cos@xD + Cos@Hn L xd Sin@xD, Cos@Hn_ ê; n > L x_d Cos@Hn L xd Cos@xD Sin@Hn L xd Sin@xD<; Pokud je proměnná v příkazu Table označena symbolem různým od symbolu n použitého v definici pravidel trigrules, potíže nejsou: ColumnForm@Table@Expand@Sin@k xd êê. trigrulesd, 8k, 2, 3<D, CenterD 2 Cos@xD Sin@xD 3 Cos@xD 2 Sin@xD Sin@xD 3 Je-li označena stejným symbolem, dostaneme chybný výsledek:
4 4 Math40-3.nb MaxIterations 3D; tt = Table@Expand@Sin@n xd êê. trigrulesd, 8n, 2, 3<D; ReplaceRepeated::rrlim : Exiting after Sin@3 xd scanned 3 times. tt@@dd 2 Cos@xD Sin@xD tt@@2dd 3 Cos@xD 2 Cos@2 xd Sin@xD Cos@2 xd Sin@xD 3 + Cos@xD 3 Sin@2 xd 3 Cos@xD Sin@xD 2 Sin@2 xd SetOptions@ReplaceRepeated, MaxIterations 6D; tt = Table@Expand@Sin@n xd êê. trigrulesd, 8n, 2, 3<D; ReplaceRepeated::rrlim : Exiting after Sin@3 xd scanned 6 times. tt@@dd 2 Cos@xD Sin@xD tt@@2dd 6 Cos@xD 5 Cos@2 xd Sin@xD 20 Cos@xD 3 Cos@2 xd Sin@xD Cos@xD Cos@2 xd Sin@xD 5 + Cos@xD 6 Sin@2 xd 5 Cos@xD 4 Sin@xD 2 Sin@2 xd + 5 Cos@xD 2 Sin@xD 4 Sin@2 xd Sin@xD 6 Sin@2 xd Potíže ale zmizí, vytvoříme-li napřed celý seznam a potom aplikujeme transformační pravidla: SetOptions@ReplaceRepeated, MaxIterations 3D; ColumnForm@Expand@Table@Sin@n xd, 8n, 2, 3<D êê. trigrulesd, CenterD 2 Cos@xD Sin@xD 3 Cos@xD 2 Sin@xD Sin@xD 3 SetOptions@ReplaceRepeated, MaxIterations 65536D; TableForm@Expand@Table@Sin@n xd, 8n, 2, 3<D êê. trigrulesdd 2 Cos@xD Sin@xD 3 Cos@xD 2 Sin@xD Sin@xD 3
5 Math40-3.nb 5 Algebraické úpravy výrazů à Obecné výrazy: Expand, ExpandAll, PowerExpand, FunctionExpand, Simplify, FullSimplify Expand Expand[expr]... expanduje mocniny, jejichž exponenty jsou přirozená čísla, a součiny. Operuje pouze na nejvyšší úrovni výrazu. p = x 2 + x + ; p2 = x 2 3 x + 2; p3 = Hy + L 2 ; 8p p2, Expand@p p2d< 8H2 3 x + x 2 L H + x + x 2 L, 2 x 2 x 3 + x 4 < 8p 2, Expand@p 2 D< 9H + x + x 2 L 2, + 2 x + 3 x x 3 + x 4 = p p2 : p3, Expand p p2 É p3 ÖÑ > : H2 3 x + x2 L H + x + x 2 L H + yl 2, 2 H + yl 2 x H + yl 2 2 x 3 H + yl 2 + x 4 H + yl 2 > x lo x+ + y x y+ x+ + y É y+ o m, Expand } o z + n z + o ÖÑ ~ x lo +x m + y +y o, n + z x H + xl H + zl + y o } H + yl H + zl o ~ Zkusme za x dosadit: ColumnForm@8p p2 ê. x Sin@xD, Expand@p p2 ê. x Sin@xDD<, CenterD H2 3 Sin@xD + Sin@xD 2 L H + Sin@xD + Sin@xD 2 L 2 Sin@xD 2 Sin@xD 3 + Sin@xD 4 ColumnForm@8p Hp2 ê. x yl, Expand@p Hp2 ê. x yld<, CenterD H + x + x 2 L H2 3 y + y 2 L x + 2 x 2 3 y 3 x y 3 x 2 y + y 2 + x y 2 + x 2 y 2
6 6 Math40-3.nb Expand[expr, patt]... expanduje mocniny, jejichž exponenty jsou přirozená čísla, a součiny, ale nechá beze změny ty části výrazu expr, které neobsahují žádnou část mající tvar šablony (vzoru) patt. Operuje pouze na nejvyšší úrovni výrazu. ColumnForm@8p p2, Expand@p p2d, Expand@p p2, D<, CenterD H2 3 x + x 2 L H + x + x 2 L 2 x 2 x 3 + x x + x 2 + x H2 3 x + x 2 L + x 2 H2 3 x + x 2 L ColumnForm@8#, Expand@#D, Expand@#, xd< &@p Hp2 ê. x yld, CenterD H + x + x 2 L H2 3 y + y 2 L x + 2 x 2 3 y 3 x y 3 x 2 y + y 2 + x y 2 + x 2 y y + y 2 + x H2 3 y + y 2 L + x 2 H2 3 y + y 2 L Expand má skryté (nepovinné) argumenty: Options@ExpandD 8Modulus 0, Trig False< Při nastavení Modulus -> p, p π 0, redukuje výsledek modulo p, takže např. pro p = 2 každý sudý koeficient bude nahrazen nulou. Při nastavení Trig -> True provede s trigonometrickými funkcemi totéž co TrigExpand. 8Expand@HCos@2 xd + L 2 D, Expand@HCos@2 xd + L 2, Trig TrueD< êê ColumnForm@#, CenterD & + 2 Cos@2 xd + Cos@2 xd Cos@xD2 + Cos@xD4 2 2 Sin@xD 2 3 Cos@xD 2 Sin@xD 2 + Sin@xD4 2 8Expand@H3 x + 2L 3 D, Expand@H3 x + 2L 3, Modulus 2D, Expand@H3 x + 2L 3, Modulus 3D< x + 54 x x 3, x 3, 2< ExpandAll ExpandAll[expr]... provede Expand na každou část výrazu expr p p2 : p3, ExpandAll p p2 É p3 ÖÑ > : H2 3 x + x2 L H + x + x 2 L H + yl 2, y + y 2 x + 2 y + y 2 2 x y + y 2 + x y + y 2 >
7 Math40-3.nb 7 ExpandAll[expr,patt]... provede Expand[#,patt]& na každou část výrazu expr p p2 : p3, HExpandAll@#, yd &L p p2 É p3 ÖÑ > : H2 3 x + x2 L H + x + x 2 L H + yl 2, H2 3 x + x2 L H + x + x 2 L + 2 y + y 2 > p p2 : p3, HExpandAll@#, xd &L p p2 É p3 ÖÑ > : H2 3 x + x2 L H + x + x 2 L H + yl 2, 2 H + yl 2 x H + yl 2 2 x 3 H + yl 2 + x 4 H + yl 2 > ExpandAll má stejné skryté argumenty jako Expand. PowerExpand PowerExpand[expr]... expanduje mocniny součinu, mocniny mocnin, logaritmy mocnin a logaritmy součinů. Nutno použivat opatrně vzhledem k mnohoznačnosti všech těchto funkcí v komplexním oboru. Mathematica nehlídá korektnost těchto úprav!!! 8Log@Hx yl n D, PowerExpand@Log@Hx yl n DD< 8Log@Hx yl n D, n HLog@xD + Log@yDL< 8Log@HCos@xD Exp@yDL n D, PowerExpand@Log@HCos@xD Exp@yDL n DD< 8Log@H y Cos@xDL n D, n Hy + Log@Cos@xDDL< 8Log@HCos@xD Exp@yD z L n D, PowerExpand@Log@HCos@xD Exp@yD z L n DD< 8Log@HH y L z Cos@xDL n D, n Hy z + Log@Cos@xDDL< 8HHCos@xD Sin@xDL n L m, PowerExpand@HHCos@xD Sin@xDL n L m D< 8HHCos@xD Sin@xDL n L m, Cos@xD m n Sin@xD m n < FunctionExpand FunctionExpand[expr]... snaží se expandovat speciální a některé další funkce v expr a zjednodušit argumenty FunctionExpand[expr,assum]... totéž s použitím předpokladů assum 8Expand@Abs@x ydd, FunctionExpand@Abs@x ydd, FunctionExpand@Abs@x yd, x > 0D<
8 8 Math40-3.nb yd, x Abs@yD< 8FunctionExpand@Log@x ydd, FunctionExpand@Log@x yd, x > 0D< 8Log@x yd, Log@xD + Log@yD< 9FunctionExpandA è!!!!!! x 2 E, FunctionExpandA è!!!!!! x 2, x > 0E= 9 è!!!!!!!!!! x è!!!!!!! x, è!!!!!!!!!! x è!!!!!!! x= Simplify Simplify[expr]... aplikuje blíže nespecifikovaná transformační pravidla a uvede expr na tvar, který podle jistého kritéria považuje za nejjednodušší Simplify i j k x + y z ì i j x y { k y + y É y z ê. 8x Sin@xD, y Cos@xD< x { ÖÑ Cos@xD + Sin@xD Simplify@Sin@xD Sin@xD 2 Cos@xD 2 + Cos@xD 4 D Simplify@Exp@xD Exp@xD Exp@yD + Exp@yD 2 D H x + y L 2 Simplify[expr,assum]... totéž jako Simplify s použitím předpokladů assum 8Simplify@Sin@n πd, n IntegersD, Simplify@Cos@n πd, n IntegersD< 80, H L n < 8Simplify@Sin@x + 2 n πd, n IntegersD, Simplify@Cos@x + 2 n πd, n IntegersD< 8Sin@xD, Cos@xD< 8Simplify@Sin@x + n πd, n IntegersD, Simplify@Cos@x + n πd, n IntegersD< 8Sin@n π + xd, Cos@n π + xd< 8Simplify@Sin@x + 7 πdd, Simplify@Cos@x + 8 πdd<
9 Math40-3.nb 9 8 Sin@xD, Cos@xD< 9SimplifyA è!!!!!! x 2 E, SimplifyA è!!!!!! x 2, x RealsE, SimplifyA è!!!!!! x 2, x 0E= 9 è!!!!!! x 2, Abs@xD, x= Simplify $%%%%%% x + É è!!!! ê. 88x 2<, 8x <, 8x <, 8x 2<< x ÖÑ 8 è!!! 2, 2, 0, 0< lo m o Simplify $%%%%%% x + É è!!!!, Simplify $%%%%%%% n x x + É o è!!!!, x > 0 } ÖÑ x o ÖÑ ~ lo m o $%%%%%% x + o} è!!! n x, 0 ~ o 8Simplify@ArcSin@Sin@xDDD, Simplify@ArcSin@Sin@xDD, Piê2 x Piê2D< 8ArcSin@Sin@xDD, x< SimplifyAHx + ylê2 è!!!!!!!! x y, x 0fly 0E True Simplify má skryté (nepovinné) argumenty: Options@SimplifyD 8ComplexityFunction Automatic, TimeConstraint 300, TransformationFunctions Automatic, Trig True< 8Simplify@4 Log@0DD, Simplify@4 Log@0D, ComplexityFunction LeafCountD< 84 Log@0D, Log@0000D< HSimplify@#, ComplexityFunction LeafCountD &L ê@ 84 Log@4D, 2 Log@42D, 4 Log@0D, 3 Log@42D, 5 Log@2000D + 7 Log@3000D< 8Log@256D, Log@764D, Log@0000D, Log@74088D, Log@ D< Údajně lze nastavení změnit na TransformationFunctions Automatic
10 0 Math40-3.nb nebo na TransformationFunctions {Automatic,f,f2,...} TransformationFunctions {f,f2,...}. Neznám, bohužel, ani jeden příklad, jak to udělat, a sám jsem na to nepřišel. FullSimplify FullSimplify[expr]... zjednoduší expr podobně jako Simplify, ale používá širší paletu transformačních pravidel É FullSimplify $%%%%%%%%%%%%%% 2 x 3 + x ì è!!!!!!!!!!! 2 x ÖÑ $%%%%%%%%%%%%%% 3 + x 9FullSimplifyALogAz + è!!!!!!!!!!! z + è!!!!!!!!!!! z EE, FullSimplifyAArcCosA è!!!!!!!!!!! xee= 8ArcCosh@zD, ArcSinA è!!! xe< H Sin@xD 2 L $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ExpandBI + è!!!! 2M 20 F êê 8#, FullSimplify@#D< & : "########################################################## è!!! 2 H Sin@xD 2 L, I è!!! 2M Cos@xD 2 > FullSimplify[expr,assum]... totéž jako FullSimplify s použitím předpokladů assum a FullSimplify b + b c + c É a 3, a > 0 && b > 0 && c > 0 ÖÑ True Options@FullSimplifyD 8ComplexityFunction Automatic, ExcludedForms 8<, TimeConstraint, TransformationFunctions Automatic, Trig True< Fibonacciova čísla jsou definována rekurentně takto: první dvě čísla jsou, každé další je součtem dvou 2 předcházejících. GoldenRatio je číslo -+ è!!!! U Fibonacci ê@ Range@, 8D 8,, 2, 3, 5, 8, 3, 2, 34, 55, 89, 44, 233, 377, 60, 987, 597, 2584<
11 Math40-3.nb nd, n IntegersD, FullSimplify@Fibonacci@2 nd, n Integers, ComplexityFunction HLeafCount@#D + 00 Count@#, _Fibonacci, 80, <D &LD< :Fibonacci@2 nd, GoldenRatio 2 n H + GoldenRatio 4 n L è!!! > 5 H Sin@xD 2 L $%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ExpandBI + è!!!! 2M 20 F êê :FullSimplify@#D, FullSimplifyB#, ExcludedForms > "#### _ F> & :I è!!! 2M Cos@xD 2, "########################################################## è!!! 2 Cos@xD 2 > à Polynomiální výrazy: PolynomialQ, Factor, FactorTerms, Collect, Variables, Length, Exponent, Coefficient, CoefficientList, PolynomialQuotient, PolynomialRemainder, PolynomialGCD, PolynomialLCM Polynom v proměnné x je výraz typu a 0 + a x + a 2 x a n x n Výraz x přitom nemusí být symbol. Podobně je definován polynom v proměnných x, x2,... PolynomialQ PolynomialQ[expr,x]... testuje, zda Mathematica považuje expr za polynom v proměnné x PolynomialQ[expr,{x,x2,...}]... testuje, zda Mathematica považuje expr za polynom v proměnných x,x2,... 8p, p ê. x Cos@xD< 8 + x + x 2, + Cos@xD + Cos@xD 2 < Map@PolynomialQ@p ê. x Cos@xD, #D &, 8x, Cos@xD<D 8False, True< 8p, p ê. x Exp@xD< 8 + x + x 2, + x + 2 x < Map@PolynomialQ@p ê. x Exp@xD, #D &, 8x, Exp@xD<D 8False, True< 8p Exp@yD, Map@PolynomialQ@p Exp@yD, #D &, 8x, y<d< êê Flatten
12 2 Math40-3.nb 8 y H + x + x 2 L, True, False< Factor Factor[poly]... rozloží polynom s koeficienty typu Integer nebo Rational na součin polynomu stejného typu, které se v tomto smyslu dále rozložit nedají 8p p2, Factor@p p2d< 8H2 3 x + x 2 L H + x + x 2 L, H 2 + xl H + xl H + x + x 2 L< :ExpandBIx è!!!! 2M 2 F, FactorBExpandBIx è!!!! 2M 2 FF> 82 2 è!!! 2 x + x 2, 2 2 è!!! 2 x + x 2 < 8#, Factor@#D< &@p p2 ê. x Cos@xDD êê ColumnForm@#, CenterD & H2 3 Cos@xD + Cos@xD 2 L H + Cos@xD + Cos@xD 2 L H 2 + Cos@xDL H + Cos@xDL H + Cos@xD + Cos@xD 2 L 8#, Factor@#D< &@p p2 ê. x Exp@xDD 8H2 3 x + 2 x L H + x + 2 x L, H 2 + x L H + x L H + x + 2 x L< Options@FactorD 8Extension None, GaussianIntegers False, Modulus 0, Trig False< GaussianIntegers jsou komplexní čísla tvaru a + b, kde a, b jsou celá čísla. 8Factor@x 2 + D, Factor@x 2 +, GaussianIntegers TrueD< 8 + x 2, H + xl H + xl< 9Factor@x 2 + 2D, FactorAx 2 + 2, Extension è!!!! 2 E= 82 + x 2, I è!!! 2 xm I è!!! 2 + xm< 9Factor@Hx 2 2L Hx 2 + 6LD, FactorAHx 2 2L Hx 2 + 6L, Extension 9 è!!!! 2, è!!!! 3 =E= 8H 2 + x 2 L H6 + x 2 L, I è!!! 2 xm I è!!! 6 xm I è!!! 6 + xm I è!!! 2 + xm<
13 Math40-3.nb 3 FactorTerms FactorTerms[poly]... vytkne společný numerický faktor 8FactorTerms@H2 x 2 2L H3 x 3LD, FactorTerms@ x 3 x 2 x D< 86 H x x 2 + x 3 L, x x 2 x 3 < Jak je vidět, - se za společný faktor nepovažuje! Options@FactorTermsD 8Modulus 0, Trig False< Collect Collect[poly,x]... vyjádří poly jako polynom v jedné proměnné x Collect[poly,{x,y,...}]... vyjádří poly jako polynom v jedné proměnné x, koeficienty jako polynomy v proměnné y atd. p4 = H + x + y + zl 2 ; 8Expand@p4D, Collect@p4, xd, Collect@p4, yd, Collect@p4, 8x, y<d< êê ColumnForm@#, CenterD & + 2 x + x y + 2 x y + y z + 2 x z + 2 y z + z 2 + x y + y z + 2 y z + z 2 + x H2 + 2 y + 2 zl + 2 x + x 2 + y z + 2 x z + z 2 + y H2 + 2 x + 2 zl + x 2 + y z + z 2 + y H2 + 2 zl + x H2 + 2 y + 2 zl Options@CollectD 8Modulus 0, Trig False< Variables, Length, Exponent, Coefficient, CoefficientList Variables[poly]... seznam proměnných polynomu Length[poly]... počet členů polynomu Exponent[poly,x]... stupeň polynomu vzhledem k x Coefficient[poly,expr]... koeficient výrazu expr v poly Coefficient[poly,expr,n]... koeficient výrazu expr v poly Coefficient[poly,expr,0]... člen poly nezávislý na expr CoefficientList[poly, x]... seznam koeficientů u mocnin proměnné x CoefficientList[poly,{x,y,..]}]...??? ColumnForm@8p, p2 ê. x x y, p p2, p4, Expand@p4D<D
14 4 Math40-3.nb + x + x x y + x 2 y 2 H2 3 x + x 2 L H + x + x 2 L H + x + y + zl x + x y + 2 x y + y z + 2 x z + 2 y z + z 2 Variablesê@8p, p2 ê. x x y, p p2, p4, Expand@p4D< 88x<, 8x, y<, 8x<, 8x, y, z<, 8x, y, z<< Lengthê@8p, p2 ê. x x y, p p2, p4, Expand@p4D< 83, 3, 2, 2, 0< HExponent@#, xd &Lê@8p, p2 ê. x x y, p p2, p4, Expand@p4D< 82, 2, 4, 2, 2< HExponent@#, yd &Lê@8p, p2 ê. x x y, p p2, p4, Expand@p4D< 80, 2, 0, 2, 2< HCoefficient@#, x, 2D &Lê@8p, p2 ê. x x y, p p2, p4, Expand@p4D< 8, y 2, 0,, < HCoefficient@#, x yd &Lê@8p, p2 ê. x x y, p p2, p4, Expand@p4D< 80, 3, 0, 2, 2< HCoefficient@#, x 2 D &Lê@8p, p2 ê. x x y, p p2, p4, Expand@p4D< 8, y 2, 0,, < 8p, p2 ê. x > x y, p p2, p4, Expand@p4D< êê CoefficientList@#, xd & êê ColumnForm@#, CenterD & 8,, < 82, 3 y, y 2 < 82,, 0, 2, < y + y z + 2 y z + z 2, y + 2 z, < y + y z + 2 y z + z 2, y + 2 z, < H8p, p2 ê. x > x y, p p2, p4, Expand@p4D< ê. x > Exp@xDL êê CoefficientList@#, xd & êê ColumnForm@#, CenterD &
15 Math40-3.nb x + 2 x < 82 3 x y + 2 x y 2 < 82 x 2 3 x + 4 x < x + 2 x + 2 y + 2 x y + y z + 2 x z + 2 y z + z 2 < x + 2 x + 2 y + 2 x y + y z + 2 x z + 2 y z + z 2 < PolynomialQuotient, PolynomialRemainder, PolynomialGCD, PolynomialLCM PolynomialQuotient[poly,poly2,x]... částečný podíl polynomů PolynomialRemainder[poly,poly2,x]... zbytek při dělení PolynomialGCD[poly,poly2,...]... největší společný dělitel PolynomialLCM[poly,poly2,...]... nejmenší společný násobek 8PolynomialQuotient@x x 2 4 x, x 2 +, xd, PolynomialRemainder@x x 2 4 x, x 2 +, xd< 84 x + x 3, 5 3 x< PolynomialGCD@x x 2 4 x, x 2 D + x PolynomialLCM@x x 2 4 x, x 2 D H + x 2 L H + 5 x + x 2 + x 3 L à Racionální výrazy: Numerator, Denominator, ExpandNumerator, ExpandDenominator, Cancel, Factor, Together, Apart Rationální výrazy jsou výrazy typu poly/poly2. Numerator[expr]... čitatel racionálního výrazu Denominator[expr]... jmenovatel racionálního výrazu ExpandNumerator[expr]... aplikuje Expand na čitatele ExpandDenominator[expr]... aplikuje Expand na jmenovatele Cancel[expr]... vykrátí společné činitele čitatele a jmenovatele Factor[expr]... uvede na společného jmenovatele a na čitalele i jmenovatele aplikuje Factor Together[expr]... uvede na společného jmenovatele Apart[expr]... rozloží na součet polynomu a jednoduchých zlomků Apart[expr,x]... rozloží na součet polynomu a jednoduchých zlomků, proměnné různé od x přitom považuje za konstanty expr = Hx L Hx2 4 x + 4L Hx 2 + L Hx 2L Hx 2 L Hx 2 + 2L
16 6 Math40-3.nb H + xl H + x 2 L H4 4 x + x 2 L H 2 + xl H + x 2 L H2 + x 2 L 8Numerator@exprD, Denominator@exprD< 8H + xl H + x 2 L H4 4 x + x 2 L, H 2 + xl H + x 2 L H2 + x 2 L< expr2 = ExpandNumerator@exprD x 9 x x 3 5 x 4 + x 5 H 2 + xl H + x 2 L H2 + x 2 L expr3 = ExpandDenominator@exprD H + xl H + x 2 L H4 4 x + x 2 L 4 2 x 2 x 2 + x 3 2 x 4 + x 5 expr4 = Cancel@exprD H 2 + xl H + x 2 L H + xl H2 + x 2 L Expand@expr4D 2 H + xl H2 + x 2 L + x H + xl H2 + x 2 L 2 x 2 H + xl H2 + x 2 L + x 3 H + xl H2 + x 2 L ExpandAll@expr4D x + x 2 + x 3 + x x + x 2 + x 3 2 x x + x 2 + x 3 + x x + x 2 + x 3 expr5 = Apart@exprD 2 + x x 2 + x 2 8Together@expr5D, Factor@expr5D< : 2 + x 2 x2 + x 3 H + xl H2 + x 2 L, H 2 + xl H + x2 L H + xl H2 + x 2 L > expr6 = expr4 ê. x 2 y 2 H 2 + xl H + y 2 L H + xl H2 + y 2 L 8Apart@expr6D, Apart@expr6, yd, Apart@expr6, xd<
17 Math40-3.nb 7 : 2 + x + x + 2 x H + xl H2 + y 2 L, 2 + x + x + 2 x H + xl H2 + y 2 L, + y2 2 + y 2 3 H + y 2 L H + xl H2 + y 2 L > expr7 = expr6 ê. 8x Exp@xD, y Sin@xD< H 2 + x L H + Sin@xD 2 L H + x L H2 + Sin@xD 2 L 8Numerator@expr7D, Denominator@expr7D< 8H 2 + x L H + Sin@xD 2 L, H + x L H2 + Sin@xD 2 L< 8ExpandNumerator@expr7D, ExpandDenominator@expr7D< : 2 + x 2 Sin@xD 2 + x Sin@xD 2 H + x L H2 + Sin@xD 2, L H 2 + x L H + Sin@xD 2 L x + Sin@xD 2 + x Sin@xD 2 > Apart@expr7D + Sin@xD Sin@xD 2 3 H + Sin@xD 2 L H + x L H2 + Sin@xD 2 L Apart@expr7, Exp@xDD + Sin@xD Sin@xD 2 3 H + Sin@xD 2 L H + x L H2 + Sin@xD 2 L Apart@expr7, Sin@xDD 2 + x + x 2 + x H + x L H2 + Sin@xD 2 L à Trigonometrické výrazy: TrigExpand, TrigFactor, TrigReduce, ExpToTrig, TrigToExp TrigExpand[expr]... trigonometrický polynom vyjádří jako trigonometrický polynom minimálního počtu různých argumentů TrigFactor[expr]... trigonometrický polynom rozloží na součin jednodušších trigonometrických polynomů TrigReduce[expr]... trigonometrický polynom vyjádří jako trigonometrický polynom prvního stupně ExpToTrig[expr]... vyjádří exponenciální funkce pomocí trigonometrických TrigToExp[expr]... vyjádří trigonometrické funkce pomocí exponenciálních K trigonometrickým funkcím se zde počítajít také hyperbolické funkce!! TrigExpand@Cos@2 Pi xd Sin@3 xd + Cos@4 xdd
18 8 Math40-3.nb Cos@xD 2 Cos@π xd 2 Sin@xD 6 Cos@xD 2 Sin@xD 2 Cos@π xd 2 Sin@xD 3 + Sin@xD 4 3 Cos@xD 2 Sin@xD Sin@π xd 2 + Sin@xD 3 Sin@π xd 2 TrigFactor@%D H2 Cos@4 xd + Sin@3 x 2 π xd + Sin@3 x + 2 π xdl 2 TrigToExp@%%D 2 4 x x x 2 π x 4 3 x 2 π x x+2 π x 4 Cos@2 Pi xd Sin@3 xd + Cos@4 xd É TrigExpand Sin@Pi x + 3 xd ÖÑ 3 x+2 π x HCos@xD Cos@xD 2 Cos@π xd 2 Sin@xD 6 Cos@xD 2 Sin@xD 2 Cos@π xd 2 Sin@xD 3 + Sin@xD 4 3 Cos@xD 2 Sin@xD Sin@π xd 2 + Sin@xD 3 Sin@π xd 2 Lê H3 Cos@xD 2 Cos@π xd Sin@xD Cos@π xd Sin@xD 3 + Cos@xD 3 Sin@π xd 3 Cos@xD Sin@xD 2 Sin@π xdl TrigFactor@%D Csc@3 x + π xd H2 Cos@4 xd + Sin@3 x 2 π xd + Sin@3 x + 2 π xdl 2 Cos@2 Pi xd Sin@3 xd + Cos@4 xd É TrigExpand Sin@Pi x + 3 xd + Cos@2 xd ÖÑ HCos@xD Cos@xD 2 Cos@π xd 2 Sin@xD 6 Cos@xD 2 Sin@xD 2 Cos@π xd 2 Sin@xD 3 + Sin@xD 4 3 Cos@xD 2 Sin@xD Sin@π xd 2 + Sin@xD 3 Sin@π xd 2 Lê HCos@xD Cos@xD 2 Cos@π xd Sin@xD Sin@xD 2 Cos@π xd Sin@xD 3 + Cos@xD 3 Sin@π xd 3 Cos@xD Sin@xD 2 Sin@π xdl TrigFactor@%D 2 Cos@4 xd + Sin@3 x 2 π xd + Sin@3 x + 2 π xd 2 HCos@ x 2 + π 2 x D + Sin@ x 2 + π 2 x 5 x DL HCos@ 2 + π 2 x D + Sin@ 5 2 x + π 2 x DL TrigReduce@Cos@2 Pi xd 3 Sin@3 xd 2 + Cos@4 xd Sin@xDD H6 Cos@2 π xd + 2 Cos@6 π xd Cos@6 x 6 π xd 3 Cos@6 x 2 π xd 6 3 Cos@6 x + 2 π xd Cos@6 x + 6 π xd 8 Sin@3 xd + 8 Sin@5 xdl Cos@2 Pi xd 2 Sin@3 xd 2 + Cos@4 xd 3 É TrigReduce Sin@Pi x + 3 xd 3 ÖÑ
19 Math40-3.nb 9 H2 + 6 Cos@4 xd 2 Cos@6 xd + 2 Cos@2 xd + 2 Cos@4 π xd Cos@6 x 4 π xd Cos@6 x + 4 π xdlêh2 H3 Sin@3 x + π xd Sin@9 x + 3 π xdll Cos@2 Pi xd 2 Sin@3 xd 2 + Cos@4 xd 3 É TrigReduce Sin@Pi x + 3 xd 3 Cos@xD 2 ÖÑ H 2 6 Cos@4 xd + 2 Cos@6 xd 2 Cos@2 xd 2 Cos@4 π xd + Cos@6 x 4 π xd + Cos@6 x + 4 π xdlêh8 HCos@xD 2 Sin@3 x + π xd 3 LL Funkce: definování a iterování à Named functions - funkce s vlatním jménem Funkce na množině M je podle matematické definice předpis f, který každému jejímu prvku x přiřazuje jednoznačně nějaký prvek f[x]. Je-li M množina uspořádaných n-tic, říkáme, že f je funkce n proměnných. Z hlediska systému Mathematica je funkce v podstatě transformační pravidlo, které se na některé výrazy aplikuje automaticky. Nejjednodušší definice funkce může mít tvar f[arg_,arg2_,...]:= expr[arg,arg2,...], kde expr[arg,arg2,...] je libovolný výraz nebo i procedura, která může ale nemusí obsahovat argumenty arg, arg2,... Nejsou-li na pravé straně žádné podmínky, je možná i definice tvaru Obecně má definice funkce tvar f[arg_,arg2_,...]= expr[arg,arg2,...]. f[arg_,arg2_,...]:= expr[arg,arg2,...]/;condition, f[arg_,arg2_,...]:= expr2[arg,arg2,...]/;condition2,... Záhlaví f nemusí být symbol a počet argumentů nemusí být ve všech řádcích definice stejný. Příklady: Clear@f0D; f0@x_d := Sin@xD x; Plot@f0@xD, 8x, 4 π, 4 π<d
20 20 Math40-3.nb Graphics := ê; x < NB π 2 F; f@x_d := Sin@xD ê; NB π 2 F x NB π 2 F; f@x_d := ê; x > NB π 2 F; Plot@f@xD, 8x, π, π<, Frame > TrueD; Binomická formule Clear@f2D; f2@x_, y_, n_d := Expand@Hx + yl n D; TableForm@Table@f2@a, b, nd, 8n, 2, 5<DD a a b + b 2 a a 2 b + 3 a b 2 + b 3 a a 3 b + 6 a 2 b a b 3 + b 4 a a 4 b + 0 a 3 b a 2 b a b 4 + b 5 Faktoriál Clear@f3D; f3@x_d := x ê; x ; f3@x_d := x f3@x D ê; x > ; Table@f3@xD, 8x,, 0<D 8, 2, 6, 24, 20, 720, 5040, 40320, , < É Table f3@xd, :x, 2, 9, > ÖÑ : 2, 3 4, 5 8, 05 6, , 0395, 3535, , > Polynom s danou posloupností koeficientů
21 Math40-3.nb 2 Clear@f4D; f4@l_list, x_d := Table@x i, 8i, Length@lD<D.l; f4@8, 2, 3, 4<, xd + 2 x + 3 x x 3 Náhodný výběr prvku seznamu Clear@f5D; f5@l_listd := Part@l, Random@Integer, 8, Length@lD<DD; Table@f5@Range@0DD, 80<D 85, 7, 8, 9, 4, 0, 3, 5, 7, 6< Náhodné matice s prvky 0, Clear@f6D; f6@n_d := Table@Random@IntegerD, 8n<, 8n<D; f6@4d êê MatrixForm Náhodné matice s prvky patřícími do daného seznamu Clear@f7D; f7@n_, l_d := Table@f5@lD, 8n<, 8n<D; f7@3, 8 2,,, 2<D êê MatrixForm k-členné části seznamu i 0 0 0y j k 0 z 0{ i 2 y 2 j z k 2 2{ Clear@f8D; f8@x_list, k_integerd := 8< ê; k < 0fik > Length@xD; f8@x_list, k_integerd := 88<< ê; k == 0; f8@x_list, k_integerd := Partition@x, kd ê; k == ; f8@x_list, k_integerd := Join@Map@Join@Take@x, D, #D &, f8@drop@x, D, k DD, f8@drop@x, D, kdd ê; < k < Length@xD; f8@x_list, k_integerd := 8x< ê; k == Length@xD; f8@x_listd := Join@Table@f8@x, nd, 8n, 0, Length@xD<DD; ColumnForm@Table@f8@8, 2, 3, 4<, nd, 8n, 0, 4<DD
22 22 Math40-3.nb 88<< 88<, 82<, 83<, 84<< 88, 2<, 8, 3<, 8, 4<, 82, 3<, 82, 4<, 83, 4<< 88, 2, 3<, 8, 2, 4<, 8, 3, 4<, 82, 3, 4<< 88, 2, 3, 4<< 2, 3, 4<D 888<<, 88<, 82<, 83<, 84<<, 88, 2<, 8, 3<, 8, 4<, 82, 3<, 82, 4<, 83, 4<<, 88, 2, 3<, 8, 2, 4<, 8, 3, 4<, 82, 3, 4<<, 88, 2, 3, 4<<< à Pure functions - bezejmenné funkce Jsou to výrazy, které se chovají jako funkce, ale nemají jméno. Dalo by se snad také říci, že to jsou konstrukce, kterými můžeme přimět výraz, aby se choval jako funkce. Bezejmenné funkce mají obecně tento tvar: )Function[x,expr]; 2)expr& s agumentem # místo x; 3)Function[{x,x2,...},expr]; 4)expr& s argumenty #, #2,... místo x,x2,... Konstrukce ) a 2) jsou ekvivalentní a totéž platí o konstrukcích 3) a 4). Příklady - bezejmenné funkce jedné proměnné: ff = Function@x, + x + x 2 + x 3 D; 8ff@D, ff@2d, ff@3d, %@4D, %@5D, %@ad, %@bd< 84, 5, 40, 85, 56, + a + a 2 + a 3, + b + b 2 + b 3 < I + # + # 2 + # 3 &Mê@8, 2, 3, 4, 5, a, b< 84, 5, 40, 85, 56, + a + a 2 + a 3, + b + b 2 + b 3 < Select@Range@50, 00D, PrimeQ@#D &D 853, 59, 6, 67, 7, 73, 79, 83, 89, 97< Select@I# # 3 &Mê@ Range@50D, PrimeQ@#D &D 8, 9, 39, 359, 09, 2767, 5499, 79559, 85237< Příklady - bezejmenné funkce více proměnných: ff2 = Function@8x, y, n<, Expand@Hx + yl n DD; %@a,, 8D + 8 a + 28 a a a a a a 7 + a 8
23 Math40-3.nb 23 8D + 8 a + 28 a a a a a a 7 + a 8 IExpandAH# + #2L #3 E &M@a,, 8D + 8 a + 28 a a a a a a 7 + a 8 à Iterování funkcí: Nest, NestList, FixedPoint, FixedPointList, ComposeList Nest[f,x,n]... dá f[x] pro n=, f[f[x]] pro n=2, f[f[f[x]]] pro n=3, atd. NestList[f,x,n]... vytvoří seznam {x,f[x]} pro n=, seznam {x,f[x],f[f[x]]} pro n=2, atd. Clear@fD; Nest@f, x, 4D f@f@f@f@xdddd NestList@f, x, 4D 8x, f@xd, f@f@xdd, f@f@f@xddd, f@f@f@f@xdddd< Clear@f9D; f9@x_d := Nest@f9, x, 3D + x + + +x 8Nest@f9,, 00D, N@Nest@f9,, 00D, 20D< : , > NestList@f9,, 3D :, 2, 2 3, 3 5, 5 8, 8 3, 3 2, 2 34, 34 55, 55 89, 89 44, , , > FixedPoint[f,x]... aplikuje opakovaně funkci f, dokud se výsledek mění a počet iterací nepřekročí hodnotu MaxIterations FixedPoint[f,x,SameTest->comp]... totéž, skončí ale v okamžiku, kdy porovnání dvou po sobě jdoucích výsledků funkcí comp dá True
24 24 Math40-3.nb 20D &, D FixedPoint f9,, SameTest i jabs@# #2D < k Clear@f0D; f0@x_, y_d := 2 Jx + y x N É z ÖÑ 0 &y 20 { 9NA è!!!! 3, 20E, FixedPoint@N@f0@#, 3D, 20D &, D= , < FixedPoint f0@#, 3D &,, SameTest i jabs@# #2D < k É z ÖÑ 0 &y 20 { N@%, 20D FixedPointList[f,x]... vytváří seznam {x,f[x],f[f[x]],...} a skončí, když se prvky tohoto seznamu přestanou měnit FixedPointList[f,x,SameTest->comp].. totéž, skončí ale v okamžiku, kdy porovnání dvou po sobě jdoucích výsledků funkcí comp dá True FixedPointList@N@f9@#D, 20D &, D êê Length 49 FixedPointList@N@f9@#D, 20D &, D êê Drop@#, 84, 4<D & 8, , , , , < FixedPointList f9,, SameTest i jabs@# #2D < k 50 É z ÖÑ 0 &y 20 { êê Length
25 Math40-3.nb 25 FixedPointList f9,, SameTest i jabs@# #2D < k É z ÖÑ 0 &y 20 { :, 2, 2 3, , , > êê Drop@#, 84, 4<D & FixedPointList@N@f0@#, 3D, 20D &, D 8, , , , , , , < FixedPointList f0@#, 3D &,, SameTest i jabs@# #2D < k FixedPointList f0@#, 3D &,, SameTest i jabs@# #2D < k 8 É z ÖÑ 0 &y 20 { É z ÖÑ 0 &y 20 { êê Length :, 2, 7 4, 97 56, , , , > ComposeList[{f,f2,...},x]... vytvoří seznam prvků x,f[x], f2[f[x]],f3[f2[f[x]]],... H Unprotect@FunctionD; SetAttributes@Function,HoldAllD; L functions = Map Function@u, Together@uD &D, Table ÉÉ # + i, 8i,, 0< ÖÑ ÖÑ :TogetherB + # F &, TogetherB 2 + # F &, TogetherB 3 + # F &, TogetherB 4 + # F &, TogetherB 5 + # F &, TogetherB 6 + # F &, TogetherB 7 + # F &, TogetherB 8 + # F &, TogetherB 9 + # F &, TogetherB 0 + # F &> ComposeList@functions, xd :x, + x, + x x, x x, x x, x x, x x, x x, x x, x x, x x >
26 26 Math40-3.nb Elementy programování: testy, podmínky, cykly, lokalizace proměnných a konstant à Některé testy nabývající pouze hodnot True a False: IntegerQ, EvenQ, OddQ, PrimeQ, NumberQ, NumericQ, PolynomialQ, VectorQ, MatrixQ, SameQ, UnsameQ, TrueQ, MatchQ IntegerQ, EvenQ, OddQ, PrimeQ, NumberQ, NumericQ IntegerQ[expr]... True, je-li expr celé číslo, jinak False EvenQ[expr]... True, je-li expr sudé číslo, jinak False OddQ[expr]... True, je-li expr liché číslo, jinak False PrimeQ[expr]... True, je-li expr prvočíslo, jinak False NumberQ[expr]... True, je-li expr číslo, jinak False NumericQ[expr]... True, je-li expr číslo nebo matematická konstanta jako např. π nebo hodnota funkce s atributem NumericFunction na jejíchž argumentech nabývá NumericQ hodnoty True Clear@xD; 8IntegerQ@xD, EvenQ@xD, OddQ@xD, PrimeQ@xD< 8False, False, False, False< 8IntegerQ@πD, EvenQ@πD, OddQ@πD, PrimeQ@πD< 8False, False, False, False< 8IntegerQ@2.2D, EvenQ@2.2D, OddQ@2.2D, PrimeQ@2.2D< 8False, False, False, False< 8EvenQ@2D, OddQ@2D, PrimeQ@2D, EvenQ@9D, OddQ@9D, PrimeQ@9D< 8True, False, True, False, True, False< Clear@x, yd; NumberQê@ 82, 2.3, 3ê4, π, x, Sin@ D< 8True, True, True, False, False, False< NumericQê@82, 2.3, 3ê4, π, x, Sin@ D<
27 Math40-3.nb 27 8True, True, True, True, False, True< PolynomialQ, VectorQ, MatrixQ PolynomialQ[expr,{x,x2,...}]... True, je-li expr polynom v x,x2,..., jinak False VectorQ[expr]... True, je-li expr vektor, jinak False MatrixQ[expr]... True, je-li expr matice, jinak False 8PolynomialQ@x + x 4 D, PolynomialQ@x + Sin@xD, xd, PolynomialQ@ + Sin@xD 2, Sin@xDD, PolynomialQ@ + 2 x, x D, PolynomialQ@ + 2 x, x D, PolynomialQ@ + 2 x, x D< 8True, False, True, True, False, False< 8VectorQ@8a, b, c<d, VectorQ@88a<, b, c<d< 8True, False< 8MatrixQ@88a, b, c<, 8a, b, c<<d, MatrixQ@88a, b, c<, 8a, b<<d, MatrixQ@888a<, b, c<, 8a, b, c<<d< 8True, False, False< SameQ, UnsameQ, TrueQ, MatchQ SameQ[lhs,rhs], lhs===rhs... výsledek je True, jestliže výrazy lhs, rhs jsou identické (trochu jinak je to u čísel typu Real), jinak je výsledek False UnsameQ[lhs,rhs], lhs=!=rhs... Not[lhs===rhs] TrueQ[expr]... True, jestliže výraz expr je pravdivý, jinak False MatchQ[expr,form]... True, jestliže expr má tvar form, jinak False Clear@x, yd; 8SameQ@x, yd, TrueQ@x === yd, TrueQ@x yd, x y, TrueQ@x yd, x y< 8False, False, False, x == y, False, x y< 82 === 2., TrueQ@2 === 2.D, TrueQ@2 == 2.D, 2 2., TrueQ@2 2.D, 2 2.< 8False, False, True, True, False, False< 8MatchQ@2, _IntegerD, MatchQ@2, _RationalD, MatchQ@2, _RealD< 8True, False, False<
28 28 Math40-3.nb 3, u_ v_ D, u_ v_ D, u_ v_. D< 8True, False, True< 3, u_ v_ D, a, u_ v_?numberq D< 8True, False< AtomQ, MemberQ, FreeQ Atom[expr]... True, nemá-li expr žádné podvýrazy MemberQ[expr,form]... True, jestliže expr obsahuje část tvaru form, jinak False MemberQ[expr,form,level]... True, jestliže expr obsahuje část tvaru form na úrovních level, jinak False FreeQ[expr,form]... True, jestliže expr neobsahuje žádnou část tvaru form, jinak False FreeQ[expr,form,level]... True, jestliže expr neobsahuje žádnou část tvaru form na úrovních level, jinak False π, 2 π, x y, x 2, f@d@d< 8True, True, False, False, False, False< 8MemberQ@f@x, x yd, xd, MemberQ@f@x, x yd, x yd< 8True, True< 8MemberQ@f@x, x yd, x y, 8<D, MemberQ@f@x, x yd, x y, 82<D< 8True, False< 8FreeQ@f@x, x yd, yd, FreeQ@f@x, x yd, y, 8<D< 8False, True< à Podmínky: If, Which, Switch If[test,then,else]... je-li test pravdivý, výstupem je then; je-li test nepravdivý, výstupem je else; nelze-li rozhodnout, výstupem je If[test,then,else]. If[test,then,else,unknown]... je-li test pravdivý, výstupem je then; je-li test nepravdivý, výstupem je else; nelze-li rozhodnout, výstupem je unknown
29 Math40-3.nb 29 If condd; cond := 2, x = True, x = FalseD; 8a = 2; cond, a = ; cond, a = True; cond< 8True, False, If@True == 2, x = True, x = FalseD< Clear@a, condd; cond := If@a 2, x = True, x = False, x = IndeterminateD; 8a = 2; cond, a = ; cond, a = True; cond< 8True, False, Indeterminate< Which Which[test,f,test2,f2,...]... výstupem je výraz fi příslušný k prvnímu pravdivému testu testi Clear@a, condd; cond := Which@a <,, a, 0, a >,, True, IndeterminateD; 8a = 0; cond, a = ; cond, a = 2; cond, a = Indeterminate; cond< 8, 0,, Which@Indeterminate <,, a ==, 0, a >,, True, IndeterminateD< Clear@a, condd; cond := Which@a < === True,, a === True, 0, a > === True,, True, IndeterminateD; 8a = 0; cond, a = ; cond, a = 2; cond, a = Indeterminate; cond< 8, 0,, Indeterminate< Clear@a, condd; cond := Which@TrueQ@a < D,, TrueQ@a D, 0, TrueQ@a > D,, True, IndeterminateD; 8a = 0; cond, a = ; cond, a = 2; cond, a = Indeterminate; cond< 8, 0,, Indeterminate< Clear@a, condd; cond := Which@ NumericQ@aD, Indeterminate, a <,, a, 0, a >,, True, IndeterminateD; 8a = 0; cond, a = ; cond, a = 2; cond, a = Indeterminate; cond< 8, 0,, Indeterminate<
30 30 Math40-3.nb Switch Switch[expr,v,f,v2,f2,...]... porovnává hodnotu výrazu expr s v,v2,..., dokud nenajde shodu. Výstupem je výraz fi příslušný k první shodě Clear@a, condd; cond := Switch@a,, x, 2, x 2, 3, x 3, _, IndeterminateD; 8a = ; cond, a = 2; cond, a = 3; cond, a = Indeterminate; cond< 8Indeterminate, Indeterminate, Indeterminate, Indeterminate< à Cykly: Do, While, For Do Do[expr,{n}]... vyhodnotí expr n-krát Do[expr,{i,imax}]... vyhodnotí expr pro i probíhající od do imax s krokem Do[expr,{i,imin,imax}]... vyhodnotí expr pro i probíhající od imin do imax s krokem Do[expr,{i,imin,imax,di}]... vyhodnotí expr pro i probíhající od imin do imax s krokem di Vytvoření náhodného seznamu celých čísel: Do@Random@Integer, 80, 00<D, 820<D Vidíme, že Do nedává žádný výstup. Musíme proto postupovat složitěji: list = 8<; Do@AppendTo@list, Random@Integer, 80, 00<DD, 820<D; list 863, 8, 62,, 58, 95, 39, 63, 74, 9, 34, 29, 3, 56, 24, 0, 6, 59, 57, 0< Iterace konvergující k è!!!! 3 : Clear@xD; Do If i ==, x@id = 2, x@id = N i 3 ÉÉ É jx@i D + y z, 20 2 k x@i D { ÖÑ ÖÑ, 8i, 0< ÖÑ ; Array@x, 0D 82, , , , , , , , , < Zastavení výpočtu po dosažení požadované přesnosti (Mathematica považuje dvě přibližná čísla za sobě rovná, liší-li se nejvýše na posledních dvou desetinných místech):
31 Math40-3.nb 3 Do If i ==, x@id = 2, x@id = N i 3 ÉÉ jx@i D + y z, 20 2 k x@i D { ÖÑ ÖÑ ; É If@x@i D == x@id, Break@8i, x@id<d D, 8i, 0< ÖÑ 86, < Jiný požadavek na přesnost dává jiný výsledek: Do If i ==, x@id = 2, x@id = N i 3 ÉÉ y jx@i D + z, 20 2 k x@i D { ÖÑ ÖÑ ; É If@Abs@x@i D x@idd < 0 20, Break@8i, x@id<d D, 8i, 0< ÖÑ 87, < While While[test,body]... opakovaně vyhodnocuje body dokud test = True Opět iterace konvergující k è!!!! 3 : x0 = ; While x = N i jx0 + 3 É É y z, 20 2 k x0 { ÖÑ ; x x0, x0 = x ÖÑ ; x Náhodné matice s prvky patřícími do daného seznamu a determinantem rovným : Clear@fD; f@n_, l_d := Hmatrix = 0 IdentityMatrix@nD; While@Det@matrixD =!=, matrix = Table@f5@lD, 8n<, 8n<DD; matrixl; f@4, 8 3,, 2, 4<D êê MatrixForm i j k 2 4 y z { Det@%D Odstranění opakujících se prvků ze seznamu při zachování pořadí:
32 32 Math40-3.nb := = 8<, x2 = x, x3<, While@x2 =!= 8<, x3 = First@x2D; 8x, x2< = 8Append@x, x3d, DeleteCases@x2, x3d<d; xd; list = Table@Random@Integer, 80, 3<D, 850<D 83, 0, 3, 3, 3, 2, 0,,, 2, 3,,, 0,,, 2, 0,, 3, 0, 3, 0,,, 2, 2,, 0, 3, 0, 0, 3, 0, 2, 0, 2, 2,, 0, 0, 2, 0, 3, 3,, 0, 0,, 3< f2@listd 83, 0, 2, < list = Table@f5@8a, b, c, d, e, f, g, h<d, 850<D 8d, g, e, b, h, c, Indeterminate, d, h, f, c, d, Indeterminate, f, b, g, Indeterminate, Indeterminate, Indeterminate, Indeterminate, e, c, c, g, Indeterminate, g, c, f, b, c, h, c, h, c, g, g, f, d, g, d, e, d, c, Indeterminate, e, c, c, g, Indeterminate, d< f2@listd 8d, g, e, b, h, c, Indeterminate, f< For[start,test,incr,body]... vyhodnotí start, potom opakovaně vyhodnocuje body a incr, dokud neselže test For Faktoriál: Clear@f3D; f3@n_d := Hn0 = n; For@i = n0, i >, i =, n0 = n0 id; n0l Map@f3, Range@0DD 8, 2, 6, 24, 20, 720, 5040, 40320, , < n
33 Math40-3.nb 33 à Lokalizace proměnných a konstant: Block, Module, With Block Module[{x,y,...},body]... provede body s použitím lokálních hodnot proměnných x,y,... Module[{x=x0,y=y0,...},body]... totéž, ale proměnným x,y,... nejprve přiřadí počáteční hodnoty x0,y0,... Clear@aD; expr = x x 2 8expr, Block@8x<, x = a + ; exprd, Block@8x = a + <, exprd, expr< 83 + x 2, 3 +H + al 2, 3 +H + al 2, 3 + x 2 < 8expr, Block@8expr = a 2 + a + <, exprd, expr< 83 + x 2, + a + a 2, 3 + x 2 < Opět faktoriál: Clear@n, f3d; f3@n_d := Block@8n = n<, For@i = n, i >, i =, n = n Hi LD; nd f3 ê@ Range@0D 8, 2, 6, 24, 20, 720, 5040, 40320, , < n n Module Module[{x,y,...},body]... modul s lokálními proměnnými x,y,... Module[{x=x0,y=y0,...},body]... modul s počátečními hodnotami pro proměnné x,y,... x,y,... A znovu faktoriál: Clear@f4D; f4@n_d := Module@8nn = n<, For@i = nn, i >, i =, nn = nn Hi LD; nnd Map@f4, Range@, 5, ê2dd
34 34 Math40-3.nb :, , 2,, 6,, 24, , 20> With With[{x=x0, y=y0,...},body]... definuje lokální konstanty x,y,... Clear@f5D; f5@x_d := With@8t = x + <, t + t 3 D f5@xd + x +H + xl 3 Clear@f6D; f6@n_d := With@8n = n<, For@i = n, i >, i =, n = n Hi LD; nd 8f6@D, f6@2d< Set::setraw : Cannot assign to raw object 2. 8, 2<
POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 4.0-
Math40-.nb POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 4.0- Vojtěch Bartík Část : Seznámení se systémem Čísla, relace a logické operace Mathematica rozeznává několik druhů čísel a různě s nimi zachází.
POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 5.1-
Math5-LS06-.nb Základní objekty POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 5.- Vojtěch Bartík Část Seznámení se systémem v příkladech Aritmetické operace a čísla Mathematica rozeznává několik druhů čísel
Wolfram Mathematica. Mgr. Jindřich Soukup 2. 7. 2012
Wolfram Mathematica Mgr. Jindřich Soukup. 7. 0 Mathematica Tento soubor má sloužit jako první seznámení s programem Mathematica. Většina věcí je pouze přeložená z Help Tutorial.... V souboru je text a
Příklad 1. Řešení 1a Máme vyšetřit lichost či sudost funkce ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 3
Příklad 1 Zjistěte, zda jsou dané funkce sudé nebo liché, případně ani sudé ani liché: a) =ln b) = c) = d) =4 +1 e) =sin cos f) =sin3+ cos+ Poznámka Všechny tyto úlohy řešíme tak, že argument funkce nahradíme
Nalezněte obecné řešení diferenciální rovnice (pomocí separace proměnných) a řešení Cauchyho úlohy: =, 0 = 1 = 1. ln = +,
Příklad Nalezněte obecné řešení diferenciální rovnice (pomocí separace proměnných) a řešení Cauchyho úlohy: a) =, 0= b) =, = c) =2, = d) =2, 0= e) =, 0= f) 2 =0, = g) + =0, h) =, = 2 = i) =, 0= j) sin+cos=0,
1 Polynomiální interpolace
Polynomiální interpolace. Metoda neurčitých koeficientů Příklad.. Nalezněte polynom p co nejmenšího stupně, pro který platí p() = 0, p(2) =, p( ) = 6. Řešení. Polynom hledáme metodou neurčitých koeficientů,
Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar
Řešte v : má rovnice tvar takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar takže rovnice v zadání má v tomto případě opět jedno řešení. Sjednocením obou případů dostaneme úplné
Bakalářská matematika I
1. Funkce Diferenciální počet Mgr. Jaroslav Drobek, Ph. D. Katedra matematiky a deskriptivní geometrie Bakalářská matematika I Některé užitečné pojmy Kartézský součin podrobnosti Definice 1.1 Nechť A,
Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem
Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel
Rejstřík - A - - B - - E - - C - - F - - D - Rejst ík
- 137 Rejst ík - A - aktualizace spojení s datovým souborem, 38; 39 aktualizace symbolických výpočtů, 70 animace, 51 Auto, 92 automatická změna typu rovnítka, 10 automatické obnovení výsledků, 7; 92 automatické
Paralelizace výpočtů v systému Mathematica
Paralelizace výpočtů v systému Mathematica Zdeněk Buk bukz1@fel.cvut.cz České vysoké učení technické v Praze Fakulta elektrotechnická Katedra počítačů 2010 2 paralelizace-2010-buk-eval.nb Úvod Obsah prezentace
1 Mnohočleny a algebraické rovnice
1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem
Gymnázium Jiřího Ortena, Kutná Hora
Předmět: Náplň: Třída: Počet hodin: Pomůcky: Cvičení z matematiky algebra (CZMa) Systematizace a prohloubení učiva matematiky: Číselné obory, Algebraické výrazy, Rovnice, Funkce, Posloupnosti, Diferenciální
Programovací í jazyk Haskell
Historie Programovací í jazyk Haskell doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 září 1991 Gofer experimentální jazyk Mark P. Jones únor 1995 Hugs Hugs98 téměř úplná implementace
Wolfram Alpha. v podobě html stránky, samotný výsledek je často doplněn o další informace (např. graf, jiné možné zobrazení výsledku a
Wolfram Alpha jde o výpočetní prostředí z nejrůznějších oborů (matematika, fyzika, chemie, inženýrství... ) přístupné online: http://www.wolframalpha.com/ Jaké matematické výpočty Wolfram Alpha zvládá?
Základy algoritmizace a programování
Základy algoritmizace a programování Příklady v MATLABu Přednáška 10 30. listopadu 2009 Řídící instrukce if else C Matlab if ( podmínka ) { } else { } Podmíněný příkaz if podmínka elseif podmínka2... else
Kapitola 7: Neurčitý integrál. 1/14
Kapitola 7: Neurčitý integrál. 1/14 Neurčitý integrál 2/14 Definice: Necht f je funkce definovaná na intervalu I. Funkci F definovanou na intervalu I, pro kterou platí F (x) = f (x) x I nazýváme primitivní
Programovací jazyk Pascal
Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce
Matematika (KMI/PMATE)
Úvod do matematické analýzy Funkce a její vlastnosti Funkce a její vlastnosti Veličina Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Funkce a její
2.1 Podmínka typu case Cykly Cyklus s podmínkou na začátku Cyklus s podmínkou na konci... 5
Obsah Obsah 1 Řídicí struktury 1 2 Podmínka 1 2.1 Podmínka typu case......................... 2 3 Příkaz skoku 3 4 Cykly 4 4.1 Cyklus s podmínkou na začátku................... 4 4.2 Cyklus s podmínkou
3. přednáška. Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti
Obsah: Řídící struktury sekvence, if-else, switch, for, while, do-while. Zpracování posloupnosti 3. přednáška nalezení největšího prvku, druhého nejvyššího prvku, algoritmus shozeného praporku. Algoritmizace
Úvod do Matlabu. Praha & EU: Investujeme do vaší budoucnosti. 1 / 24 Úvod do Matlabu
Vytěžování dat, cvičení 1: Úvod do Matlabu Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Fakulta elektrotechnická, ČVUT 1 / 24 Úvod do Matlabu Proč proboha Matlab? Matlab je SW pro
POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 6.0-
Math60-.nb POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 6.0- Základní objekty Čísla Vojtěch Bartík Část Seznámení se systémem v příkladech Mathematica rozeznává několik druhů čísel a různě s nimi zachází.
Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce
Neurčitý integrál Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah Primitivní funkce, neurčitý integrál Základní vlastnosti a vzorce Základní integrační metody Úpravy integrandu Integrace racionálních
SPJA, cvičení 1. ipython, python, skripty. základy syntaxe: základní datové typy, řetězce. podmínky: if-elif-else, vyhodnocení logických výrazů
SPJA, cvičení 1 ipython, python, skripty základy syntaxe: základní datové typy, řetězce podmínky: if-elif-else, vyhodnocení logických výrazů cykly: for, while kolekce: seznam, n-tice, slovník funkce, list
0.1 Funkce a její vlastnosti
0.1 Funkce a její vlastnosti Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Příklady veličin: hmotnost (m) čas (t) výše úrokové sazby v bance (i) cena
Cvičné texty ke státní maturitě z matematiky
Cvičné texty ke státní maturitě z matematiky Pracovní listy s postupy řešení Brno 2010 RNDr. Rudolf Schwarz, CSc. Státní maturita z matematiky Úloha 1 1. a = s : 45 = 9.10180 45 = 9.101+179 45 = 9.10.10179
II. 3. Speciální integrační metody
48 II. Integrální počet funkcí jedné proměnné II.. Speciální integrační metody Integrály typu f ( x, r x, r x,..., r k x ), tj. integrály obsahující proměnnou x pod odmocninou, kde k N a r,..., r k jsou
Přednáška 7. Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu.
Přednáška 7 Celočíselná aritmetika. Návratový kód. Příkazy pro větvení výpočtu. Cykly. Předčasné ukončení cyklu. 1 Příkaz expr výraz Celočíselná aritmetika I Zašle na standardní výstup vyhodnocení výrazu
Pojem limity funkce charakterizuje chování funkce v blízkém okolí libovolného bodu, tedy i těch bodů, ve kterých funkce není definovaná. platí. < ε.
LIMITA FUNKCE Pojem ity unkce charakterizuje chování unkce v blízkém okolí libovolného bodu, tedy i těch bodů, ve kterých unkce není deinovaná Zápis ( ) L Přesněji to vyjadřuje deinice: znamená, že pro
Cvičné texty ke státní maturitě z matematiky
Cvičné texty ke státní maturitě z matematiky Pracovní listy s postupy řešení Brno 2010 RNDr. Rudolf Schwarz, CSc. Státní maturita z matematiky Obsah Obsah NIŽŠÍ úroveň obtížnosti 4 MAGZD10C0K01 říjen 2010..........................
Programovací jazyk Haskell
Programovací jazyk Haskell Ing. Lumír Návrat katedra informatiky, D 403 59 732 3252 Historie září 1991 Gofer experimentální jazyk Mark P. Jones únor 1995 Hugs Hugs98 téměř úplná implementace jazyka Haskell
POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 4.0-
Math40-6.nb POČÍTAČOVÉ ALGEBRAICKÉ SYSTÉMY: -MATHEMATICA 4.0- Vojtěch Bartík Část 6 Transcendentní rovnice:findroot Algebraické rovnice: Solve, NSolve, Roots, Root, Reduce Lineární rovnice: LinearSolve,
PŘEDNÁŠKA 2 POSLOUPNOSTI
PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému
Matematika 3. Úloha 1. Úloha 2. Úloha 3
Matematika 3 Úloha 1 Co lze říci o funkci imaginární část komplexního čísla která každému komplexnímu číslu q přiřazuje číslo Im(q)? a. Je to funkce mnohoznačná. b. Je to reálná funkce komplexní proměnné.
Kapitola 7: Integrál.
Kapitola 7: Integrál. Neurčitý integrál. Definice: Necht f je funkce definovaná na intervalu I. Funkci F definovanou na intervalu I, pro kterou platí F (x) = f(x) x I nazýváme primitivní funkcí k funkci
Matematická analýza ve Vesmíru. Jiří Bouchala
Matematická analýza ve Vesmíru Jiří Bouchala Katedra aplikované matematiky jiri.bouchala@vsb.cz www.am.vsb.cz/bouchala - p. 1/19 typu: m x (sin x, cos x) R(x, ax +...)dx. Matematická analýza ve Vesmíru.
7B. Výpočet limit L Hospitalovo pravidlo
7B. Výpočet it L Hospitalovo pravidlo V prai často potřebujeme určit itu výrazů, které vzniknou operacemi nebo složením několika spojitých funkcí. Většinou pomohou pravidla typu ita součtu násobku, součinu,
Kapitola 7: Integrál. 1/17
Kapitola 7: Integrál. 1/17 Neurčitý integrál - Motivační příklad 2/17 Příklad: Necht se bod pohybuje po přímce rychlostí a) v(t) = 3 [m/s] (rovnoměrný přímočarý pohyb), b) v(t) = 2t [m/s] (rovnoměrně zrychlený
Matematická analýza pro informatiky I.
Matematická analýza pro informatiky I. 2. přednáška Jan Tomeček tomecek@inf.upol.cz http://aix-slx.upol.cz/ tomecek/index Univerzita Palackého v Olomouci 17. února 2010 Jan Tomeček, tomecek@inf.upol.cz
CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
CVIČNÝ TEST 15 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Je dána čtvercová mřížka, v níž každý čtverec má délku
Funkce a lineární funkce pro studijní obory
Variace 1 Funkce a lineární funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce
- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady
Vzorové řešení domácího úkolu na 6. 1. 1. Integrály 1 1 x2 dx, ex2 dx spočítejte přibližně následují metodou - funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte.
REÁLNÁ FUNKCE JEDNÉ PROMĚNNÉ
REÁLNÁ FUNKCE JEDNÉ PROMĚNNÉ 5 přednáška S funkcemi se setkáváme na každém kroku ve všech přírodních vědách ale i v každodenním životě Každá situace kdy jsou nějaký jev nebo veličina jednoznačně určeny
Funkce a limita. Petr Hasil. Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF)
Funkce a limita Petr Hasil Přednáška z matematiky Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem na discipĺıny společného základu
SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC
SOUSTAVY LINEÁRNÍCH ALGEBRAICKÝCH ROVNIC Pojm: Algebraická rovnice... rovnice obsahující pouze celé nezáporné mocnin neznámé, tj. a n n + a n 1 n 1 +... + a 2 2 + a 1 + a 0 = 0, kde n je přirozené číslo.
Algebraické výrazy-ii
Algebraické výrazy-ii Jednou ze základních úprav mnohočlenů je jejich rozklad na součin mnohočlenů nižšího stupně. Ne všechny mnohočleny lze na součin rozložit. Pro provedení rozkladu můžeme použít: 1.
Extrémy funkce vázané podmínkou
extrem-vaz.cdf 1 Extrémy funkce vázané podmínkou Funkce dvou proměnných Následující procedura vypočte po zadání funkce f(x,y) a podmínky g(x,y) ( =0 ) příslušné lokální extrémy v bodech, kde existují druhé
Diferenciál funkce. L Hospitalovo pravidlo. 22. a 23. března 2011
Diferenciál funkce Derivace vyšších řádů L Hospitalovo pravidlo Jiří Fišer 22. a 23. března 2011 Jiří Fišer (KMA, PřF UP Olomouc) KMA MAT2 Přednáška č. 6 22. a 23. března 2011 1 / 18 y ω(h) dy O x Obrázek:
Interpolace Uvažujme třídu funkcí jedné proměnné ψ(x; a 0,..., a n ), kde a 0,..., a n jsou parametry, které popisují jednotlivé funkce této třídy. Mějme dány body x 0, x 1,..., x n, x i x k, i, k = 0,
Programy na PODMÍNĚNÝ příkaz IF a CASE
Vstupy a výstupy budou vždy upraveny tak, aby bylo zřejmé, co zadáváme a co se zobrazuje. Není-li určeno, zadáváme přirozená čísla. Je-li to možné, používej generátor náhodných čísel vysvětli, co a jak
CVIČNÝ TEST 13. OBSAH I. Cvičný test 2. Mgr. Zdeňka Strnadová. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
CVIČNÝ TEST 13 Mgr. Zdeňka Strnadová OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 V trojúhelníku ABC na obrázku dělí úsečka
Programovani v Maplu Procedura
Programovani v Maplu Procedura Priklad: procedura, ktera scita 2 cisla: a + 2*b soucet := proc (a, b) local c; # lokalni promenna - existuje a meni se jenom uvnitr procedury c:=a+b; # globalni promenna
ELEMENTÁRNÍ KOMPLEXNÍ FUNKCE SPECIÁLNÍ ELEMENTÁRNÍ FUNKCE
ELEMENTÁRNÍ KOMPLEXNÍ FUNKCE Všechny základní reálné funkce reálné proměnné, s kterými jste se seznámili na začátku tohoto kurzu, lze rozšířit i na komplexní funkce komplexní proměnné. U některých je rozšíření
Univerzita Karlova v Praze Pedagogická fakulta
Univerzita Karlova v Praze Pedagogická fakulta SEMINÁRNÍ PRÁCE Z METOD ŘEŠENÍ 1 TEORIE ČÍSEL 000/001 Cifrik, M-ZT Příklad ze zadávacích listů 10 101 Dokažte, že číslo 101 +10 je dělitelné číslem 51 Důkaz:
Úvod do programu MAPLE
Úvod do programu MAPLE MAPLE V Release 9 (11) M. Jahoda Ústav chemického inženýrství VŠCHT Praha http://www.vscht.cz/uchi/maple http://www.maplesoft.com 2007 MAPLE pracovní plocha 2 MAPLE - nastavení fontů
INTEGRÁLY S PARAMETREM
INTEGRÁLY S PARAMETREM b a V kapitole o integraci funkcí více proměnných byla potřeba funkce g(x) = f(x, y) dy proměnné x. Spojitost funkce g(x) = b a f(x, y) dy proměnné x znamená vlastně prohození limity
PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.
PRIMITIVNÍ FUNKCE V předchozích částech byly zkoumány derivace funkcí a hlavním tématem byly funkce, které derivace mají. V této kapitole se budou zkoumat funkce, které naopak jsou derivacemi jiných funkcí
Vypracoval: Mgr. Lukáš Bičík TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY
Vlastnosti funkcí Vypracoval: Mgr. Lukáš Bičík TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY Definiční obor Definiční obor funkce je množina všech čísel,
5.3. Implicitní funkce a její derivace
Výklad Podívejme se na následující problém. Uvažujme množinu M bodů [x,y] R 2, které splňují rovnici F(x, y) = 0, M = {[x,y] D F F(x,y) = 0}, kde z = F(x,y) je nějaká funkce dvou proměnných. Je-li F(x,y)
8. Posloupnosti, vektory a matice
. jsou užitečné matematické nástroje. V Mathcadu je často používáme například k rychlému zápisu velkého počtu vztahů s proměnnými parametry, ke zpracování naměřených hodnot, k výpočtům lineárních soustav
Funkce, podmíněný příkaz if-else, příkaz cyklu for
Funkce, podmíněný příkaz if-else, příkaz cyklu for Definice funkce Funkce je pojmenovaná část programu, kterou lze dále zavolat v jiné části programu. V Pythonu je definována klíčovým slovem def. Za tímto
expression = + I yl ^ 3D 3 ImAx 2 ye + ImAy 3 E + ReAx 3 3 x y 2 E ImAx 3 3 x y 2 E+3 ReAx 2 ye ReAy 3 E
In[1]:= Clear@"Global` "D; z = 1 + I; 8Re@zD, Im@zD, Abs@zD, Arg@zD, Conjugate@zD< Out[2]= :1, 1, 2, π 4, 1 > In[3]:= expression = Expand@Hx + I yl ^ 3D Out[3]= x 3 + 3 x 2 y 3 x y 2 y 3 In[4]:= Out[4]=
Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...
Polynomy Obsah Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1 Základní vlastnosti polynomů 2 1.1 Teorie........................................... 2 1.1.1 Zavedení polynomů................................
0.1 Úvod do matematické analýzy
Matematika I (KMI/PMATE) 1 0.1 Úvod do matematické analýzy 0.1.1 Pojem funkce Veličina - pojem, který popisuje kvantitativní (číselné) vlastnosti reálných i abstraktních objektů. Příklady veličin: hmotnost
Jednoduché cykly 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45.
Jednoduché cykly Tento oddíl obsahuje úlohy na první procvičení práce s cykly. Při řešení každé ze zde uvedených úloh stačí použít vedle podmíněných příkazů jen jediný cyklus. Nepotřebujeme používat ani
EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI
EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!
SPECIÁLNÍCH PRIMITIVNÍCH FUNKCÍ INTEGRACE RACIONÁLNÍCH FUNKCÍ
VÝPOČET PEIÁLNÍH PRIMITIVNÍH FUNKÍ Obecně nelze zadat algoritmus, který by vždy vedl k výpočtu primitivní funkce. Nicméně eistují jisté třídy funkcí, pro které eistuje algoritmus, který vždy vede k výpočtu
Slepé prohledávání do šířky Algoritmus prohledávání do šířky Při tomto způsobu prohledávání máme jistotu, že vždy nalezneme koncový stav, musíme ale p
Hanojská věž Stavový prostor 1. množina stavů S = {s} 2. množina přechodů mezi stavy (operátorů) Φ = {φ} s k = φ ki (s i ) zadání [1 1 1] řešení [3 3 3] dva možné první tahy: [1 1 2] [1 1 3] který tah
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.
Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz
Matematika I pracovní listy
Matematika I pracovní listy Dagmar Dlouhá, Radka Hamříková, Zuzana Morávková, Michaela Tužilová Katedra matematiky a deskriptivní geometrie VŠB - Technická univerzita Ostrava Úvod Pracovní listy jsou určeny
PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE
PIMITIVNÍ FUNKCE V předchozích částech byly zkoumány derivace funkcí a hlavním tématem byly funkce, které derivace mají. V této kapitole se budou zkoumat funkce, které naopak jsou derivacemi jiných funkcí
PODPROGRAMY PROCEDURY A FUNKCE
PODPROGRAMY PROCEDURY A FUNKCE Programy bez podprogramů Příklady: a) Napište program, který na obrazovku nakreslí čáru složenou ze znaků pomlčka. program Cara; b) Napište program, který na obrazovku nakreslí
cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)
Řídící příkazy: if podmíněný příkaz switch přepínač for while cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování) if logický_výraz příkaz; příkaz; příkaz; Podmínka
Numerické metody a programování
Projekt: Inovace výuky optiky se zaměřením na získání experimentálních dovedností Registrační číslo: CZ.1.07/2.2.00/28.0157 Numerické metody a programování Lekce 1 Tento projekt je spolufinancován Evropským
Matematika I (KMI/PMATE)
Přednáška první aneb Úvod do matematické analýzy Funkce a její vlastnosti Úvod do matematické analýzy Osnova přednášky pojem funkce definice funkce graf funkce definiční obor funkce obor hodnot funkce
1 Topologie roviny a prostoru
1 Topologie roviny a prostoru 1.1 Základní pojmy množin Intervaly a okolí Intervaly v rovině nebo prostoru jsou obdélníky nebo hranoly se stranami rovnoběžnými s osami souřadnic. Podmnožiny intervalů se
kuncova/, 2x + 3 (x 2)(x + 5) = A x 2 + B Přenásobením této rovnice (x 2)(x + 5) dostaneme rovnost
. cvičení http://www.karlin.mff.cuni.cz/ kuncova/, kytaristka@gmail.com Příklady Najděte primitivní funkce k následujícím funkcím na maimální možné podmnožině reálných čísel a tuto množinu určete.. f()
Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných
Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro
Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b
Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -
Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty.
Zpracoval: hypspave@fel.cvut.cz 7. Matematická indukce a rekurse. Řešení rekurentních (diferenčních) rovnic s konstantními koeficienty. (A7B01MCS) I. Matematická indukce a rekurse. Indukční principy patří
MATURITNÍ TÉMATA Z MATEMATIKY
MATURITNÍ TÉMATA Z MATEMATIKY 1. Základní poznatky z logiky a teorie množin Pojem konstanty a proměnné. Obor proměnné. Pojem výroku a jeho pravdivostní hodnota. Operace s výroky, složené výroky, logické
Funkce pro studijní obory
Variace 1 Funkce pro studijní obory Autor: Mgr. Jaromír JUŘEK Kopírování a jakékoliv další využití výukového materiálu je povoleno pouze s uvedením odkazu na www.jarjurek.cz. 1. Funkce Funkce je přiřazení,
1 Mnohočleny a algebraické rovnice
1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem
Matematická analýza III.
2. Parciální derivace Miroslav Hušek, Lucie Loukotová UJEP 2010 Parciální derivace jsou zobecněním derivace funkce jedné proměnné. V této kapitole poznáme jejich základní vlastnosti a využití. Co bychom
ϵ = b a 2 n a n = a, pak b ϵ < a n < b + ϵ (2) < ϵ, což je spor, protože jsme volili ϵ = b a
MA 6. cvičení výpočet limit posloupností Lukáš Pospíšil,202 Malý (ale pěkný) důkaz na úvod V dnešním cvičení se naučíme počítat jednoduché limity, nicméně by na začátek bylo vhodné ukázat, že to co hledáme,
Evoluční algoritmy. Podmínka zastavení počet iterací kvalita nejlepšího jedince v populaci změna kvality nejlepšího jedince mezi iteracemi
Evoluční algoritmy Použítí evoluční principů, založených na metodách optimalizace funkcí a umělé inteligenci, pro hledání řešení nějaké úlohy. Populace množina jedinců, potenciálních řešení Fitness function
Text může být postupně upravován a doplňován. Datum poslední úpravy najdete u odkazu na stažení souboru. Veronika Sobotíková
Tento text není samostatným studijním materiálem. Jde jen o prezentaci promítanou na přednáškách, kde k ní přidávám slovní komentář. Některé důležité části látky píšu pouze na tabuli a nejsou zde obsaženy.
Nyní využijeme slovník Laplaceovy transformace pro derivaci a přímé hodnoty a dostaneme běžnou algebraickou rovnici. ! 2 "
ŘEŠENÉ PŘÍKLADY Z MB ČÁST Příklad Nalezněte pomocí Laplaceovy transformace řešení dané Cauchyho úlohy lineární diferenciální rovnice prvního řádu s konstantními koeficienty v intervalu 0,, které vyhovuje
Programování v jazyce JavaScript
Programování v jazyce JavaScript Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Operátory a příkazy BI-JSC Evropský sociální fond
Přijímací zkouška na navazující magisterské studium 2018
Přijímací zkouška na navazující magisterské studium 208 Studijní program: Studijní obory: Matematika MA, MMIT, MMFT, MSTR, MNVM, MPMSE Varianta A Řešení příkladů pečlivě odůvodněte. Věnujte pozornost ověření
Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace
Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi
7. Aplikace derivace
7. Aplikace derivace Verze 20. července 2017 Derivace funkce se využívá při řešení úloh technické praxe i teorie. Uvedeme několik z nich: vyčíslení hodnot funkce, výpočet limity, vyšetřování průběhu funkce
c ÚM FSI VUT v Brně 20. srpna 2007
20. srpna 2007 1. 3 arctg x 1+x 2 dx 2. (x 2 + 2x + 17)e x dx 3. 1 x 3 x dx Vypočtěte integrál: 3 arctg x 1 + x 2 dx Příklad 1. Řešení: Použijeme substituci: arctg x = t 3 arctg x dx = 1 dx = dt 1+x 2
pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není
realmax maximální použitelné reálné kladné číslo realmin minimální použitelné reálné kladné číslo (v absolutní hodnotě, tj. číslo nejblíž k nule které lze použít) 0 pi Ludolfovo číslo π = 3,14159 e Eulerovo
Odhad - Problémy se sdruženým rozdělením pravděpodobnosti
Odhad - Problémy se sdruženým rozdělením pravděpodobnosti 20. listopadu 203 V minulém materiálu jsme si ukázali, jak získat sdružené rozdělení pravděpodobnosti. Bylo to celkem jednoduché: Věrohodnostní
Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na
Příklad: Součet náhodných čísel ve vektoru s počtem prvků, které zadá uživatel, pomocí sum() a pomocí cyklu for. Ověříme, že příliš výpisů na obrazovku zpomaluje tím, že zobrazíme okno (proužek) o stavu
Seznámíte se s pojmem primitivní funkce a neurčitý integrál funkce jedné proměnné.
INTEGRÁLNÍ POČET FUNKCÍ JEDNÉ PROMĚNNÉ NEURČITÝ INTEGRÁL NEURČITÝ INTEGRÁL Průvodce studiem V kapitole Diferenciální počet funkcí jedné proměnné jste se seznámili s derivováním funkcí Jestliže znáte derivace
Numerické řešení nelineárních rovnic
Numerické řešení nelineárních rovnic Mirko Navara http://cmp.felk.cvut.cz/ navara/ Centrum strojového vnímání, katedra kybernetiky FEL ČVUT Karlovo náměstí, budova G, místnost 104a http://math.feld.cvut.cz/nemecek/nummet.html
X36UNX 16. Numerické výpočty v sh příkazy expr, bc, dc. Zdeněk Sojka
X36UNX 16 Numerické výpočty v sh příkazy expr, bc, dc Zdeněk Sojka sojkaz1@fel.cvut.cz dc desk calculator - zadávání příkazů postfixově - data se ukládají do stacku - příkazy obyčejně pracují s jedním