Mathematica Lecture 4

Mathematica Lecture 4
Symbolic capabilities of Mathematica
Expand@H1 + xL ^ 10D
1 + 10 x + 45 x2 + 120 x3 + 210 x4 + 252 x5 + 210 x6 + 120 x7 + 45 x8 + 10 x9 + x10
Factor@%D
H1 + xL10
Simplify@Cos@xD ^ 2 - Sin@xD ^ 2D
Cos@2 xD
Simplify@Sqrt@x ^ 2DD
x2
Simplify@Sqrt@x ^ 2D, x > 0D
x
Simplify@Sqrt@x ^ 2D, x œ RealsD
Abs@xD
PowerExpand@Sqrt@x ^ 2DD
x
Simplify@Gamma@zD Gamma@1 - zDD
Gamma@1 - zD Gamma@zD
FullSimplify@Gamma@zD Gamma@1 - zDD
p Csc@p zD
ComplexExpand@Exp@x + I yDD
‰x Cos@yD + Â ‰x Sin@yD
TrigExpand@Cos@20 xDD
Cos@xD20 - 190 Cos@xD18 Sin@xD2 + 4845 Cos@xD16 Sin@xD4 - 38 760 Cos@xD14 Sin@xD6 +
125 970 Cos@xD12 Sin@xD8 - 184 756 Cos@xD10 Sin@xD10 + 125 970 Cos@xD8 Sin@xD12 38 760 Cos@xD6 Sin@xD14 + 4845 Cos@xD4 Sin@xD16 - 190 Cos@xD2 Sin@xD18 + Sin@xD20
TrigReduce@%D
Cos@20 xD
sol = Solve@x ^ 2 - 3 x - 10 ã 0, xD
88x Ø -2<, 8x Ø 5<<
2
class4.nb
x ê. sol
8-2, 5<
x ê. sol@@2DD
5
D@Cos@4 xD ê H1 - Sin@4 xDL, xD
4 Cos@4 xD2
H1 - Sin@4 xDL2
-
4 Sin@4 xD
1 - Sin@4 xD
Simplify@%D
4
HCos@2 xD - Sin@2 xDL2
FullSimplify@%16D
-
4
-1 + Sin@4 xD
TrigReduce@%D
-
4
-1 + Sin@4 xD
IntegrateAx4 ë Ia2 + x2 M, xE
-a2 x +
x3
3
x
+ a3 ArcTanB F
a
D@%, xD êê Simplify
x4
a2 + x2
Integrate@x ^ 4 Log@x Hx + 3LD ê Sqrt@xD, 8x, 1, 2<D
92 728
2835
-6
3 p + 36
3 ArcTanB
2
3
F-
4 Log@2D
9
+
4
2 H-22 153 + 2520 Log@10DL
Integrate@1 ê Ha + b Cos@xDL, 8x, 0, Pi<D êê Timing
2835
a
a
a
:38.0999, IfB ReB F § -1 »» ReB F ¥ 1 »» ImB F ≠ 0 && a ≠ b && a + b ≠ 0,
b
b
b
-LogB
F + LogB
a-b
-a2 +b2
-a+b
-a2 +b2
-a2 + b2
Assumptions Ø !
F
, IntegrateB
1
a + b Cos@xD
, 8x, 0, p<,
a
a
a
ReB F § -1 »» ReB F ¥ 1 »» ImB F ≠ 0 && a ≠ b && a + b ≠ 0 FF>
b
b
b
Simplify@Integrate@1 ê Ha + b Cos@xDL, 8x, 0, Pi<D, a > b > 0D êê Timing
:32.138,
p
a2 - b2
>
class4.nb
3
Integrate@1 ê Ha + b Cos@xDL, 8x, 0, Pi<D êê Simplify@Ò, a > b > 0D & êê Timing
:32.0658,
>
p
a2
b2
-
Note that in the current version of Mathematica these commands, where you do the general integral and them simplify it, are
rather inefficient. It is much better to specify that a > b > 0 at the start using the Assuming command:
In[1]:=
Out[1]=
Assuming@a > b > 0, Integrate@1 ê Ha + b Cos@xDL, 8x, 0, Pi<D D êê Timing
:1.76236,
>
p
a2 - b2
Even better is to put the condition a > b > 0, as a Assumptions option to Integrate, as follows:
In[2]:=
Out[2]=
Integrate@1 ê Ha + b Cos@xDL, 8x, 0, Pi<, Assumptions Ø Ha > b > 0LD êê Timing
:0.269622,
>
p
a2 - b2
Sum@1 ê n ^ 2, 8n, 1, 5<D
5269
3600
Sum@1 ê n ^ 12, 8n, 1, Infinity<D
691 p12
638 512 875
Series@Exp@Sin@xDD, 8x, 0, 30<D
:0.000107, 1 + x +
58 913 x14
4 151 347 200
-
3631 x19
34 735 100 400
x2
2
-
x4
8
x5
-
15
5699 x15
2 554 051 500
+
x6
-
240
+
33 728 645 300 825 889 414 000 000
Series@Sqrt@1 + xD, 8x, 0, 4<D
2
8
x3
16
-
5 x4
128
ser = Normal@%D
1+
x
2
-
x2
8
+
x3
16
-
5 x4
128
-
x9
5670
-
+ O@xD5
-
+
-
2951 x10
3 628 800
19 993 x17
43 418 875 500
6 050 353 x21
623 668 727 682 000
26 976 017 466 662 584 320 000
36 698 180 928 319 x29
+
5760
+
11 162 375 477 471 x24
403 291 461 126 605 635 584 000 000
x2
31 x8
20 922 789 888 000
8 529 964 147 714 967 x26
-
+
52 635 599 x16
3 283 268 567 040 000
306 265 893 058 125
x
90
27 069 353 x20
47 438 x23
1+
x7
+
+
-
+
-
x11
3150
+
181 x12
14 515 200
1 126 610 929 x18
6 402 373 705 728 000
118 802 490 419 x22
34 060 628 114 472 960 000
41 478 716 501 x25
473 364 564 310 638 000 000
3 818 348 299 x27
271 488 500 119 336 500 000
-
+
2417 x13
48 648 600
+
+
+
-
2 610 006 147 952 249 x28
2 074 070 371 508 257 554 432 000 000
1 446 188 098 724 255 329 x30
3 844 244 345 104 218 241 105 920 000 000
+ O@xD31>
+
4
class4.nb
N@8ser, Sqrt@1 + xD< ê. x Ø 0.7D
81.30081, 1.30384<
Limit@HSin@xD - Tan@xDL ê x ^ 3, x Ø 0D
-
1
2
sol = DSolve@8y ''@xD + 8 y '@xD + 16 y@xD ã 0, y@0D ã 2, y '@0D ã 1<, y@xD, xD
99y@xD Ø ‰-4 x H2 + 9 xL==
Plot@y@xD ê. sol, 8x, 0, 2<D
2.0
1.5
1.0
0.5
0.5
y@xD ê. sol ê. x Ø 2
:
20
‰8
1.0
1.5
2.0
>
y@2D
y@2D
My preferred way to solve an ODE analytically is to use DSolve to give a function rather than a replacement rule as follows:
ans@x_D = y@xD ê. DSolve@8y ''@xD + 8 y '@xD + 16 y@xD ã 0, y@0D ã 2, y '@0D ã 1<, y@xD, xD@@1DD
‰-4 x H2 + 9 xL
ans@2D
20
‰8
ans '@2D
-
71
‰8
ans ''@uD + 8 ans '@uD + 16 ans@uD ã 0 êê Simplify
True
One gets the same results if one puts y, rather than y[x], at the end of the DSolve command:
class4.nb
ans@x_D = y@xD ê. DSolve@8y ''@xD + 8 y '@xD + 16 y@xD ã 0, y@0D ã 2, y '@0D ã 1<, y, xD@@1DD
‰-4 x H2 + 9 xL
Now do 2 coupled oscillators
sol = DSolveA9x1 ''@tD + 2 w2 x1@tD - w2 x2@tD ã 0, x2 ''@tD + 2 w2 x2@tD - w2 x1@tD ã 0,
x1 '@0D ã 0, x2 '@0D ã 0, x1@0D ã 0, x2@0D ã a=, 8x1, x2<, tE@@1DD;
xx1@t_D = x1@tD ê. sol
1
2
a JCos@t wD - CosB 3 t wFN
xx2@t_D = x2@tD ê. sol
1
2
a JCos@t wD + CosB 3 t wFN
Plot@Evaluate@8xx1@tD, xx2@tD< ê. 8w Ø 1, a Ø 1<D,
8t, 0, 15<, PlotStyle Ø 88AbsoluteThickness@3D, Hue@0D<,
8AbsoluteThickness@3D, [email protected]`D, Dashing@80, 0.01, 0.02<D<<D
1.0
0.5
2
4
6
8
-0.5
-1.0
x = 6; y = 36;
p = Hx ^ 2 ã yL
True
p
True
Clear@x, fD
f@x_D := 1 ê; Abs@xD < 1;
f@x_D := 0 ê; Abs@xD > 1;
f@x_D := 1 ê 2 ê; Abs@xD ã 1;
10
12
14
5
6
class4.nb
Plot@f@xD, 8x, -4, 4<D
1.0
0.8
0.6
0.4
0.2
-4
-2
2
NIntegrate@f@xD, 8x, -Infinity, Infinity<D
4
2.
Integrate@f@xD, 8x, -1 ê 2, 1 ê 2<D
‡
-
1
2
1
f@xD „ x
2
Plot3DBImB
x + Â y F, 8x, -2, 2<, 8y, -2, 2<, PlotPoints Ø 50, AxesLabel Ø 8"x", "y", ""<F