6
HƯỚNG DN THC HÀNH MA THEMATICA Phn mm Mathematica chlà mt trong nhng công chtrcho môn Phương pháp tính. Do thi gian hc có hn nên trong hướng dn chxem xét mt slnh cơ bn đủ để gii quyết các bài toán có trong chương trình hc. Nhng sinh viên nào có nhu cu cao hơn có ththc qua phn hướng dn Help ca phn mm hoc tham kho thêm các sách viết vphn mm Mathematica. Để có thgii được mt bài toán ca môn Phương pháp tính, sinh viên cn phi hiu rõ lý thuyết, biết được các yêu cu ca bài toán, biết được các tham snào cn cho bài toán để tđó có thsdng phn mm Mathematica lp trình để gii bài toán. I. Mt slưu ý khi sdng phn mm Mathematica - Mathematica phân bit gia chhoa và chthường. Do đó, chcái nào viết hoa cn phi viết hoa chcái đó. - Nhng lnh, hàm, các ký hiu, các biến có sn trong Mathematica luôn đợc bt đầu bng chin hoa. - Để thc hin mt lnh trong Mathematica, n đồng thi hai phím Shift + Enter - Các hàm, các biến tkhai báo không cn viết hoa chcái đầu tiên nhng khai báo thế nào khi dùng phi dùng đúng như vy. - Các chcái không được dùng để đặt tên: C, D, E, I, N - Vai trò ca 3 cp ngoc ( ), [ ], { } + Cp ngoc ( ) dùng để ngoc các biu thc toán hc + Cp ngoc [ ] dùng để cha các đối s, biến sca lnh, ca hàm. + Cp ngoc { } dùng để lit kê các min cho đối s, lit kê các công vic, dùng cho các mng hoc ma trn. - Tên ca các biến, các hàm tkhai báo bao gm các chcái và chs, bt đầu bng mt chcái, có thlà chthường hoc hoa. Tên này phi khác vi tên các lnh, các hàm đã có sn trong chương trình. - Phân bit gia x:=1, x=1 và x==1 x:=1 là lnh gán giá tr1 cho hng sx x=1 là l nh gán giá tr1 cho bi ến x (x có ththay đổi giá trtrong khi thc hi n chương trình) x==1 là so sánh gia giá trvế trái x có bng giá trvế phi là 1 hay không. II. Các phép toán và các hàm cơ bn - Cho hai sa, b. Mt scác phép toán: Phép cng: a+b Phép tr: a-b Phép nhân: a*b Phép chia: a/b - Mt ský hiu:

Huong Dan Thuc Hanh Ma Thematic A

Embed Size (px)

Citation preview

Page 1: Huong Dan Thuc Hanh Ma Thematic A

8/14/2019 Huong Dan Thuc Hanh Ma Thematic A

http://slidepdf.com/reader/full/huong-dan-thuc-hanh-ma-thematic-a 1/6

HƯỚNG DẪN THỰC HÀNH MATHEMATICA

Phần mềm Mathematica chỉ là một trong những công cụ hỗ trợ cho môn Phương pháptính. Do thời gian học có hạn nên trong hướng dẫn chỉ xem xét một số lệnh cơ bản đủ đểgiải quyết các bài toán có trong chương trình học. Những sinh viên nào có nhu cầu cao hơn

có thể tự học qua phần hướng dẫn Help của phần mềm hoặc tham khảo thêm các sách viếtvề phần mềm Mathematica.

Để có thể giải được một bài toán của môn Phương pháp tính, sinh viên cần phải hiểurõ lý thuyết, biết được các yêu cầu của bài toán, biết được các tham số nào cần cho bài toánđể từ đó có thể sử dụng phần mềm Mathematica lập trình để giải bài toán.

I. Một số lưu ý khi sử dụng phần mềm Mathematica

- Mathematica phân biệt giữa chữ hoa và chữ thường. Do đó, chữ cái nào viết hoa cần phải

viết hoa chữ cái đó.- Những lệnh, hàm, các ký hiệu, các biến có sẵn trong Mathematica luôn đợc bắt đầu bằngchữ in hoa.

