7. Cấu trỳc luận văn
2.7 Mathematica trong cỏc tớnh toỏn
2.7.1 Cỏc tớnh toỏn đại số
2.7.1.1 Biến đổi đại số
Mathematica cung cấp đầy đủ cỏc hàm cơ bản để biến đổi cỏc biểu thức đại số từ dạng này sang dạng khỏc.
bt
Expand : Khai triển tớch và luỹ thừa bt
ExpandAll : Khai triển tớch và luỹ thừa lại tất cả cỏc thành phần của biểu thức.
bt
Factor : Phõn tớch đa thức thành dạng tớch bt bien
FactorTerm , : Nhúm riờng cỏc số hạng tự do và phụ thuộc vào biến. bt
Together : Quy đồng mẫu số. bt
Apart : Biến đổi để đưa biểu thức thành cỏc số hạng riờng rẽ mà tử số là nhũng số nguyờn.
bt
bt x
Collect , : Nhúm thành từng nhúm cú cựng mũ đối với x. bt
Simplify : Rỳt gọn biểu thức bt
fy
FullSimpli : Tỡm biểu thức đơn giản nhất bằng cỏch dựng tất cả cỏc phộp biến đổi sẵn cú.
Xột cỏc vớ dụ sau:
Expand[(a+b+2)^3]
Kết quả thu được:
8+12 a+6 a2+a3+12 b+12 a b+3 a2 b+6 b2+3 a b2+b3 Nếu ta muốn rỳt gọn thỡ dựng lệnh t=Expand[(a+b+2)^3] Factor[t] Kết quả: 8+12 a+6 a2+a3+12 b+12 a b+3 a2 b+6 b2+3 a b2+b3 (2+a+b)3 2.7.1.2 Tớnh trị số của một biểu thức
Để tớnh trị số của một biểu thức đối với biến x tại giỏ trị x0 ta dựng lệnh bt/.x->x0
Nếu biểu thức chứa cỏc biến x, y thỡ để xỏc định giỏ trị của biểu thức tai x0,y0 thỡ ta dựng lệnh bt/.{x->x0,y->y0} Vớ dụ 1+(x^2-16 x^3)^2/.x^5 Kết quả: 3900626 (x^2+y^4+13 x+6 y)/.{x->2,y->5} Kết quả 685 (x^3+y^5)/.{x->3,y->(a-2)} 27+(-2+a)5
2.7.2 Trớch cỏc phần tử của biểu thức đại số
expr,form:
t
Coefficien Hệ số của form trong expr
Exponent expr,form: Số mũ cực đại của form trong expr r n r n
Part exp , ;exp : Số hạng thứ n trong expr r
Numeratorexp : Trớch tử số của biểu thức r
ator
Denomin exp : Trớch mẫu số của biểu thức Vớ dụ khai triển biểu thức đại số:
e=Expand[(1+5 x+3 y^2)^2] Kết quả 1+10 x+25 x2+6 y2+30 x y2+9 y4 Tỡm hệ số của thành phần x1 Coefficient[e,x] 10+30 y2 Tỡm số mũ cao nhất của y: Exponent[e,y] 4
2.8 Biến đổi cỏc biểu thức lượng giỏc
Mathematica cú nhiều lệnh để thực hiện cỏc phộp tớnh biến đổi lượng giỏc. Một số lệnh thường gặp là:
bt
TrigExpand Khai triển biểu thức lượng giỏc thành tổng cỏc số hạng
bt
TrigFactor Nhúm biểu thức lượng giỏc thành tớch
bt duce
TrigRe Đơn giản biểu thức lượng giỏc bằng
cỏch sử dụng cỏc biểu thức gúc bội bt
hàm mũ bt
ExpToTrig Biến đổi hàm mũ thành hàm lượng giỏc
bt and
ComplexExp Khai triển biểu thức phức với giả thiết tất cả cỏc biến đều là thực
bt d
PowerExpan Biến đổi p p p
y x xy
Vớ dụ: Khai triển biểu thức lượng giỏc
e=TrigExpand[Cos[3 x] Sin[3 x]]
Kết quả:
3 Cos[x]5 Sin[x]-10 Cos[x]3 Sin[x]3+3 Cos[x] Sin[x]5
Biến đổi thành cỏc thừa số nhõn:
Cos[x] (-1+2 Cos[2 x]) (1+2 Cos[2 x]) Sin[x]
Kết quả:
1/2 Sin[6 x]
2.9 Cỏc đơn vị đo. chuyển đổi đơn vị, cỏc hằng số vật lớ
2.9.1 Chuyển đổi đơn vị
Trong qua trỡnh tớnh toỏn cỏc biểu thức cú ý nghĩa vật lý, ta cú thể trực tiếp đưa cỏc đơn vị vật lý vào trong cỏc biểu thức mathematica sẽ tớnh toỏn cỏc đơn vị như cỏc số Vớ dụ: a=3 meters; b=a+12 meters 15 meters v=b/(5 seconds) (3 meters)/seconds
Vớ dụ để biến đổi vận tốc v thành feet/second ta dựng lệnh:
(9.84252 feet)/seconds
Một điều đỏng chỳ ý là Mathematica khụng tự chuyển Sqrt a,b thành aSqrt b
Sqrt được, vỡ vậy trong một số trường hợp ta phải dựng thờm lệnh PowerExpand để tớnh toỏn đơn vị.
Vớ dụ để tớnh vận tốc của một vật rơi tự do sau khi đi được quóng đường h:
Chương trỡnh được viết như sau: g=9.8 m/s^2;
h=47 m; v=Sqrt[2 g h] PowerExpand[v]
Kết quả thu được
30.3513
m2
s2
(30.3513 m )/s
2.9.2 Cỏc hằng số vật lý
Mathematica cú riờng một gúi chương trỡnh mụ tả cỏc hằng số vật lý. Gúi này cú tờn là Miscellaneous „PhysicalConstants‟
<<Miscellaneous'PhysicalConstants' 2.10 Cỏc tớnh toỏn giải tớch 2.10.1 Cỏc phộp tớnh cơ bản Tớnh đạo hàm f x n
D , , : Tớnh đạo hàm bậc n của biểu thức f Vớ dụ:
D[x^(3/2),{x,1}] D[x^(3/2),{x,3}] D[x^(3 n/2),{x,2}]
Kết quả cho tương ứng.
-3/(8 x(3/2) 3/2 n (-1+(3 n)/2) x23 n2 Tớnh vi phõn f Dt : Vi phõn toàn phần df f x Dt , : Đạo hàm toàn phần dx df
2.10.2 Đường tiếp tuyến và phỏp tuyến
Ta đưa ra một vớ dụ về tỡm và vẽ đường tiếp tuyến và phỏp tuyến với một đường cong cho trước. Như ta đó biết cỏc đường tiếp tuyến và phỏp tuyến tại một điểm trờn đường cong cho trước f(x) được xỏc định bằng phương trỡnh sau:
- Đường tiếp tuyến
y(x)=f‟(x0)(x-x0)+ f(x0) - Đường phỏp tuyến
h(x)=(-1/f‟(x0)(x-x0)+f(x0)
Cho f(x)=2x3+3x2-12x+7, vẽ đồ thị hàm số và đường tiếp tuyến tại điểm x0=-1 trờn cựng một hỡnh.
Chương trỡnh được viết như sau Clear[f,tt,pt,x]
f[x_]=2 x^3+3 x^2-12 x+7; x0=-1;
tt[x_]=f'[x0] (x-x0)+f[x0]; Plot[{f[x],tt[x]},{x,-3,3}]
3 2 1 1 2 3 20 20 40 Vớ dụ 2:
Vẽ đồ thị, cỏc đường tiờp tuyến và phỏp tuyến của hàm cho trước dưới dạng tham số sau đõy trờn cựng một đồ thị:
x=4cos3t y=4sin3t Tại t=3Pi/4.
Chương trỡnh được viết như sau Clear["Global`*"] x[t_]=4 Cos[t]^3; y[t_]=4 Sin[t]^3; t0=3 Pi/4; tt[x_]=(y'[t0]/x'[t0]) (x-x[t0])+y[t0]; pp[x_]=(-x'[t0]/y'[t0]) (x-x[t0])+y[t0]; p1=ParametricPlot[{x[t],y[t]},{t,-5,5},DisplayFunction->Identity] p2=Plot[{tt[x],pp[x]},{x,-3,3},PlotStyle->{Dashing[{0.03}]},DisplayFunction- >Identity,PlotStyle->Thick] Show[p1,p2] Kết quả:
4 2 2 4 4 2 2 4 3 2 1 1 2 3 2 2 4 6
4 2 2 4
4 2 2 4
2.11 Đồ hoạ trong Mathematica
Trong Mathematica đồ hoạ chiếm một vị trớ quan trọng. Một trong những ưu điểm nổi bật của Mathematica là khả năng vẽ đồ thị.
2.11.1. Đồ thị hàm một biến
Để vẽ đồ thị hàm một biến ta dựng lệnh
Plot[f[x],{x,a,b}]: Vẽ đồ thị hàm f(x) trong khoảng a,b
Muốn tỡm hiểu thụng tin từ lệnh này, từ màn hỡnh làm việc ta gừ ?Plot Kết quả:
Plot[f,{x,xmin,xmax}]
generates a plot of f as a function of x from xmin to xmax. Plot[{f1,f2,…},{x,xmin,xmax}]
Vớ dụ:
Plot[Sin[x],{x,0,6 Pi}]
Lệnh vẽ đồ thị tổng quỏt.
Plot[f[x],{x,a,b},Options]: Vẽ đồ thị với cỏc tuỳ chọn
Show[graphs, Options]: Kết hợp đồ thị tại một hỡnh chung. Cỏc Options cú nhiều dạng:
Vẽ đồ thị với cỏc màu khỏc nhau ta dựng lệnh
Plot[f[x],{x,a,b}, PlotStyle->RBGColor[r,g,b]]
Trong đú r, g, b là cỏc số 0 hoặc 1.
Khi vẽ từng đồ thị riờng biệt ta cú thể dựng tuỳ chọn
PlotStyle->Dashing[{n1,n2,…}]
Trong đú n1, n2 là cỏc số thỡ đồ thị sẽ cú cỏc dạng khỏc nhau Ngoài ra ta cú một số tuỳ chọn thường gặp
AspectRatio->number: Tạo tỉ số khoảng chia giữa trục x và trục y
Frame->True: Tạo khung xung quanh. Ngầm định Frame->False: Khụng cú khung xung quanh
PlotLabel->"...name": Đặt tờn cho đồ thị
PlotRange->{y-minnimun,y-maxximun}:Quy định vựng giỏ trị vẽ của y
PlotRange->All: Vẽ toàn bộ đồ thị
PlotRange->{{xmin,xmax},{ymin,ymax}}: Vẽ đồ thị trong phạm vi hỡnh chữ nhật
AxesOrigin->{x-coordinate,y-coordinate}:Quy định gốc của trục x, trục y.
GridLines->Automatic: Vẽ lưới tự động
GridLines->{None, Automatic}: Chỉ vẽ cỏc mạng lưới ngang
GridLines->{1,2,3}: Vẽ cỏc đường thẳng đứng tai x=1,2,3 Vớ dụ Clear["Global`*"] Plot[Sin[x^2],{x,0,3},AxesLabel->{"x","Sinx^2"},PlotLabel->"do thi sinx^2",GridLines->Automatic,Frame->True] Kết quả: 1.00.0 0.5 1.0 1.5 2.0 2.5 3.0 0.5 0.0 0.5 1.0 x do thi sinx^2
2.11.2 Vẽ đồ thị tham số hai chiều
Nếu cỏc hàm x, y được cho dưới dạng tham số x(t) và y(t) thỡ lệnh để vẽ đồ thị y(x) sẽ là:
ParametricPlot[x[t],y[t],{t,a,b}]
Vớ dụ:
ClearAll;
1.0 0.5 0.5 1.0 1.0 0.5 0.5 1.0 Vớ dụ 2: ParametricPlot[{Sin[t],Cos [t]},{t,0,2 Pi}] 1.0 0.5 0.5 1.0 1.0 0.5 0.5 1.0
Một vài loại đồ thị theo tham số
{r[t] Cos[t], r[t] Sin[t]}: Vẽ trong tạo độ cực với bỏn kớnh r và gúc t
{Re[f], Im[f]}: Giản đồ pha và Arg đối với số phức
{Log[f], Log[x]}: Vẽ trong hệ trục Loga-Loga.
2.11.4 Vẽ đồ thị cỏc hàm hai biến (đồ hoạ ba chiều)
Lệnh tổng quỏt để vẽ đồ thị hàm hai biến f(x,y) cú dạng như sau:
Plot3D[f[x,y],{x,xmin,xmax},{y,ymin,ymax}]
Vớ dụ: Vẽ đồ thị của hàm hai biến f(x,y)=x^2-4x+y^2-2y+5 Trong khoảng [0,4], [-1,3] ta dựng lệnh sau trong Mathematica
f[x_,y_]=x^2-4 x+y^2-2 y+5; Plot3D[f[x,y],{x,0,4},{y,-1,3}]
Vẽ đồ thị tham số trong khụng gian
Khi cỏc hàm x,y,z liờn hệ với nhau qua tham số t thỡ lệnh tổng quỏt để vẽ mặt z(x,y) như sau
ParametricPlot3D[{x[t],y[t],z[t]},{t,tmax,tmin}];
Khi x,y liờn hệ với nhau qua hai tham số u,v thỡ lệnh tổng quỏt để vẽ mặt z(x,y) là:
ParametricPlot3D[{x[u,v],y[u,v],z[u,v]},{u,tmin,tmax},{v,vmin,vmax}];
2.11.5 Vẽ cỏc đường đẳng trị
ContourPlot[f,{x,xmin,xmax},{y,ymin,ymax}];
Một số tuỳ chọn
Tờn tuỳ chọn Ngầm định ý nghĩa
PlotPoints 15 Số cỏc điểm trờn một hướng
PlotRange Automatic Cú thể chọn {zmin,zmax}…
Contours 10 Số cỏc đường đẳng trị giữa
zmin,zmax Vớ dụ
ContourPlot[x^2+y^2,{x,-3,3},{y,-3,3},Contours->{1,3,4,9}]
2.11.6. Vẽ đồ thị trường vectơ
Để vẽ trường vectơ ta phải mở gúi chương trỡnh Graphics`PlotField` sau đú dựng lệnh để vẽ trường vectơ
Trường vectơ trong mặt phẳng Vớ dụ:
Nghiờn cứu trường của một lưỡng cực điện, trước hết ta cần vẽ cỏc đường đẳng thế sau đú vẽ hướng của cỏc vectơ cường độ điện trường ta dựng cỏc lệnh sau:
Chương trỡnh được viết như sau: Clear["Global`*"] x01=4; y01=3; x02=7; y02=6; V[x_,y_]=1/Sqrt[(x-x01)^2+(y-y01)^2]-1/Sqrt[(x-x02)^2+(y-y02)^2]; p1=ContourPlot[V[x,y],{x,-5,15},{y,-6,10},ContourShading->False] p2=PlotGradientField[V[x,y],{x,-5,15},{y,-6,10},AspectRatio->1,VectorHeads- >True] Kết quả:
Đường đẳng thế và đồ thị vectơ cường độ điện trường tương ứng là
Vẽ trong khụng gian ta dựng lệnh
PlotVectorField3D[{fx[x,y,z],fy[x,y,z],fz[x,y,z]},{x,xmin,xmax},{y,ymin,ymax},{z,zmi n,zmax}]
2.11.7 Vẽ đồ thị cỏc số liệu
Khi cú cỏc số liệu nhưng chưa cú hàm để mụ tả, ta cú thể dựng được cỏc đồ thị. Cỏc lệnh để vẽ đồ thị cho cỏc số liệu là:
* ListPlot[{y1,y2,y3…..yn}]: Vẽ đồ thị y1, y2, …Khi hoành độ là 1, 2,…n * ListPlot[{x1,y1},{x2,y2},…..]:Vẽ đồ thị qua cỏc điểm (x1,y1), (x2,y2)…
2.12 Mathematica trong phương phỏp số
Trong Mathematica người ta dựng lệnh sau đõy để xấp xỉ cỏc số liệu bằng một hàm nào đú. Fit[data,funs,vars] Trong đú: Data là ma trận số liệu Funs là dạng hàm xấp xỉ Vars là cỏc biến số Vớ dụ: Kết quả thực nghiệm: nhiet do 0 10 20 30 40 50 60 70
dien tro 100.00 103.90 107.79 111.67 115.67 119.40 123.24 127.07 a) Vẽ đồ thị thực nghiệm với trục tung là nhiệt độ, trục hoành là điện trở b) Vẽ đồ thị thực nghiệm với trục hoành là nhiệt dộ, trục tung là điện trở. c) Tỡm điện trở ứng với nhiệt độ 5, 15, 25, 35.
d) Tỡm nhiệt độ ứng với 110 ễm, 150 ễm
Chương trỡnh được viết như sau: nhietdo={0,10,20,30,40,50,60,70}; dientro={100.00,103.90,107.79,111.67,115.54,119.40,123.24,127.07}; data1=Transpose[{nhietdo,dientro}]; ListPlot[data1,PlotJoined->True,PlotStyle->RGBColor[1,0,0],AxesLabel- >{"nhietdo","dientro"}] h[x_]=Fit[data1,{1,x,x^2},x]; h[5] h[15] h[25] h[35] data2=Transpose[{dientro, nhietdo}]; ListPlot[data2,PlotJoined->True,PlotStyle->RGBColor[0,1,1],AxesLabel- >{"dientro","nhietdo"}] g[x_]=Fit[data2,{1,x,x^2},x] g[110] g[150] Kết quả:
10 20 30 40 50 60 70 nhietdo 105 110 115 120 125 dientro 101.951 105.848 109.734 113.607 105 110 115 120 125 dientro 10 20 30 40 50 60 70 nhietdo -245.598+2.35419 x+0.00101845 x2 25.6865 130.446
Chương 3: MỘT SỐ ỨNG DỤNG CỦA MATHEMATICA TRONG GIẢNG DẠY PHẦN CƠ HỌC
Khi giải một bài toỏn vật lý núi chung hay bài toỏn cơ học núi riờng điều trước tiờn học sinh cần phải nắm chắc kiến thức lớ thuyết, biết vận dụng cỏc kiến thức vật lý vào giải bài tập. Người giỏo viờn cần tạo cho học sinh thúi quen làm bài tập để rốn luyện kĩ năng tớnh toỏn, trỡnh bày.
Việc sử dụng Mathematica để giải cỏc bài tập định lượng, người học khụng chỉ cần cú cỏc kiến thức vật lý mà cần biết viết cỏc chương trỡnh mỏy tớnh. Biết lập trỡnh tớnh toỏn và mụ phỏng cỏc hiện tượng cho dễ hiểu nhất. Mụ hỡnh hoỏ quỏ trỡnh xảy ra hiện tượng. Mỏy tớnh sẽ giỳp ta phõn tớch, tớnh toỏn để đưa ra kết quả. Từ đú ta cú thể điều chỉnh lại điều kiện, thay đổi thụng số sao cho phự hợp. Người học cú thể khảo sỏt thờm nhiều trường hợp của bài toỏn mà khụng tốn thời gian làm lại.
3.1. Động lực học chất điểm
3.1.1 Vận tốc
3.1.1.1 Khỏi niệm vận tốc
Đạo hàm của hàm x(t) biểu diễn sự phụ thuộc của vị trớ thay đổi theo thời gian t được gọi là vận tốc v(t) cho chuyển động một chiều.
t t x t t x t v (1.1)
Trong đú khoảng thời gian t đủ nhỏ để cú thể quan sỏt được vận tốc v t
một cỏch chớnh xỏc. Trong phần này sẽ giải quyết vấn đề chuyển động của một vật thể mà đồ thị x theo thời gian t là một đường thẳng. Vỡ hệ số gúc của đồ thị là một hằng số và từ độ dốc của vận tốc ta thấy rằng v t sẽ phụ thuộc vào thời gian.
Chỳng ta bắt đầu với bài toỏn cụ thể. Giả sử vị trớ x(t) tớnh ra một của người chạy được đo liờn tục trong từng giõy một và kết quả thu được bằng thực nghiệm như sau:
x(m) 0 10 20 30 40 50 60 70 80 90 100 Vẽ bảng số liệu này trong Mathematica sau đú nối cỏc điểm này để tạo thành đường thẳng.
Chương trỡnh viết trong Mathematica như sau:
ListPlot[{{0,0},{1,10},{2,20},{3,30},{4,40},{5,50},{6,60},{7,70},{8,80},{9,90},{10,100}},Axes Label->{"Thoi gian","Toa do"}]
2 4 6 8 10 Thoi gian 20 40 60 80 100 Toa do cd=Table[Line[{{0,0},{1,10},{2,20},{3,30},{4,40},{5,50},{6,60},{7,70},{8,80},{9,90},{10,100 }}] ] Show[Graphics[cd],AspectRatio->1,Axes->True,AxesLabel->{"Thoigian","Toa do"}]
2 4 6 8 10 Thoigian 20 40 60 80 100 Toa do 3.1.1.2 Giỏ trị của vận tốc
Ta tớnh được vận tốc từ cụng thức (1.1) và tập hợp cỏc số liệu trờn đường thẳng. Từ đồ thị ta thấy độ dốc của đường thẳng chớnh là giỏ trị của vận tốc. Ta cú thể sử dụng hai điểm bất kỡ từ đồ thị thay vào (1.1) để tớnh giỏ trị của vận tốc. Vớ dụ s m s s m m v 10 / 3 4 30 40 3. 1.2. Xỏc định toạ độ 3.1.2.1 Xỏc định toạ độ
Từ phương trỡnh (1.1) ta cú thể xỏc định được toạ độ của vật:
t t x t v t
x * (1.2)
Trong đú vận tốc là hằng số (độc lập với thời gian). Cho toạ độ x(t) ở một thời điểm t bất kỡ ta cú thể xỏc định được toạ độ x(tt) tại thời điểm tt.
Vớ dụ cho thời điểm t=2s vật cú toạ độ 20m, v=10m/s. Tớnh toạ độ của vật ở thời điểm t=2.5s.
Chương trỡnh được viết như sau:
v0=10;x0=20;t0=2;t=2.5; x=x0+v0*(t-t0)
3.1.2.2. Một số phương phỏp xỏc định toạ độ khỏc.
Cụng thức để xỏc định toạ độ của một vật ở thời điểm t bằng cỏch sử dụng phương trỡnh: x(tt) x t v(vt)*t (1.3)
Trong đú vận tốc v(tt) được tớnh ở thời điểm tt. Cõu hỏi đặt ra là tại sao khụng sử dụng phương trỡnh: xtt x t v*t mà lại sử dụng phương trỡnh (1.3). Đú là do kớch cỡ của delta. Cỏch đầu tiờn thường cho kết quả của
t t
x chớnh xỏc hơn. Hơn nữa cú thể viết cỏc khỏc thay thế cho phương trỡnh (1.3) là: t t x t t x t t v ( ) ( ) (1.4)
Một cỏch khỏc nữa cú thể chọn giỏ trị trung bỡnh của vận tốc v(t) và vận tốc v(tt). Khi đú ta cú phương trỡnh xỏc định vị trớ của vật tại thời điểm tt
là: t t t v t v t x t t x( ) ( )(( ( ) ( )/2)* (1.5) 3.1.3. Gia tốc
3.1.3.1 Khỏi niệm gia tốc
Khi chỳng ta xột chuyển động của vật thể và biểu diễn sự phụ thuộc vị trớ x(t) của vật theo thời gian t. Đồ thị mà ta thu được thường khụng phải là một đường thẳng. Trong trường hợp này hệ số gúc khụng phải là một hằng số. Vỡ lẽ đú, độ dốc của x thộp cú cỏi tờn khỏc với vận tốc. Theo đú thỡ vận tốc khụng phải là hằng số. Từ đú vận tốc thay đổi theo thời gian, nú thực hiện việc biểu diễn sự phụ thuộc của vận tốc v(t) theo thời gian t. Đại lượng vật lớ đặc trưng cho sự biến đổi của vận tốc theo thời gian gọi là gia tốc a(t). Vớ dụ điển hỡnh về gia tốc khi bạn ngồi trờn mỏy bay đang chuyển động với vận tốc 600km/h hay một ụtụ chuyển động với vận tốc 60km/h thỡ ta khụng thấy sự chuyển động nhưng khi ụtụ hay mỏy bay nhanh chúng thay đổi vận tốc thỡ ta thấy sự thay đổi này rất rừ. Ta cú cụng thức xỏc định gia tốc như sau:
t t v t t v t a ( ) ( ) )