Quá trình hình thành và phát triển của Mathematica

Một phần của tài liệu (LUẬN văn THẠC sĩ) sử dụng phần mềm toán học mathematica trong giảng dạy bài tập chương điện tích điện trường vật lí 11 nhằm tăng tính tích cực trong quá trình nhận thức của học sinh (Trang 28)

1.3.1 .Dạy và học trong thời đại công nghệ thông tin

1.5. Quá trình hình thành và phát triển của Mathematica

Sau quá trình nghiên cứu lâu dài, vào năm 1988 hãng Wolfram Research đã cho ra đời phần mềm Mathematica[1,2]. Đây là phần mềm giúp ta tính toán toán toán học trên máy vi tính dựa vào các ngơn ngữ lập trình của Mathematica thực hiện các phép tính tốn bằng kí hiệu, đồ thị, bằng số. Sự ra đời của Mathematica ban đầu với mục đích là phục vụ cho các ngành khoa học vật lí, cơng nghệ và tốn học, nhưng do các tính năng và ưu điểm nổi trội của Mathematica mà phần mềm này ngày càng quan trọng trong nhiều lĩnh vực khoa học. Do vậy, ngày nay phần mềm Mathematica không chỉ được sử dụng trong lĩnh vực khoa học tự nhiên mà nó cũng đã trở nên quan trọng cả lĩnh vực khoa học xã hội, kinh tế cụ thể như: dùng phần mềm Mathematica thiết kế mơ hình hóa các bài tốn kinh tế… Qua thống kê, trong 100000 người sử dụng phần mềm Mathematica thì có 28% là kỹ sư, 21% là các nhà khoa học, 20% là các nhà vật lí, 12% là các nhà tốn học, 12% là các nhà doanh nghiệp, các nhà xã hội học và nhân văn.

Ngày nay số người sử dụng phần mềm này ngày càng tăng: hầu hết 15 bộ chủ chốt ở Mỹ và 50 trường đại học lớn nhất thế giới sử dụng Mathematica và khoảng 200 quyển sách liên quan đến Mathematica được công bố[2,Tr.8]. 1.6. Vài nét chính về Mathematica

1.6.1. Mathematica là hệ thống thực hiện các phép tính

Mathematica cho phép tính tốn bằng số, bằng ký hiệu và vẽ đồ thị. Dịng có ký hiệu In[n] do người sử dụng gõ vào các lệnh các định nghĩa cần thiết, còn dòng Out[n] là do Mathematica đưa trả kết quả trở lại.

1.6.1.1. Các tính tốn bằng số.

Vừa có tính năng như máy tính bỏ túi, nhưng có những ưu điểm hơn hẳn Ví dụ. Nếu cần tìm giá trị bằng số của log(4π)

In[1]:= N[Log[4 Pi]]

kết quả Mathematica đưa ra: Out[1]= 2.53102

Khơng như các máy tính bỏ túi khác, Mathematica có thể cho kết quả với bất kỳ sốchữ số thập phân nào. Ví dụ cùng với bài tốn trên nếu ta cần 40 chữ sốthập phân thì tadùng lệnh.

Int[2]:= N[Log[4 Pi],40] Kết quả ta có:

Out[2]= 2.531024246969290792977891594269411847798 Mathematica có thể thực hiện các phép tính phức tạp.

1.6.1.2. Các phép tính bằng ký hiệu.

Tính tốn trên các ký hiệu là một trong những ưu điểm của Mathematica so với các ngơn ngữ khác.

Ví dụ: cần tìm cơng thức để tính tích phân , ta thực hiện lệnh sau: Integrate[x^4/(x^2-1), x]

+ + [−1 + ] − [1 + ] Giải một phương trình bằng ký hiệu:

Solve[x^(1/3)-x==b^(1/3), x]

Sau lệnh này ta thu được biểu thức nghiệm dưới dạng khá phức tạp, mà ở đây vì qdài ta sẽ khơng đưa ra.

Khả năng tính tốn bằng ký hiệu, cũng như tính tốn bằng số là một trong những điểmmạnh của Mathematica. Nhờ vậy mà Mathematica có khả năng thực hiện các phép tínhđại số cũng như số học.

1.6.2. Vẽ đồ thị

