tóm tắt một số lệnh cơ bản của mathematica

4
Tóm t›t mºt sL l»nh cơ b£n cıa Mathematica Đng Nguyên Phương * Ngày 29 tháng 11 năm 2013 Các chi ti‚t c th” và ví d có th” đưæc xem t/i http://reference.wolfram.com/mathematica/guide/Mathematica.html 1 Cơ b£n Các phép tính: +, -, * (hay kho£ng tr›ng), /, ˆ (hàm mũ),... In [1]:= 2^2 Out [1]= 4 Phép so sánh: >, <, ==, >=, <=, != (ss không b‹ng),... Phép gán: =, := (gán tr„) Cp ngoc vuông [] đưæc sß dng đ” bao các tham sL cıa hàm; cp ngoc tròn () đưæc sß dng đ” nhóm các bi”u thøc toán hc; và cp ngoc nhn {} đưæc sß dng đ” bao các phƒn tß cıa mºt t“p hæp. Các hàm toán hc: Sin[], ArcCos[], Sqrt[],... In [1]:= Sqrt [2] Out [1]= 2 Nh“n k‚t qu£ sL: % // N (% đưæc dùng đ” đ/i di»n cho k‚t qu£ nh“n đưæc trưc đó) In [1]:= 1/2 Out [1]= 1 2 In [2]:= % // N Out [2]= 0.5 hay N[expression,precision] In [1]:= N[1/2 ,3] Out [1]= 0.500 Đ/i sL Khai tri”n: Expand[expression] In [1]:= Expand [( x + 1)^2] Out [1]= 1+2 x + x ^2 Rút gn: Factor[expression] In [1]:= Factor [ x ^2 - 2 * x + 1] Out [1]= ( -1+ x )^2 Vi tích phân Đ/o hàm: D[expression,variable] In [1]:= D[ x ^5 - 3 * x * y - 2, x ] Out [1]= 5 x ^4 - 3 y Tích phân: Integrate[expression,variable] hay Integrate[expression,{variable,min,max}] * [email protected] 1

Upload: nguyenphuongdang

Post on 16-Apr-2017

228 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Tóm tắt một số lệnh cơ bản của Mathematica

Tóm tắt một số lệnh cơ bản của Mathematica

Đặng Nguyên Phương∗

Ngày 29 tháng 11 năm 2013

Các chi tiết cụ thể và ví dụ có thể được xem tại

http://reference.wolfram.com/mathematica/guide/Mathematica.html

1 Cơ bản

• Các phép tính: +, −, ∗ (hay khoảng trắng), /,ˆ(hàm mũ),...

In [ 1 ] := 2^2Out [1 ]= 4

• Phép so sánh: >, <, ==, >=, <=, ! = (ss không bằng),...

• Phép gán: =, := (gán trễ)

• Cặp ngoặc vuông [] được sử dụng để bao các tham số của hàm; cặp ngoặc tròn () được sử dụng để nhóm cácbiểu thức toán học; và cặp ngoặc nhọn {} được sử dụng để bao các phần tử của một tập hợp.

• Các hàm toán học: Sin[], ArcCos[], Sqrt[],...

In [ 1 ] := Sqrt [ 2 ]

Out [1 ]=√2

• Nhận kết quả số: % // N (% được dùng để đại diện cho kết quả nhận được trước đó)

In [ 1 ] := 1/2Out [1 ]= 1

2

In [ 2 ] := % // NOut [2 ]= 0 .5

hay N[expression,precision]

In [ 1 ] := N[ 1 / 2 , 3 ]Out [1 ]= 0.500

• Đại số

– Khai triển: Expand[expression]

In [ 1 ] := Expand [ ( x + 1) ^2]Out [1 ]= 1 + 2 x + x^2

– Rút gọn: Factor[expression]

In [ 1 ] := Factor [ x^2 − 2∗x + 1 ]Out [1 ]= (−1 + x )^2

• Vi tích phân

– Đạo hàm: D[expression,variable]

In [ 1 ] := D[ x^5 − 3∗x∗y − 2 , x ]Out [1 ]= 5 x^4 − 3 y

– Tích phân: Integrate[expression,variable] hay Integrate[expression,{variable,min,max}]

[email protected]

1

Page 2: Tóm tắt một số lệnh cơ bản của Mathematica

Đặng Nguyên Phương Tài liệu nội bộ NMTP

In [ 1 ] := In t e g r a t e [28∗ x + 10∗y , x ]Out [1 ]= 14 x^2 + 10 x y

In [ 2 ] := In t e g r a t e [28∗ x + 10∗y , {x , 0 , 10} ]Out [2 ]= 1400 + 100 y

– Tổng: Sum[expression,variable] hay Sum[expression,{variable,min,max}]

In [ 1 ] := Sum[ x , x ]Out [1 ]= 1

2(−1 + x ) x

In [ 2 ] := Sum[ x^2 , {x , 0 , 10} ]Out [2 ]= 385

2 List, table

• List: List[item1,item2,...]

In [ 1 ] := L i s t [ a , b , c , d ]Out [1 ]= {a , b , c , d}

• Table: Table[expression,{variable,min,max,step}] or Table[expression,{list}]

In [ 1 ] := Table [ i^2 , {i , 10} ]Out [1 ]= {1 , 4 , 9 , 16 , 25 , 36 , 49 , 64 , 81 , 100}

• Vẽ list và table: ListPlot[list_or_table]

In [ 1 ] := L i s tP l o t [ Table [ { Sin [ n ] , Sin [ 2 n ] } , {n , 5 0 } ] ]

3 Hàm, phương trình