- Để thực hiện một lệnh trong Mathematica, ấn đồng thời hai phím Shift + Enter 

- Các hàm, các biến tự khai báo không cần viết hoa chữ cái đầu tiên nhng khai báo thế nàokhi dùng phải dùng đúng như vậy.

- Các chữ cái không được dùng để đặt tên: C, D, E, I, N

- Vai trò của 3 cặp ngoặc ( ), [ ], { }

+ Cặp ngoặc ( ) dùng để ngoặc các biểu thức toán học+ Cặp ngoặc [ ] dùng để chứa các đối số, biến số của lệnh, của hàm.

+ Cặp ngoặc { } dùng để liệt kê các miền cho đối số, liệt kê các công việc, dùng cho cácmảng hoặc ma trận.

- Tên của các biến, các hàm tự khai báo bao gồm các chữ cái và chữ số, bắt đầu bằng mộtchữ cái, có thể là chữ thường hoặc hoa. Tên này phải khác với tên các lệnh, các hàm đã cósẵn trong chương trình.

- Phân biệt giữa x:=1, x=1 và x==1

x:=1 là lệnh gán giá trị 1 cho hằng số xx=1 là lệnh gán giá trị 1 cho biến x (x có thể thay đổi giá trị trong khi thực hiện

chương trình)

x==1 là so sánh giữa giá trị vế trái x có bằng giá trị vế phải là 1 hay không.

II. Các phép toán và các hàm cơ bản

- Cho hai số a, b. Một số các phép toán:

Phép cộng: a+b Phép trừ: a-b

Phép nhân: a*b Phép chia: a/b- Một số ký hiệu:

Page 2: Huong Dan Thuc Hanh Ma Thematic A

8/14/2019 Huong Dan Thuc Hanh Ma Thematic A

http://slidepdf.com/reader/full/huong-dan-thuc-hanh-ma-thematic-a 2/6

Số e: E Số π : Pi

Số ∞ : Infinity Đơn vị ảo: I

- Một số các hàm số cơ bản có sẵn:

Hàm số cơ bản Khai báo trong Math Hàm số cơ bản Khai báo trong Math

 x  Abs[x]  x  Sqrt[x] hoặc x^(1/2)

sin x  Sin[x] cos x  Cos[x]

tgx  Tan[x] cotg x  Cot[x]

arcsin x  ArcSin[x] arccos x  ArcCos[x]

arctgx  ArcTan[x] arccotg x  ArcCot[x]

loga x  Log[a,x] ln x  Log[x]

 x a a^x  x e E^x hoặc Exp(x)

III. Khai báo hàm số mới

1. Khai báo hàm một giá trị 

- Khai báo hàm một biến

Ví dụ. Muốn khai báo hàm22 2 3 3

2( ) .log (sin (2 1) ) ln x  f x x x e x  + + − ta khai báo như sau:

f[x_]:=x^2*Log[2,(Sin[2*x+1]^2 + E^(3*x^2))] - Log[x]^3

Sau khi khai báo, để tính giá trị của hàm số tại 3 x = ta dùng lệnh sau:f[3.] hoặc f[x]/.x->3

- Khai báo hàm nhiều biến

Ví dụ. Khai báo hàm 2 biến 2 2 2 2 2 2( , ) sin ( ) ( ) g x y x x y tg x y+ − −

g[x_,y_]:=x^2*Sin[x^2 + y^2] – Tan[x^2 - y^2]

Sau khi khai báo, để tính giá trị của hàm số tại 2, 1 x y = ta dùng lệnh sau:

f[2,1] hoặc f[x,y]/.{x->2,y->1}

Ví dụ. Khai báo hàm ba biến2

( , , ) cotg( )  x yz  h x y z x y z e += + − ta dùng lệnh sau:

h[x_,y_,z_]:=x*Cot[y+z] - E^(x^2+y*z)

2. Khai báo hàm vectơ 

- Khai báo một hàm vectơ 

Ví dụ. Khai báo hàm số2 2

2 3

( 2 )( , )

sin ( ). ln

 x arctg y xyF x y

 x y x  

= +

ta dùng lệnh sau:

Page 3: Huong Dan Thuc Hanh Ma Thematic A

8/14/2019 Huong Dan Thuc Hanh Ma Thematic A

http://slidepdf.com/reader/full/huong-dan-thuc-hanh-ma-thematic-a 3/6

F[x_,y_]:={x^2*ArcTan[y^2 – 2*x*y], Sin[x + y]^2*Log[x]^3}

III. Ma trận và hệ phương trình

1. Khai báo ma trận

1.1 Trong trường hợp ma trận đã biết kích thước và các phần tử của nó

- Ma trận là ma trận có 1 cột:

Ví dụ. Khai báo ma trận 3 hàng 1 cột

2

1

3

 y

=

, dùng lệnh: y={2,1,3} hoặc y={{2},{1},{3}}

- Ma trận là ma trận có 1 hàng:

Ví dụ. Khai báo ma trận 1 hàng 4 cột ( )1 4 5 2 x = , dùng lệnh: x={{1,4,5,2}}

- Ma trận kích thước bất kỳ:

Ví dụ. Khai báo ma trận 3 hàng 4 cột1 2 3 03 1 2 4

5 6 7 8

 A =

, dùng lệnh:

A={{1,2,3,0},{3,1,2,4},{5,6,7,8}}

1.2 Trong trường hợp ma trận đã biết kích thước và chưa biếtcác phần tử của nó

Trong trường hợp ma trận A kích thước m n chưa biết các phần tử của nó thì khởitạo ma trận A như sau: A=Table[,{i,1,m},{j,1,n}]

1.3 Khai báo một số ma trận đặc biệt 

- Ma trận đơn vị cấp n: IdentityMatrix[n]

- Ma trận vuông cấp n có các phần tử trên đường chéo đã biết là 1, 2, ...,a a an còn các phầntử khác bằng 0: DiagonalMatrix[a1,a2,…,an]

- Ma ma trận A kích thước m n có các phần tử ở hàng i cột j bằng một giá trị aij:

A=Table[aij,{i,1,m},{j,1,n}]

3. Lấy một phần tử của ma trận

- Nếu ta đã khai báo một ma trận A kích thước m n thì để lấy phần tử ở hàng i cột j tadùng lệnh sau đây: A[[i,j]]

- Nếu ma trận A chỉ là ma trận cột thì để lấy phần tử thứ k ta dùng lệnh sau: A[[k]]

4. Các phép toán ma trận

- Các phép toán cộng, trừ, nhân hai ma trận A và B thực hiện như sau:

A + B A – B A . B

- Phép nhân ma trận A với một số thực k thực hiện như sau: k*A

- Nếu A là ma trận vuông thì định thức được tính bởi lệnh: Det[A]- Nếu A là ma trận vuông khả nghịch thì ma trận nghịch đảo được tính bởi lệnh: Inverse[A]

Page 4: Huong Dan Thuc Hanh Ma Thematic A

8/14/2019 Huong Dan Thuc Hanh Ma Thematic A

http://slidepdf.com/reader/full/huong-dan-thuc-hanh-ma-thematic-a 4/6

- Ma trận chuyển vị của A được tính bởi lệnh: Transpose[A]

5. Hiển thị ma trận

Để hiển thị ma trận A theo cách ta đã biết, ta dùng lệnh sau: MatrixForm[A]

Chú ý. Để hiển thị ma trận nghịch đảo của ma trận A, dùng lệnh kép:

MatrixForm[Inverse[A]]

6. Tính chuẩn của ma trận

- Nếu ta đã khai báo một ma trận A kích thước m n thì ta có thể tính chuẩn vô cùng của

ma trận A như sau: Theo công thức lý thuyết:( 1,2,.. )

1

maxn

ij i m j 

 A a∞ ∈ =

= ∑ ta có lệnh:

chuanvc[A]:=Max[Table[Sum[Abs[A[[i,j]]],{j,1,n}],{i,1,m}]]

- Nếu ma trận  x  chỉ là ma trận cột có m hàng (một vectơ) thì ta có thể tính chuẩn vô cùng

của ma trận  x  như sau: Theo công thức lý thuyết:( 1 ,2 ,. . )max