Mathematica là một công cụ rất mạnh được dùng để vẽ các loại đồ thị khác nhau.

Vídụ: cần vẽ đồ thị của hàm sin(xy) đối với các biến x và y trong khoảng

từ 0 đến π ta gõ

Plot3D[Sin[x y], {x, 0, Pi},{y, 0, Pi}] Kết quả:

Hình 1.2.Đồ thị ví dụ trong phần vẽ đồ thị của mathematica 1.6.3. Mathematica là ngơn ngữ lập trình

Mathematica là loại cấu trúc lập trình cao cấp, cho phép viết mộtchương trình lớn phức tạp bằng cách nhanh nhất so với các ngơn ngữ đã có trước nó. Mỗimột lệnh của Mathematica có thể được xem như là một chương trình con (thủ tục) trongcác ngôn ngữ truyền thống. Mathematica tự phiên dịch lấy, ta có thể chạy ngay chươngtrình khi mới đưa tồn bộ các lệnh từ bàn phím lên màn hình.

Ví dụ.

f[n_]= Table[Prime[i],{i, n}].

Lệnh này định nghĩa hàm f gồm n số nguyên tố đầu tiên, và vì vậy ta có thể dùng ngay định nghĩa này để đưa ra 10 số nguyên tố đầu tiên bằng cách dùng hàm vừa được định nghĩa với tham số thực được đưa vào, tức là nếu gán n=10 cho hàm vừa định nghĩa

f[10] kết quả ta có {2, 3, 5, 7, 11, 13, 17, 19, 23, 29}. Ví dụ một đoạn chương trình: z=a Do[Print[z=z (z+i)],{i,3}]

Sau khi Mathematica thực hiện các lệnh ta thu được a

a (1+a)

a (1+a ) (2+a (1+a))

a (1+a) (2+a(1+a))(3+a(1+a)(2+a(1+a)))

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

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ệ tốn học. Ví dụ một vài biểu thức tốn học được dùng trong Mathematica.[3, Tr13]

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

ln1=0 lne=1 lnxy =lnx+lny lnxn =nlnx Log[1]=0 Log[E]=1 Log[x_y_]=Log[x]+Log[y] Log[x_^n]=nLog[x]

1.6.5. Mathematica là mơi trường tính tố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 tốncũng như các chương trình.Mathematica có hai bộ phận chính: Nhân (Kernel)được sử dụng để thực hiện các tính tố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 cũng như kết quả ra màn hình.Nhân hoạt động như nhau trên mọi máy tính, trong lúc đó 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 các định nghĩatoán học.

Để thuận tiện cho việc giao diện, Mathematica còn cung cấp cho người sử dụng cácbảng lệnh (Pallettes) và các nút lệnh (Buttons):[3, Tr15].

Ví dụ thay cho lệnh tích phân: Integrate[(x+5x^(2/3) ^(3/4),x]

Ta nháy chuột vào biểu tượng tích phân trong pallettes để nhập lệnh: ( + 5 ^ ( 2 / 3 )) ^ ( 3 / 2 )

Hai cách nhập số liệu trên hoàn toàn tương đương với nhau.

1.6.6. Các lệnh trong Mathematica

Các lệnh của Mathematica là một động từ bằng tiếng Anh phản ánh ý nghĩa toán học thường được dùng cũng như các thao tác thường gặp. Sau khi gõ lệnh của Mathematica theo đúng cú pháp của nó rồi ấn đồng thời các phím SHIFT + ENTER hoặc ấn phím ENTER bên phải bàn phím thì Mathematica sẽ thựchiện lệnh và cho ngay kết quả lên màn hình.

Nếu sau lệnh ta gõ thêm dấu “;” thì Mathematica sẽ thực hiện lệnh mà khơng đưa kết quả ra màn hình.

Để hủy bỏ việc chạy một chương trình hay một lệnh đang trong giai đoạn làm việc ta ấn đồng thời hai phím Alt + . Khi kết thúc buổi làm việc, ta có thể thốt ra khỏi Mathematica bằng lệnh Quit[] hoặc ấn tổ hợp các phím sau:

Alt+X, Alt+F4, Ctrl+F4 hoặc chọn Exit từ menu File, khi đó Mathematica sẽ 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 thì ấn ‘‘Cancel’’.[3, Tr17]

Các file của chương trình Mathematica có phần mở rộng là nb.

Nhiều khi ta cần biết thơng tin về một lệnh nào đó cần sử dụng. Trong trường hợp đó ta dùng các lệnh sau:

?Name:Đưa ra thông tin về lệnh tên là Name

??Name:Đưa thêm các thông tin cần thiết về Name

?Aaaa*:Đưa các thông tin về các đối tượng bắt đầu bằng chữ Aaaa ?++:Cho thông tin về các dạng lối vào đặc biệt

Một số lệnh sử dụng file: <<name :Đọc file có tên name

!! name :Hiện nội dung của file name

Save["name", x1, x2,…] :Ghi các biến x1, x2,… vào file name x>> name: Ghi các giá trị x vào file name (Các số liệu cũ bị xoá đi) x>>>name: Ghi thêm giá trị x vào file name. Các số liệu cũ vẫn giữ nguyên.

1.6.7. Các lệnh cơ bản của Mathematica trong tính tốn bằng số 1.6.7.1. Các tốn tử số học. 1.6.7.1. Các toán tử số học.

Mathematica thực hiện các phép tính số học như một máy tính tay bình thường. +: phép cộng -: phép trừ *: phép nhân /: phép chia ^: luỹ thừa

Dấu cách (space) trong Mathematica cũng được sử dùng như dấu nhân.

1.6.7.2. Các toán tử logic.

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)

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 y

