Các lệnh trong Mathematica

Một phần của tài liệu (LUẬN văn THẠC sĩ) sử dụng ngôn ngữ lập trình mathematica để giải một số bài toán về phần phản ứng hạt nhân trong chương trình sách giáo khoa vật lí lớp 12 ban cơ bản (Trang 43)

Chƣơng 1 : CƠ SỞ LÝ LUẬN CỦA ĐỂ TÀI

2.6. Các lệnh trong Mathematica

Các lệnh trong Mathemaica là các động từ bằng tiếng 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à

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 không bằng y không bằng z (tất cả không 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.

%n Kết quả thứ n. * 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 hết.

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

- 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

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.

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ẽ đồ thị trong phạm vi nhất định của x, y: PlotRange->{{xmin,xmax},{ymin,ymax}}.

 Vẽ lưới tự động: GridLines->Automatic.

 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. 3

1 .0 0 .5 1 .0 6 4 2 2 4 6 Hình 2. 3: Đồ thị hai chiều

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}]

Clear["Glaybol`*"]

f[x_,y_]=x^2/4+y^2/16

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

Hình 2.4: Đồ thị hàm hai biến ba chiều f(x,y) = x2/4 +y2/16 trên đoạn [-5,5]

* 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

- Vẽ trong không gian ba chiều: <<Graphics`Plot3DField`

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