i i m

 x x ∞ ∈= ta có lệnh:

chuanvc[x]:=Max[Table[Abs[x[[i]]],{i,1,m}]]

7. Giải hệ phương trình

Để giải hệ phương trình .  A x b , sau khi đã nhập các ma trận  A và b , dùng lệnh

LinearSolve[A,b]

IV. Vẽ đồ thị hàm số

1. Vẽ đồ thị hàm số trong hệ toạ độ Oxy

- Vẽ đồ thị hàm ( ) y f x  trên ( , )a b ta dùng lệnh: Plot[f[x],{x,a,b}]- Vẽ cùng một lúc hai đồ thị ( ), ( ) y f x y g x  = trên ( , )a b ta dùng lệnh:

Plot[{f[x],g[x]},{x,a,b}]

- Vẽ đồ thị hàm cho bởi phương trình tham số:( )

( )

 x x t  

 y y t  

= =

với ( , )t a b

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

Chú ý. Khi vẽ đồ thị, trục nằm ngang và trục thẳng đứng chưa chắc đã là trục tung và trục

hoành.2. Vẽ đồ thị hàm số trong hệ toạ độ Oxyz 

- Vẽ đồ thị hàm ( , ) z f x y với ( , ), ( , ) x a b y c d  ∈ ta dùng lệnh:

Plot3D[f[x,y],{x,a,b},{y,c,d}]

- Vẽ đồ thị của một hàm cho bởi phương trình tham số:

( , )

( , )

( , )

 x x t s

 y y t s

 z z t s

= = =

 

với( , ), ( , )t a b s c d  ∈

Page 5: Huong Dan Thuc Hanh Ma Thematic A

8/14/2019 Huong Dan Thuc Hanh Ma Thematic A

http://slidepdf.com/reader/full/huong-dan-thuc-hanh-ma-thematic-a 5/6

ParametricPlot3D[{x[t,s],y[t,s],z[t,s]},{t,a,b},{z,c.d}]

VI. Một số phép toán đối với hàm số

1. Tính giới hạn:

Để tính các giới hạn lim ( ), lim ( ), lim ( ), lim ( ), lim ( ) x a x x   x a x a

 f x f x f x f x f x  + −→ →∞ →−∞→

ta dùng các lệnh

sau:Limit[f[x],x->a] Limit[f[x],x->a,Direction->1] Limit[f[x],x->a,Direction->-

1]

Limit[f[x],x->Infinity] Limit[f[x],x->-Infinity]

2. Tính đạo hàm của hàm số 

- Đạo hàm cấp 1 của hàm 1 biến ( ) f x  : D[f[x],x]

- Đạo hàm cấp n của hàm 1 biến ( ) f x  : D[f[x],{x,n}]

- Đạo hàm của hàm nhiều biến ( , , ) f x y z  Ví dụ. Đạo hàm 2 lần theo x, 1 lần theo y, 4 lần theo z: D[f[x,y,z],{x,2},y,{z,4}]

- Đạo hàm của hàm vectơ:1

2

3

( , , )

( , , ) ( , , )

( , , )

 f x y z  

F x y z f x y z  

 f x y z  

=

, ta tính  x F ′ bằng lệnh: D[F[x,y,z],x]

và từ đây ta có ma trận đạo hàm F ′ được tính theo công thức:

Transpose[D[F[x,y,z],x], D[F[x,y,z],y], D[F[x,y,z],z]]

- Để tính (1,2,3)F ′ ta phải dùng lệnh sau đây:

Transpose[D[F[x,y,z],x], D[F[x,y,z],y], D[F[x,y,z],z]]/.{x->1, y->2, z->3}

- Để khai báo hàm ( , , )F x y z  ta phải dùng lệnh sau đây:

F[x_,y_,z_]:=Transpose[D[F[u,v,w],u], D[F[u,v,w],v], D[F[u,v,w],w]]/.{u->x,v->y,w->z}

3. Tính tích phân

- Để tính nguyên hàm của hàm ( ) f x  , dùng lệnh: Integrate[f[x],x]