• Định nghĩa hàm: function_name[variable_]:= definition

In [ 1 ] := f [ x_ ] := x^2 − Sin [ x ]In [ 2 ] := f [ 1 ]Out [2 ]= 1 − Sin [ 1 ]In [ 3 ] := % // NOut [3 ]= 0.158529

• Trong trường hợp hàm là biểu thức đại số, ta có thể sử dụng toán tử thay thế (/.) thay vì khai báo một hàm

In [ 1 ] := x^2 − Sin [ x ]Out [1 ]= x^2 − Sin [ x ]In [ 2 ] := % / . x −> 1Out [2 ]= 1 − Sin [ 1 ]In [ 3 ] := % // NOut [3 ]= 0.158529

• Giải phương trình: Solve[equation,variable]

In [ 1 ] := f = x^4 − 3∗x^2 + 1Solve [ f == 0 , x ]

Out [1 ]= 1 − 3 x^2 + x^4

Out [2 ]= {{x −> 12

(−1 −√5) } , {x −> 1

2(1 −

√5) } ,

{x −> 12

(−1 +√5) } , {x −> 1

2(1 +

√5) }}

2

Page 3: Tóm tắt một số lệnh cơ bản của Mathematica

Đặng Nguyên Phương Tài liệu nội bộ NMTP

• Giải số phương trình: NSolve[equation,variable]

In [ 1 ] := NSolve [ x^4 − 3∗x^2 + 1 == 0 , x ]Out [1 ]= {{x −> −1.61803} , {x −> −0.618034} , {x −> 0.618034} , {x −> 1.61803}}

• Giải phương trình vi phân: DSolve[equation,dependent_variable,independent_variable]

In [ 1 ] := DSolve [ y ’ [ x ] + y [ x ] == a Sin [ x ] , y [ x ] , x ]Out [1 ]= {{y [ x ] −> E−x C[ 1 ] + 1

2a (−Cos [ x ] + Sin [ x ] ) }}

4 Đồ thị

• Đồ thị hàm 1 chiều: Plot[function,{variable,min,max}]

In [ 1 ] := Plot [ Sin [ x ] , {x , 0 , 6∗Pi } ]

• Vẽ cùng lúc nhiều đồ thị: Plot[{f1,f2,...},{variable,min,max}]

In [ 1 ] := Plot [ { Sin [ x ] , Sin [ 2∗ x ] , Sin [ 3∗ x ] } , {x , 0 , 2∗Pi } , PlotLegends −> " Expres s ions " ]

• Đồ thị hàm 2 chiều dạng contour: ContourPlot[f,{variable1,min1,max1},{variable2,min2,max2}]

In [ 1 ] := ContourPlot [ Cos [ x ] + Cos [ y ] , {x , 0 , 4 Pi } , {y , 0 , 4 Pi } ]

• Đồ thị hàm 2 chiều dạng 3D: Plot3D[f,{variable1,min1,max1},{variable2,min2,max2}]

In [ 1 ] := Plot3D [ Cos [ x ] + Cos [ y ] , {x , 0 , 4 Pi } , {y , 0 , 4 Pi } ]

3

Page 4: Tóm tắt một số lệnh cơ bản của Mathematica

Đặng Nguyên Phương Tài liệu nội bộ NMTP

5 Lệnh điều kiện

• Điều kiện If: If[condition,t,f,u] (cho t nếu condition được thỏa, f nếu condition không thỏa, và u nếukhông nằm trong 2 trường hợp trên).

In [ 1 ] := abs [ x_ ] := I f [ x < 0 , −x , x ]abs [ −1 .5 ]

Out [2 ]= 1 .5

• Điều kiện Switch: Switch[expression,form1,value1,form2,value2,...] (so sánh expression với form1,form2,... và trả về giá trị valuei tương ứng với formi đầu tiên trùng).

In [ 1 ] := r [ x_ ] := Switch [Mod[ x , 2 ] , 0 , Pr int [ "Even number" ] , 1 ,Pr int [ "Odd number" ] ]

In [ 2 ] := r [ 3 ]Odd number

In [ 3 ] := r [ 1 0 ]Even number

6 Vòng lặp

• Vòng lặp For: For[start,condition,increase,body] (khởi đầu với start, lặp lại body và tăng theo increasecho đến khi condition không còn thỏa)

In [ 1 ] := For [ i = 1 ; t = x , i^2 < 10 , i++, t = t^2 + i ; Pr int [ t ] ]1+x2

2+(1+x2 )2

3+(2+(1+x2 )2 )2

• Vòng lặp Do: Do[expression,{variable,min,max,step}] (đánh giá biểu thức expression với biến variabletăng từ min đến max)

In [ 1 ] := Do [ Pr int [ { i , j } ] , {i , 4} , {j , i − 1} ]{2 ,1}{3 ,1}{3 ,2}{4 ,1}{4 ,2}{4 ,3}

hay Do[expression,{variable,list}] (sử dụng giá trị từ trong list)

In [ 1 ] := list = {2 , 3 , 5}Out [1 ]= {2 , 3 , 5}In [ 2 ] := Do [ Pr int [ { i , j } ] , {i , list } , {j , i − 1} ]

{2 ,1}{3 ,1}{3 ,2}{5 ,1}{5 ,2}{5 ,3}{5 ,4}

• Vòng lặp While: While[condition,body] (đánh giá condition và sau đó lặp body cho đến khi conditionkhông còn thỏa)

In [ 1 ] := x = 3Out [1 ]= 3In [ 2 ] := While [ x > 0 , Pr int [ x ] ; x = x − 1 ]

321

4