max},{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.

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.

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),… dùng lệnh: Line[{{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] 3 2 1 1 2 3 3 2 1 1 2 3

Hình 2.5: Hình trịn

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 ứng các số từ 0 đến 1 thì dùng lệnh: RGB[r,g,b].

- 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 tố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.

2.9. Phân tích một số dạng bài tập về phần phản ứng hạt nhân

2.9.1. Các dạng toán

Bài toán 2: Xác định năng lượng của phản ứng, phản ứng thu hay tỏa nhiệt Bài tốn 3: Cho trước động năng hạt tới và góc bay của hạt b từ đó xác định

động năng và vận tốc của hạt b bay ra theo góc bay .

Bài toán 4: Cho trước động năng và góc bay của hạt b xác định động năng

và góc giật lùi của hạt B tạo thành

Bài toán 5: Cho trước động năng của hạt tới, và động năng của hạt b bay ra từ

đó xác định góc bay của hạt b.

Nhận xét: Trên thực tế bài toán dạng thứ nhật đối với học sinh trung học phổ

thông tương đối dễ chỉ cần dùng định luật bảo tồn só khối và điện tích vì vậy trong luận văn chỉ đề cập đến các bài toán từ dạng 2 đến dạng 5. Để giải các dạng bài tập từ dạng 2 đến dạng 5 cần dựa vào định luật bảo toàn năng lượng và động lượng thực chất là dựa vào động học của phản ứng hạt nhân

2.9.2. Cơ sở lí thuyết về phản ứng hạt nhân

2.9.2.1. Định nghĩa về phản ứng hạt nhân.

Là tương tác giữa 2 hạt nhân dẫn đến sự biến đổi của chúng thành các hạt khác. Thí dụ khi hạt a bay vào tương tác với hạt nhân A. Sau tương tác tạo thành hạt b và B. Phản ứng hạt nhân trên được kí hiệu là

a +A  b+ B

Thí dụ: 14 14

7 6

nNCp

2.9.2.2. Các định luật bảo toàn trong phản ứng hạt nhân

- Định luật bảo toàn số nucleon.

Trong phản ứng hạt nhân, proton có thể biến thành nơtron và ngược lại, nhưng tổng số nuclon A trước và sau phản ứng ln đựợc bảo tồn. AaAAAbAB

- Định luật bảo tồn điện tích (Z).

Trong phản ứng hạt nhân điện tích được bảo tồn, tức là điện tích các hạt tham gia phản ứng bằng tổng điện tích các hạt tạo thành sau phản ứng

ZaZAZbZB

- Định luật bảo toàn động lượng và năng lượng:

Phản ứng hạt nhân chỉ xảy ra khi hạt tới đi vào vùng tương tác hạt nhân bia, tức khoảng cách của 2 hạt nhân tương tác cỡ bán kính hạt nhân

14 15

10 10 m. Trong khi đó các lớp electron của hạt nhân cỡ 8

10 cm, rất lớn so với bán kính tương tác hạt nhân. Hạt tới và hạt nhân bia coi như là hệ cô lập. Phản ứng hạt nhân tuân theo định luật bảo toàn năng lượng và động lượng. Xét phản ứng. a A B b a A B b A A A A Z aZ AZ BZ b

Giả thiết hạt A đứng yên Định luật bảo toàn năng lượng có dạng

2 2 2 2

(2.1)

a A a b B b B m cm cTm cm c  T T

Trong đó m m m ma, A, b, B là khối lượng của các hạt a, A, b, B tương ứng. Ta là động năng của hạt tới a. T Tb, B là động năng của các hạt b, B tương ứng. Biến đổi cơng thức 2.1 ta có:

  2 2 2 2 2 ( ) ( ) (2.2) b B a a A b B b B a a A b B T T T m c m c m c m c T T T m m m m c             

Đặt M0 mamA là tổng khối lượng của các hạt nhân trước phản ứng còn

b B

Mmm là tổng khối lượng của các hạt tạo thành sau phản ứng.

1 a A a

T  T TT là động năng của các hạt nhân trước phản ứng còn T2  Tb TB là động năng của các hạt tạo thành sau phản ứng.

Từ 2.2 ta có 2

2 1 ( 0 ) (2.3)

Đặt 2 1 2 2 1 (2.4) . (2.7) T T Q Q T T M c       

2.9.2.3. Phản ứng thu nhiệt và tỏa nhiệt:

- Nếu  M 0 khối lượng của hạt nhân tạo thành sau phản ứng nhỏ hơn khối lượng các hạt nhân trước phản ứng

 2 1 2 a T T Q T T Q     

Phản ứng xảy ra với động năng của hạt tới a. Phản ứng gọi là phản ứng bất kì. - Nếu    M 0 Q 0.

Từ (2.7) ta có T2  T1 Q

DoT2     0 T1 Q TaQ phản ứng chỉ xảy ra khi động năng của hạt tới lớn hơn ngưỡng phản ứng. Phản ứng này gọi là phản ứng thu nhiệt

2.9.3. Động học phản ứng hạt nhân a b B a b B P P P Chiếu lên trục Ox và Oy ta có cos cos (2.8) 0 sin sin (2.9) a b b B B b b B B P m V m V m V m V        

Kết hợp với phương trình (2.4) Q Ta  Tb TB Ta có hệ phương trình sau cos cos 0 sin sin a b B a b b B B b b B B Q T T T P m V m V m V m V                 (1)

Từ định luật bảo toàn năng lượng và động lượng ta chỉ có hệ phương trình trong đó có 4 ẩn số là V Vb, B, ,  hoặc T Tb, B, , 

Hệ phương trình trên là hệ bất định. Vì vậy cho trước một ẩn thì các ẩn khác cịn lại sẽ được xác định theo. Thường cho trước góc  là góc bay của hạt b, ta tính được T Tb, B, tương ứng.

Bài toán 3: Cho trước động năng hạt tới và góc bay của hạt b từ đó xác định

động năng và vận tốc của hạt b bay ra theo góc bay . Từ phương trình 1 của hệ (1) ta có: sin sin sin sin sin sin b b b b B B B B b B m V m V m V m V P P            Từ phương trình 2 của hệ (1) ta có 2 2 2 2 2 sin cos cos sin

(sin cot cos ) cos cot sin cot cot sin 2 cot cot 1 sin sin 1 cot b a b a b a b b a b a a b b

Một phần của tài liệu (LUẬN văn THẠC sĩ) sử dụng ngôn ngữ lập trình mathematica để giải một số bài toán về phần phản ứng hạt nhân trong chương trình sách giáo khoa vật lí lớp 12 ban cơ bản (Trang 43)