Mathematica là hệ thống biểu diễn kiến thức toán học

Một phần của tài liệu (LUẬN văn THẠC sĩ) sử dụng phần mềm mathematica trong dạy học phần dao động và sóng điện từ chương trình sách giáo khoa vật lí lớp 12 trung học phổ thông (Trang 43)

9. Cấu trúc Luận văn

2.4.Mathematica là hệ thống biểu diễn kiến thức toán học

Các ngơn ngữ tốn học được biểu diễn dưới ngôn ngữ Mathematica dưới

dạng như [4, Tr.13]:

Dạng toán học Biểu diễn trong Mathematica

ln1=0 Log[1]=0

lne = 1 Log[E]=1

lnxy=lnx + lny Log[x_y_]=Log[x]+Log[y]

lnxn = nlnx Log[x_^n]=nLog[x]

2.5. Mathematica là mơi trƣờng tính tốn

Mathematica cho phép ta thiết lập, chạy, soạn thảo các phép tính tốn. Mathematica có hai bộ phận chính : Nhân (kernel) được dùng để soạn thỏa các tính tốn và « font end » là bộ phận giao diện với người sử dụng, dùng để đưa các số liệu vào cũng như hiển thị kết quả ra màn hình . Nhân hoạt động như nhau trên mọi máy tính.

Có phần giao diện của Mathematica cho phép ta ghi lại các dữ liệu, gọi là notebooks. Trong các notebooks có thể đồng thời chứa văn bản, đồ thị.

Mathematica còn cung cấp bảng lệnh khi ấn vào (Pallettes) màn hình thì bảng lệnh hiện ra, bảng lệnh này giúp ta thuận tiện trong q trình lập trình[4, Tr. 15 ].

ví dụ : tính nguyên hàm của hàm : f(x)= x3

– 3x2 + 2 Ta có thể dùng lênh :

Integrate[x^3 – 3x^2+2,x]

thì ta có thể dùng ký hiệu trong bảng lệnh để thực hiện lệnh tính nguyên hàm này:

