7. Cấu trỳc luận văn
2.3 Mathematica là hệ thống biểu diễn cỏc kiến thức toỏn học
Ta xột sự tương quan giữa cỏc biểu thức toỏn học và phương phỏp biểu diễn chỳng trong Mathematica.
Phần cơ bản của Mathematica bao gồm cỏc quy luật biến đổi. Cỏc quy luật này làm rừ cỏc biểu thức từ một dạng bất kỡ được chuyển qua dạng khỏc như thế nào. Cỏc quy luật biến đổi là dạng tự nhiờn nhằm biểu thị cỏc quan hệ toỏn học. Vớ dụ một vài biểu thức toỏn học được dựng trong Mathematica.
Ln1=0 Lne=1 0 Log n 1 Log E
2.4 Mathematica là mụi trường tớnh toỏn
Mathematica tạo mụi trường được dựng để thiết lập, chạy, soạn thảo cỏc tớnh toỏn cũng như cỏc chương trỡnh.
Trong tuyệt đại số cỏc mỏy tớnh, Mathematica cú hai bộ phận chớnh: Nhõn được sử dụng để thực hiện cỏc phộp tớnh toỏn và “front end” là bộ phận giao diện với người sử dụng với mục đớch đưa cỏc số liệu vào và đưa kết quả ra màn hỡnh.
Nhõn hoạt động như nhau trờn mọi mỏy tớnh, trong khi đú cỏch ra vào số liệu cú thể khỏc nhau trờn cỏc mỏy tớnh khỏc nhau.
Nhiều phần giao diện của Mathematica làm việc theo chế độ “vở ghi” (notebooks). Trong cỏc notebooks cú thể đồng thời chứa cỏc văn bản (text), đồ thị hoặc định nghĩa toỏn học. Cú một thư viện rất lớn trong Mathematica đề cập đến cỏc vấn đề khỏc nhau và ta cú thể sử dụng cỏc định nghĩa đú để thực hiện việc tớnh toỏn.
2.5 Mathematica là cụng cụ trong mụi trường tớnh toỏn chuẩn
Mathematica giao diện với nhiều yếu tố của mụi trường tớnh toỏn chuẩn. Với cỏc mỏy làm việc với hệ điều hành UNIX, Mathematica cú thể liờn hệ với cỏc chương trỡnh ngoài qua cỏc kờnh. Ta cú thể định dạng dữ liệu lối ra của Mathematica đỳng như dạng lối vào của nhiều loại ngụn ngữ khỏc. Mathematica cú thể viết ra cỏc biểu thức dưới dạng phải viết trong ngụn ngữ
C và FORTRAN. Mathematican cú thể tạo cỏc bài dạng Text để viết bỏo hoặc biểu diễn trỡnh bày.
2.6 Cỏc toỏn tử của Mathematica.
Cỏc toỏn tử số học: + : Phộp cộng - : Phộp trừ * : Phộp nhõn / : Phộp chia ^ : Phộp luỹ thừa
Dấu cỏch (space) trong Mathematica cũng được sử dụng như dấu nhõn. Vớ dụ: 1 :2.35.63 In 1 7.93 Out 2 :2.4/8.9^2 In 2 0.0302992 Out Cỏc toỏn tử lụgic
Mathematica cho phộp sử dụng cỏc phộp so sỏnh như trong toỏn học Khi so sỏnh Mathematica sẽ trả lời đỳng (True) hay sai (False) Vớ dụ cỏch viết:
x=y : Gỏn giỏ trị y cho x
x==y : So sỏnh x cú bằng y hay khụng
x!=y : x khụng bằng y
x>=y : x lớn hơn hoặc bằng y
x<=y : x nhỏ hơn hoặc bằng y
x==y==z : tất cả bằng nhau
x !=y !=z : Tất cả khụng bằng nhau
!! : Khụng phải là
Toỏn tử And và Or được sử dụng như sau bt1,bt2...
Or Cho True nếu một trong cỏc biểu thức là True, False nếu tất cả
cỏc biểu thức là False. bt1,bt2...
And Cho True nếu tất cả cỏc biểu thức là True, False nếu một trong cỏc biểu thức là False.
Ngoài ra cũn cú hau hàm tỏc động lờn cỏc biểu thức logic: p t q
If , , : Cho giỏ trị t nếu p đỳng, ngược lại cho giỏ trị q. btL
and
LogicalExp : Khai triển biểu thức Logic Vớ dụ:
1 :107
In
False Out1
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