x<y x bé 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 Tất cả bằng nhau

x!=y!=z Tất cả không bằng nhau

x>y>z Các số tăng

!! khơng phải là

Các tốn tử And và Or được sử dụng như sau:

Or[bt1,bt2,…] hoặc(bt1|| bt2||…):Cho True nếu một trong các biểu thức cóTrue, False nếu tất cả các biểu thức đềuFalse.

And[bt1, bt2,…] hoặc(bt1&& bt2&&...): Cho True nếu tất cả các biểu thức đềuTrue, False nếu một trong các biểu thứcFalse.

Xor[bt1, bt2,…]: Cho True nếu có một số lẻ các biểu thứcTrue, False nếu có một số chẵn các biểuthức True.

If[test, t, f]: Cho giá trị là t nếu test nhận giá trịTrue, ngược lại cho giá trị f.

LogicalExpand[btL]: Khai triển biểu thức Logic.

1.6.7.3. Thuật toán trong mathematica

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

%: Kết quả cuối cùng. %%: Kết quả trước cuối cùng. %n: Kết quả của phép tính thứ n.

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

x= Value: Gán Value cho biến x.

x=y= Value: Gán Value cho các biến x, y. x=.: Xố đi tất cả những gì đã gán cho biến.

Để đồng thời xoá đi nội dung của một số biến hoặc các định nghĩa đã được ra từ trước,người ta dùng lệnh Clear[vars], hoặc lệnh Clear["Global`*"].

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

Mathematica chứa nhiều hàm toán học cơ bản kể cả những hàm đặc biệt được dùngtrong các phương trình vật lý tốn học.

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

Exp[x] Hàm e mũ x

Log[x], Log[b, x] ln(x), logb x

Sin[x], Cos[x], Tan[x] Các hàm lượng giác, biến số đo bằng radian

Sinh[x], Cosh[x],… Các hàm hyperbolic

ArcSin[x], ArcCos[x],

ArcTan[x] Các hàm lượng giác ngược

n! n giai thừa

Abs[x] Trị tuyệt đối của x

Round[x] Làm tròn số x

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

Random[ ] Cho một số ngẫu nhiên nằm giữa 0 và 1

Random[type, range] Cho số ngẫu nhiên loại type nằm trong khoảng range

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

FactorInteger[n] Phân tích n thành các thừa số nguyên tố

x+I y số phức x+iy

Re[z] phần thực của số phức z

Im[z] phần ảo của số phức z

Conjugate[z] số liên hợp phức của z

Abs[z] modun của số phức z

Chú ý:Chữ cái đầu tiên của tên các hàm chuẩn phải được viết hoa. Các đối số của hàm phải được đặt trong dấu [ ]. Các hàm lượng giác có thể được dùng khi các đối số được đo bằng độ.

1.6.8. Đồ họa trong Mathematica 1.6.8.1. Đồ thi hàm một biến.

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

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