dx ) 2 2 ^ x 3 3 ^ x (   

Hai cách trên Mathematica đều cho kết quả như nhau

2.6. Các lệnh trong Mathematica

Các lệnh trong Mathemaica là các động từ bằng tiêngs Anh, phản ánh ý nghĩa toán học. Sau khi gõ lệnh của Mathematica theo đúng cú pháp, để chạy chương trình thì ta ấn tổ hợp phím (SHIFT + ENTER) và kết quả cho ra ngay trên màn hình. Trường hợp chương trình bị lỗi thì khơng chạy. Nếu sau mỗi câu lệnh ta đặt dấu ”;” thì Mathematica sẽ thực hiện lệnh mà không cho kết quả ra màn hình. Vậy trong một phép tính nếu chúng ta khơng cần kết quả trung gian mà chỉ cần kết quả cuối cùng thì sau mỗi câu lệnh ta đặt dấu ”;”. Khi câu lệnh cuối cùng kết thúc ta ấn (SHIFT + ENTER) thì các dịng lệnh sẽ được thực hiện đồng thời [4, Tr.17].

Để hủy chương trình hay lệnh nào đó đang chạy thì ta ấn tổ hợp phím (ALT +). Để thốt khỏi Mathematica thì chúng ta cũng tiến hành thoát như các cửa sổ làm việc khác ( ALT + F4, Ctrl + F4,...) khi đó Mathematica hỏi bạn muốn ghi lại ”Save” hay không ghi lại ”Don’t save” hoặc muốn tiếp tục làm việc trên Mathematica thì ấn ”Cancel”.

Để thuận tiện ta có thể dùng các File trong Mathematica, chúng có phầm mở rộng là m. Một số lệnh sử dụng File.

<<baitap Đọc File có tên baitap.

!!baitap Hiện nội dung của file baitap.

Save[ « baitap » x1, x2,… ] Ghi lại các biến x1, x2,… vào file baitap.

x>>baitap Ghi lại các giá trị x vào file baitap (các dữ

liệu cũ bị xóa khỏi file baitap).

x>>>baitap Ghi thêm các giá trị x vào file baitap và

giữ nguyên các dự liệu cũ. Muốn biết thơng tin về một lệnh nào đó cần sử dụng thì ta dùng lệnh:

?Log Cho ta biết thông tin về Log.

?? Log Cho ta biết thêm các thông tin cần thiết

về Log.

?Abc* Cho ta biết thông tin về các đối tượng bắt

đầu bằng chữ Abc.

?++ Đưa ra các thông tin về các dạng lối vào

đặc biệt.

2.7. Các lệnh cơ bản của Mathematica trong tính tốn bằng số

2.7.1. Các tốn tử số học

Mathematica sử dụng các toán tử trong toán học như máy tính bình thường: + phép công. - Phép trừ. * Phép nhân. / Phép chia. ^ Lũy thừa. 2.7.2. Các toán tử logic

Mathematica sử dụng các phép so sánh như trong toán học. Nếu phép so sánh là đúng thì Mathematica “trả lời: True” sai “trả lời: False”.

Cách viết trên Mathematica:

x = y gán giá trị y cho x.

x!=y x không bằng y.

x>y x lớn hơn y.

x<y x nhỏ hơn 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 x bằng y bằng z (tất cả bằng nhau).

x>y>z x lớn hơn y và y lớn hơn z.

!! không phải là.

Biểu thức :

Or[bt1, bt2,…] hay ( bt1bt2…) thì kết quả là True nếu một trong

các bt là True, là False nếu tất các các bt là False.

And[bt1, bt2, …] hay (bt1 && bt2&&…) thì kết quả là True nếu tất các

bt là True, là False nếu một trong các bt là False.

Xor[bt1, bt2, …] thì kết quả là True nếu một số lẻ các bt là True, là False

nếu một số chẵn các bt là False.

If[p, t, q] cho giá trị là t nếu p đúng, ngược lại cho giá trị là q. LogicalExpand[btL] khai triển biểu thức logic.

Ví dụ : In[1]:=5<3.

Out[1]:=False. In[2]:=5 !=3 !5. Out[2]:=False.

Mathematica không biết đúng hay sai: In[3]:=x<y. Out[3]:=x<y. In[4]:=5<7&&9 !=6. Out[4]:= True. In[5]:=(pq)&&!(a b). Out[5]:= (pq)&&!(ab).

2.7.3. Các thuật toán trong Mathematica

* Các dấu % biểu thị kết quả của phép tính cuối vừa được thực hiện

% Kết quả cuối cùng.

%% Kết quả liền trước kết quả cuối cùng.

* Cách sử dụng các biến:

x= a Gán giá trị a cho biến x.

x=y= a Gán giá trị a cho biến x, y.

x=. Xóa đi tất cả các giá trị đã gán cho biến x.

Để các lệnh trước không ảnh hưởng tới lệnh mới ta viết thì chúng ta dùng Clear[var] hoặc Clear[“Global`*”] trước khi viết lệnh mới.

2.7.4. Các hàm cơ bản

Trong Mathematica chứa các hàm toán học cơ bản và đặc biệt được dùng trong các phương trình tốn học và vật lý giúp ta thực hiện các lệnh dễ ràng.

Sqrt[x] :căn bậc hai của x.

Exp[x] :hàm e mũ.

Log[x], Log[a,x] :hàm lnx và logax.

Sin[x], Cos[x], Tan[x], Cotan[x] :các hàm lượng giác có đơn

vị đo góc là rad.

ArcSin[x], ArcCos[x], ArcTan[x], ArcCtan[x] :các hàm lượng giác ngược .

n! : Giai thừa của n.

Abs[x] : trị tuyệt đối của x.

Round[x] : làm tròn x.

Mod[n,m] : cho phần dư của phép chia

n cho m.

Random[] : cho số ngẫu nhiên giữa 0 và

1.

Random[type, range] : cho số ngẫu nhiên loại type

nằm trong range.

Max[x,y,...], Min[x,y,...] : cực đại, tiểu của x, y.

FactorInterger[n] : các số nguyên mà n chia

x + Iy : Số phức.

Re[z] : phần thực của z.

Im[z] : phần ảo của z.

Conjugate[z] : liên hợp phức của z.

Abs[z] : Môđun của zz.

Arg[z] : argument của số phức z.

* Một số hằng số có trong Mathematica: Pi   3,14159

E e 2,71828

Degree Pi/180 Giá trị 10

theo radian. I = i =Sqrt[-1]

Infinity = 

(các chữ cái đầu của các hàm chuẩn được viết hoa và các đối số của hàm phải được đặt trong dấu [])[4, Tr.31] .

2.8. Đồ họa trong Mathematica

2.8.1. Đồ thị hàm một biến

* Vẽ đồ thị hàm một biến f[x] ta dùng lệnh:

Plot[f [x], {x,a,b}] : vẽ đồ thị hàm f[x] trong khoảng a, b.

- Ví dụ: vẽ đồ thị hàm f(x), g(x), h(x) riêng trên từng hệ trục hoặc trên một hệ trục tọa độ : - Hàm f(x) Clear[f] In[1]:=f[x_]=5x^3+6x^2+2x-1 Plot[f[x],{x,-3,2}] Out[1]:=-1+2x+6x2+5x3

Chạy chương trình, kết quả cho ở hình 2.3:

Hình 2.3 3 2 1 1 2 50 50 - Vẽ 3 đồ thị trên cùng hệ trục: In[1] f[x_]=5 x^3+9 x^2+8 x-1 In[2] g[x_]=5 x^2-2 x+1 In[3] h[x_]=5^x In[4] Plot[{f[x], g[x], h[x]},{x,-5,5}] Out[1]:=-1+8 x+9 x2+5 x3 Out[2]:= 1-2 x+5 x2 Out[3]:= 5x

Chạy chương trình, kết quả cho ở hình 2.4:

4 2 2 4

100 100 200

Ta có thể vẽ riêng từng đồ thị và cho cùng hiển thị trên cùng một hệ trục bằng lệnh:

PlotStyle->Dashing[{n1, n2,…}].

với n1,n2,… là các số thì đồ thị sẽ có dạng các đường chấm.

Ví dụ: vẽ hàm f[x] dưới dạng đường chấm:

dt=Plot[f[x],{x, -5, 5}, PlotStyle->Dashing[{.01}]] Chạy chương trình, kết quả cho ở hình 2.5:

4 2 2 4 200 150 100 50 50

- Vẽ đồ thị nhưng chưa muốn cho hiện lên màn hình thì dùng lệnh: DisplayFunction->Identity.

ví dụ ta vẽ cả ba đồ thị trên cùng một hệ trục nhưng vẽ lần lượt từng đồ thị, nhưng chưa cho đồ thị đó hiện lên, sau đó cho chúng hiện lên trên cùng một hệ trục thì: dt1= Plot[f[x_]= x^3-3 x^2+2,{x,-5,5}, PlotStyle->Dashing[{.01}] DisplayFunction->Identity]; dt2= Plot[g[x_]=x^2+3x-1,{x,-5,5},DisplayFunction->Identity]; dt3= Plot[h[x_]=2x,{x,-5,5},DisplayFunction->Identity]; Show[dt1,dt2,dt3,DisplayFunction->$DisplayFunction] Chạy chương trình, kết quả cho ở hình 2.6:

Hình 2.6 4 2 2 4 200 150 100 50 50 Ngồi ra chúng ta cịn có một số dạng như:

 Tạo tỷ số khoảng chia trên trục Ox, Oy: AspectRatio->number.

 Tạo khung: Frame->True, đặt tên cho khung: FrameLabel->{“do thi

1”, “do thi 2”, “do thi 3”} .

 Chỉ rõ có đặt dấu kiểm tren các trục Ox, Oy hay không: Ticks->None

hay Ticks->{{x-axis ticks},{ y-axis ticks}}.

 Ghi tên cac trục tọa độ: AxesLabe->{“x-axisLabel”, “y-axisLabel”}.

Nếu muốn bỏ các trục thì: Axes->False, muốn có: Axes->True.

 Đặt tên cho đồ thị vừa vẽ: PlotLabel-> “name”.

 Quy định vùng giá trị của x: PlotRange->{{x-minimum, x-

maxximum},{ y-minimum, y-maxximum}.

 Vẽ toàn bộ đồ thị: PlotRange->All.

 Vẽ đồ thị trong phạm vi nhất định của x, y: PlotRange->{{xmin,xmax},{ymin,ymax}}.

 Chỉ vẽ lưới ngang : GridLines->{None,Automatic}.

 Vẽ các đường thẳng đứng tại x =2, 3 và 4: GridLine->{{2,3,4}}.

* Vẽ đồ thị hai chiều:

ParametricPlot[{x[t],y[t]},{t, a,b}]

ví dụ : ParametricPlot[{Sin[t], Tan[2 t]},{t,-Pi,Pi}] Chạy chương trình, kết quả cho ở hình 2.7:

Hình 2.7 1 .0 0 .5 1 .0 6 4 2 2 4 6

2.8.2. Đồ thị hàm hai biến ba chiều

* Vẽ đồ thị hàm hai biến ba chiều ta dùng lệnh có dạng tổng quát : Plot3D[f[x,y],{x, xmin, xmax}, {y, ymin, ymax}]

ví dụ vẽ đồ thị hàm : f(x,y) = x2

/4 +y2/16 trên đoạn [-5,5]

Clear["Glaybol`*"]

Plot3D[f[x,y],{x,-5,5},{y,-5,5}] Chạy chương trình, kết quả cho ở hình 2.8:

Hình 2.8

* Vẽ đồ thị tham số : khi các hám x, y, z liên hệ với nhau theo tham số thì dùng lệnh:

ParametricPlot3D[{x[t],y[t],z[t]},{t,tmin,tmax}]. Nếu có hai tham số thì ta dùng lệnh :

ParametricPlot3D[{x[u,v],y[u,v],z[u,v]},{u,umin,umax},{{v,vmin,vmax}}]. * Đồ thị trường véc tơ :

Để thực hiện được lệnh vẽ trường vvéc tơ thì ta cần mở gói chương trình. <<Graphics`PlotField`

- Vẽ trên mặt phẳng thực hiện lệnh :

PlotVectorFiled[{fx[x,y],fy[x,y]},{x,xmin,xmax},{y,ymin,ymax},Options] : Vẽ trường véc tơ f trong mặt phẳng

<<Graphics`Plot3DField`

PlotVectorFiled3D[{fx[x,y,z],fy[x,y,z],fz[x,y,z]},{x,xmin,xmax},{y,ymin,yma

x},{z,zmin,zmax},(Options)] :

* Chú thích cho đồ thị:

Ta mở gói chương trình (Graphics`Legend`), sau đó dùng lệnh Option PlotLegend hay dùng lệnh ShowLegend.

<< Graphics`Legend`

PlotLegend->{“text1”, “text2”,…}.

ShowLegend[graphics,legend1, legend2,…]. Các tùy chọn với PlotLegend và ShowLegend [4, Tr.67]

Tên tùy chọn Giá trị mặc định Chức năng

LegendPosition {1,3} Chỉ vị trí bảng chú thích với tâm đồ

thị.

LegendSize Automatic Chỉ rõ độ dài bản chú thích.

LegendShutdow Automatic Có thể cho giá trị None.

LegendOrientation Vertical Có thể cho Vertical hay Horizontal.

LegendLabel None Tên bản chú thích.

LegendTextDirection Automatic Hướng của bản chú thích.

LegendTextOffset Automatic Cân bằng chữ trong chú thích.

LegendSpacing Automatic khoảng cách hai hàng trong bảng

chú thích.

LegendTextSpace Automatic khoảng cách các chữ trong bảng

chú thích.

Ví dụ:

dt1=Plot[Tan[x],{x,-5 Pi,5Pi},PlotStyleDashing[{.02}],PlotStyle- >GrayLevel[0.1],DisplayFunctionIdentity]; dt2=Plot[Sin[x],{x,-5Pi,5 Pi}, DisplayFunctionIdentity]; Show[dt1,dt2,DisplayFunction$DisplayFunction]

Chạy chương trình, kết quả cho ở hình 2.9:

Hình 2.9 15 10 5 5 10 15 6 4 2 2 4 6 "---Tanx","-Sinx" * Vẽ đồ thị động:

Trong Mathematica có khả năng tạo hiệu ứng. Để sử dụng các hiệu ứng trong Mathematica ta phải mở gói chương trình Graphics`Animation` rồi dùng các lệnhvẽ động như:

- Animate[grcom,{tmin,tmax,dt}]: Vẽ đồ thị grcom với tham số t chạy từ tmin tới tmax với bước là dt.

- MoviePlot[f[x,t],{x,xmin,xmax},{t, tmin,tmax}].

- MoviePlot3D[f[x,y,t],{x,xmin,xmax},{y,ymin,ymax},{t, tmin,tmax}]. - MovieContourPlot[f[x,y,t],{x,xmin,xmax},{y,ymin,ymax},{t, tmin,tmax}]. - MovieDenstityPlot[f[x,y,t],{x,xmin,xmax},{y,ymin,ymax},{t, tmin,tmax}]. - MovieParametricPlot[f[x,t],h[x,t],{x,xmin,xmax},{t, tmin,tmax}].

Để chạy chương trình ta kích chuột vào dấu (+) và chạy các hiệu ứng Ví dụ: Tổng hợp các véc tơ lực đồng phẳng Manipulate[Graphics[{Arrow[{{0,0},{1,0}}], Arrow[{{0,0},{Cos[t],Sin[t]}}],Red,Arrow[{{0,0}, {Cos[t]+1,Sin[t]}}]},FrameTrue,PlotRange{{-2,2}, {-2,2}},GridLinesAutomatic,AspectRatio1, ImageSize{450,450}],{{t,Pi,"angle"},0,2 Pi, Appearance"Labeled"}]

Chạy chương trình, kết quả cho ở hình 2.10: Hình 2.10 angle  2 1 0 1 2 2 1 0 1 2

Chạy chương trình chuyển động quay ta có thu được kết quả hình 2.11 Hình 2.11

angle 1.07992 1.07992 2 1 0 1 2 2 1 0 1 2

Vẽ đồ thị khơng gian ba chiều (3D). Chương trình được viết:

SpinShow[ParametricPlot3D[{Tan[t] Cos[r],Sin[t] Sin[r],Sin[t]},{t,Pi/2,Pi/2},{r,Pi,Pi},

Chạy chương trình ta thu được kết quả như hình 2.12

Hình 2.12

Graphics`Animation`Private`theta$1102

2.8.3.Cấu trúc đồ thị

Trong Mathematica cho phép ta biểu diễn các đồ thị dưới dạng tổ hợp các lệnh vẽ đồ thị như: Point, Line, Polygon. Ta có thể tơ màu cho đồ thị bằng lệnh: RGBColor, Tăng độ đậm nhạt của đồ thị bằng các lệnh tương ưng sau: Thickness, SurfaceColor.

Các lệnh vẽ hỗ trợ vẽ đồ thị:

- Đánh dấu chấm tại điểm có tọa độ x, y Point[{x,y}].

- Vẽ đường thẳng đi qua tọa độ các điểm cho trước (x1,y1), (x2,y2),…

- Vẽ hình chữ nhật: Rectangle[{x1,y1}, {x2,y2}].

- Vẽ đa giác và tô đen: Polygon[{{x1,y1}, {x2,y2},…}].

- Viết dòng Text ( expr) tại điểm có tọa độ x, y: Text[expr,{x,y}].

- Vẽ đường trịn tâm tại điểm (x, y) và bán kính R: Circle[{x,y},R].

Ví dụ: Vẽ đường trịn Clear["Global`*"]

dt=Graphics[Circle[{0,0},3]] Show[%,Axes->True]

Chạy chương trình ta thu được kết quả như hình 2.13

Hình 2.13 3 2 1 1 2 3 3 2 1 1 2 3

Trên đồ thị, mỗi yếu tố sẽ được thực hiện bằng một hay một tổ hợp các lệnh khác nhau:

Cách tô màu:

- Tô màu trắng đen theo mức độ giữa 0 (đen) và 1(trắng)thì dùng lệnh:

GrayLevel[i].

- Pha các màu đỏ (r), xanh lá cây (g), xanh da trời (b) với nhau tương

- Tô màu với h nằm giữa 0 và 1: Hue[h].

- Tô màu đặc biệt các giá trị từ 0 đến 1: Hue[h,s,b].

Thay đổi kích thước các đường trên đồ thị

- Độ đậm, nhạt của đồ thị: Thickness[a].

- Đường kính của điểm: PointSize[d].

- Đường chấm chấm: Dashing[{i}] (i nằm trong khoảng từ 0 đến 1).

Một số lệnh khác hỗ trợ trong khi vẽ đồ thị:

- Tính tới sai số khi vẽ đồ thị: ErrorListPlot[{{x1,y1,dy1},{x2,y2,dy2},...}].

- Điền tên các điểm trên đồ thị: TextListPlot[{{x1,y1, “A”}, {x2,y2,

“B”},... }].

- Trường véc tơ: ListPlotVectorFiled[list].

Ngồi các tính năng về vẽ đồ thị trong toán và trong vật lý ra, Mathematica cịn thực hiện các tính tốn đại số. Các tính tốn giải tích. Tính toán, biến đổi trong ma trận, vô hướng và véc tơ hay giúp ta lập trình với các thuật tốn đơn giản và phức tạp.

Chƣơng 3: ỨNG DỤNG PHẦN MỀM TOÁN HỌC MATHEMATICA THIẾT KẾ BÀI GIẢNG PHẦN DAO ĐỘNG VÀ SÓNG ĐIỆN TỪ 3.1. Ứng dụng phần mềm Mathematica thiết kế bài giảng phần dao động

3.1.1. Dao động cơ học

3.1.1.1. Vấn đề cơ bản về dao động cơ học a. Dao động cơ học

Con lắc đơn dao động, chiếc phao nhấp nhơ trên mặt hồ khi có sóng, dây đàn ghi ta khi gẩy sẽ dao động trên mặt đàn,... Những thí dụ này, vật chỉ chuyển động trong một vùng không gian hẹp, khơng đi q xa so với vị trí cân bằng của mỗi vật. Chuyển động như vậy được gọi là dao động.

Như vậy, dao động là chuyển động có giới hạn trong không gian, lặp đi

lặp lại nhiều lần quanh một vị trí cân bằng.

Vị trí cân bằng được xác định là vị trí của vật khi nó đứng n, vị trí của con lắc khi không dao động, của phao khi mặt hồ phẳng lặng, của dây đàn không rung.

b. Dao động tuần hoàn

Quan sát dao động con lắc, ta thấy cứ sau một khoảng thời gian nhất định nó trở lại vị trí ban đầu (lấy một vị trí bất kỳ làm mốc để xác định, đơn giản nhất là ta lấy ví trí cân bằng), tức là trạng thái dao động được lặp lại. Dao động như vậy được gọi là dao động tuần hoàn.

Dao động tuần hoàn là dao động mà trạng thái chuyển động của vật được lặp lại như cũ sau những khoảng thời gian bằng nhau.

Sau khoảng thời gian T ngắn nhất trạng thái dao động lặp lại như cũ thì ta gọi T là chu kì của dao động tuần hồn.

Đại lượng

T

f  1 cho ta biết số lần dao động trong một đơn vị thời gian

được gọi là tần số của dao động tuần hoàn. Đơn vị đo của tần số là Héc (kí hiệu là: Hz).

Dao động của dây đàn, con lắc, khơng duy trì mãi mãi. Nó giảm dần rồi tắt hẳn. Nhưng nếu xét dao động của giây đàn trong một thời gian rất ngắn, ta có thể coi nó gần đúng dao động đó là dao động tuần hồn. Dao động của cành cây

khi có gió thổi,…, không phải là dao động tuần hồn.

c. Dao động điều hịa

Vật chuyển động được mô tả dưới dạng định luật dạng cosine (hoặc sine) theo thời gian được gọi là dao động điều hòa.

Con lắc lò xo lý tưởng, con lắc đơn khi dao động với góc lệch nhỏ và bỏ qua ma sát,… là những ví dụ về dao động điều hịa.

Một phần của tài liệu (LUẬN văn THẠC sĩ) sử dụng phần mềm mathematica trong dạy học phần dao động và sóng điện từ chương trình sách giáo khoa vật lí lớp 12 trung học phổ thông (Trang 43)