- Để tính tích phân xác định của hàm ( ) f x  trên [ ],a b , dùng lệnh: Integrate[f[x],{x,a,b}]

- Để tính tích phân xác định của hàm ( ) f x  trên [ ],a b , kết quả hiển thị dưới dạng số thập

 phân, dùng lệnh: NIntegrate[f[x],{x,a,b}]

VII. Một số lệnh thường sử dụng

1. Lệnh tính tổng và tích một dãy số:

- Tính tổng của dãy số: 1 ...n

i k k ni k 

a a a a=

= + + + , dùng lệnh: Sum[a[i],{i,k,n}]

- Tính tổng của dãy số: 1. .....n

i k k n

i k 

a a a a=

= , dùng lệnh: Product[a[i],{i,k,n}]

Ví dụ. Tính tổng1 1 1

1 ...1! 2! 10!

+ + + , dùng lệnh: 1+Sum[1/ i!, {i,1,10}].

Page 6: Huong Dan Thuc Hanh Ma Thematic A

8/14/2019 Huong Dan Thuc Hanh Ma Thematic A

http://slidepdf.com/reader/full/huong-dan-thuc-hanh-ma-thematic-a 6/6

2. Câu lệnh điều kiện

If[điều kiện, công việc 1, công việc 2]

Khi gặp câu lệnh này, Math sẽ kiểm tra điều kiện. Nếu điều kiện đúng, sẽ thực hiệncông việc 1, nếu điều kiện sai thì sẽ thực hiện công việc 2.

Chú ý. Công việc 2 có thể không có. Khi đó nếu điều kiện sai thì Math sẽ bỏ qua lệnh này.

3. Các câu lệnh lặp

3.1 Lặp với số lần lặp biết trước

- Thực hiện một công việc n lần: Do[dãy công việc, {n}]

- Nếu trong dãy công việc thực hiện có phụ thuộc vào một tham số i  với i  chạy từ m đếnn , dùng lệnh: Do[dãy công việc, {i,m,n}]

Ví dụ. Tính tổng1 1 1

1 ...1! 2! 10!

+ + + , dùng đoạn lệnh sau:

S=1Do[S=S+1/ i!, {i,1,10}]

Chú ý. Dãy công việc bao gồm k công việc thực hiện liên tiếp nhau, có thể khai báo nhưsau:

{công việc 1, công việc 2, …công việc k} hoặc công việc 1;công việc 2; …; công việc k 

3.2 Lặp với số lần lặp không biết trước

While[điều kiện, dãy công việc]

Khi gặp câu lệnh này, Math sẽ kiểm tra điều kiện. Nếu điều kiện đúng thì thực hiệndãy công việc, nếu điều kiện sai thì Math sẽ kết thúc lệnh này và chuyển sang lệnh tiếp theo.

4. Câu lệnh hiển thị 

- Để hiển thị một đoạn ký tự “So lan lap la”, ta dùng lệnh: Print[“So lan lap la”]

- Để hiển thị giá trị của một biến  x , ta dùng lệnh sau: Print[x]

- Nếu muốn hiển thị cùng một lúc nhiều đoạn ký tự và giá trị các biến, ta đặt chúng tronglệnh Print và được cách nhau bởi dấu phẩy.

- Để trình bày hiển thị theo một dòng đã định sẵn, ta dùng thêm lệnh StringForm

Ví dụ. Đã biết giá trị biến 7, 2, 3n x y= = và ta muốn hiển thị nó dưới dạng:

Sau 7 lần lặp, giá trị của x=2, y=3 ta dùng câu lệnh sau đây:

Print[StringForm[“Sau `` lan lap, gia tri x = ``, y= ``”, n, x, y]]

Lệnh StringForm sẽ chèn các giá trị n, x, y lần luợt vào các `` tương ứng.

5. Thay đổi giá trị của biến nguyên

Để thay đổi giá trị biến nguyên n thêm i  đơn vị, dùng lệnh: n+=i

Chú ý. Để tăng n 1 đơn vị ta có thể dùng lệnh n+=1 hoặc n++. Để giảm n 1 đơn vị ta có

thể dùng lệnh n-=1 hoặc n- -