Để vẽ đồ thị của hàm f(x) theo 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 và b là các số 0 hoặc1. Ví dụ: Định nghĩa các hàm f, g, h Clear[f,g,h] f[x_]=4x^3+6x^2-9x+2; g[x_]=12x^2+12x-9; h[x_]=24x+12; Vẽ đồ thị hàm f(x) Plot[f[x],{x,-3,3}]

Vẽ đồng thời nhiều đồ thị:Ta có thể dùng lệnh vè đồng thời ba đồ thị trên trêncùng một đồ thị theo lệnh tương tự như sau:

dt1= Plot[{f[x], g[x], h[x],{x,-3, 2}]

Ta cũng có thể vẽ riêng biệt từng đồ thị một rồi sau đó hiện chúng lên trên cùng mộtđồ thị:

Khi vẽ từng đồ thị riêng biệt ta có thể dùng tự chọn sau: PlotStyle->Dashing[{n1, n2, ...}]

Trong đó n1, n2,... là các số thì đồ thị sẽ có dạng các đường chấm chấm khác nhau.

Ngồi ra, có một số tuỳ chọn của lệnh Plot thường gặp là: Aspect Ratio -> number: Tạo tỷ số giữa trục x và trục y.

Ticks->None hoặc Ticks->{{x-axis ticks},{y-axis ticks}}: Chỉ rõ có đặt dấu kiểmtrên các trục x, y hay không.

AxesLabel->{“x-axisLabel”,”y-axisLabel”}: Ghi tên cho các trục x, y. PlotLabel->“... name”: Đặt tên cho đồ thị.

PlotPoints->n, n là một số nguyên dùng để quy định số điểm tối thiểu đểvẽ nên đồ thị, giá trị mặc định là 25.

* Vẽ đồ thị tham số hai chiều. ParametricPlot[{x[t], y[t],{t, a, b}] Ví dụ: x=sint;

y=sin2t,

để vẽ đồ thị y(x) ta dùng lệnh:

ParametricPlot[{Sin[t], Sin[2 t]} ,{t, 0, 2 Pi}]

1.6.8.2. Vẽ đồ thị các hàm hai biến ( Đồ hoạ ba chiều)

* Vẽ đồ thị hàm hai biến f(x,y) có dạng 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)= x2-4x+y2-2y +5 trong khoảng [0,4],[-1,3]ta dùng các lệnh sau trong Mathematica.

Clear[f]

f[x_,y_] = x^2 -4x +y^2 -2y+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,tmin,tmax}] Khi x, y, z liên hệ với nhau qua hai tham số u, v thì:

ParametricPlot3D[{x[u, v], y[u, v],z[u, v]}, {u, umin, umax}, {v, vmin, vmax}]

*Vẽ đồ thị các số liệu

Khi có số liệu nhưng chưa có hàm miêu tả, ta cũng 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,… ListPlot[{{x1, y1},{x2,y2}, …}] Vẽ các điểm (x1, y1), (x2, y2),…

ListPlot[{{x1, y1},{x2, y2},…},PlotJoined->True] Thêm option để nối cácđiểm lại với nhau.

ListPlot[{{z11, z12…},{z21, z22,…},…}] Vẽ đồ thị tương ứng với các giá trịcho trong ma trận {{z11, z12,..},…}

ListContourPlot[Array] Vẽ các đường đẳng trị theo các phần tử của mảng Array.

ListDensityPlot[Array] Vẽ theo độ đậm nhạt tương ứng với các phân tử của Array.

*Chú thích trong các đồ thị.

Thực hiện các chú thích trong các đồ thị ta cần phải mở gói chương trình: Graphics`Legend` rồi sau đó dùng Option PlotLegend trong lệnh Plot hoặc dùnglệnh: ShowLegend.

PlotLegend->{text1, text2, ...}

ShowLegend[graphics, legend1, legend2, ...]

Tên tuỳ chọn Giá trị

mặc định

Chức năng của tuỳ chọn

LegendPosition LegendSize LegendShadow LegendOrientation LegendLabel LegendTextDirection LegendTextOffset LegendSpacing LegendTextSpace {-1, -1} Automatic Automatic Vertical None Automatic Automatic Automatic Automatic Chỉ rõ vị trí của bảng chú thích đối vớitâm đồ thị (0, 0 ) Chỉ rõ độ dài của bản chú thích Có thể cho giá trị None

Có thể cho Vertical hoặc Horizontal Tên của bản chú thích

Hướng của bản chú thích Cân bằng chữ trong Chú thích Khoảng cách trong bản chú thích Khoảng cách giữa các hàng chữ

1.6.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ị: 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: Thickness,…Một số lệnh hỗ trợ thường gặp:

Point[{x,y}]: Cho một chấm tại toạ độ x,y.

Line[{{x1, y1}, {x2, y2}, ...}]: Vẽ đường đi qua các điểm (x1, y1), (x2, y2),...

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

Polygon[{{x1, y1}, {x2, y2},...}]: Vẽ đa giác và bơi đen.

Text[expr,{x, y}]: Viết dịng Text (expr) tại điểm có toạ độ x,y. Circle[{x,y}, r]: Vẽ vịng trịn bán kính r có tâm nằm tại điểm x, y.

Các lệnh về màu:

GrayLevel[i]: Tô trắng đen theo mức độ giữa 0 ( đen) và 1(trắng)

RGB[r, g, b]: Tô màu theo sự pha lẫn giữa đỏ, xanh và xanh da trời, r, g, b là các số nằm giữa 0 và 1

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

Hue[h, s, b]: Tô màu đặc biệt, các tham số nằm giữa 0 và 1.

Kích thước các nét vẽ:

PointSize[d]: d là đường kính của điểm trong đồ thị.

AbsolutePointSize[d]: d là đường kính của điểm trong đồ thị đo bằng đơn vị tuyệt đối.

Thickness[w]: Quy định độ đậm của đường

AbsoluteThickness [w]: Tương tự nhưng trong đơn vị tuyệt đối. Dashing[{w1, w2,...}]: Quy định đường chấm chấm.

AbsoluteDashing[{w1, w2,...}]: Tương tự như Dashing nhưng trong đơn vị tuyệt đối.

1.7. Tìm hiểu thực tế dạy học

1.7.1. Thực tế dạy và học

Chúng tơi đã tiến hành tìm hiểu thực tế dạy học ở trường THPT Lý Tử Tấn và thu được một số kết quả như sau:

- Đa số các GV dạy theo kiểu thuyết trình giảng giải và trình bày như nội dung trong SGK. Việc xác định mục tiêu của mỗi bài học được quan tâm không đúng mức.

- Một số GV cũng xác định mục tiêu bài học, tuy nhiên đó cũng chỉ là mục tiêu kết quả học và do đó ít quan tâm hoạt động của HS trong giờ học

- Một số GV cũng mong muốn phát huy tính tích cực của HS trong giờ học. Tuy nhiên những câu hỏi mà GV đặt ra thơng thường là những câu hỏi vụn vặt, địi hỏi ở HS sự tái hiện thơng thường, khơng có tác dụng trong việc phát triển tư duy HS.

- GV ít quan tâm đến CNTT, phần mềm khi dạy học do GV ngại, khơng có thói quen chuẩn bị, tốn thời gian chủ yếu chỉ dùng khi hội giảng, thi GV giỏi.

- Nhiều HS lười hoạt động, suy nghĩ trong giờ học. Các em thường chỉ ngồi nghe giảng và trông chờ các thầy cô đọc để chép, khơng có hứng thú tìm tịi, và rất ít khi đặt câu hỏi với GV về vấn đề đang học và đã học

- Hầu như học sinh khơng có thói quen tổng hợp, phân tích, suy luận, vận dụng, so sánh… các kiến thức trong từng tiết học. Do đó kiến thức của các em cịn hời hợt, khơng chắc chắn và rất nhanh qn.

- HS chỉ quen áp dụng kiến thức, cơng thức tính điện trường, cường độ điện trường đã học một cách máy móc vào các tình huống tương tự như đã học, các bài tập tương tự.

-HS khơng nắm vững kiến thức tốn học liên quan đến việc giải các bài

Một phần của tài liệu (LUẬN văn THẠC sĩ) sử dụng phần mềm toán học mathematica trong giảng dạy bài tập chương điện tích điện trường vật lí 11 nhằm tăng tính tích cực trong quá trình nhận thức của học sinh (Trang 28)