Matlab trong toán học

Một phần của tài liệu ỨNG DỤNG MÁY TÍNH TRONG MÔ PHỎNG ĐỘNG CƠ ĐỐT TRONG (Trang 32 - 41)

2.1. Matlab và một số hàm tính cơ bản

2.1.2. Matlab trong toán học

MATLAB cũng sử dụng các phép tốn thơng thường, được liệt kê ở bảng sau:

Ký tự Ý nghĩa Lệnh MATLAB

+ Phép tính cộng a+b a+b

- Phép tính trừ a-b a-b

* Phép tính nhân a*b a*b

/ Phép tính chia phải a/b=a/b a/b

\ Phép tính chia trái a\b=b/a b/a

^ Mũ a^b a^b

Các hàm tính tốn thơng thường trong MATLAB cũng được liệt kê ở bảng sau:

abs(x) Tính Argument của số phức x

acos(x) Hàm ngược của cosin

angle(x) Tính góc của số phức x

asin(x) Hàm ngược của sin

atan(x) Hàm ngược của tan

exp(x) Hàm mũ của x

fix(x) Xấp xỉ khơng

round(x) Hàm làm trịn về số ngun tố

log(x) Hàm logarithm tự nhiên

log10(x) Hàm logarithm cơ số 10

sin(x) Hàm sin của x

cos(x) Hàm cosin của x

tan(x) Hàm tangent của x

sqrt(x) Hàm căn bậc hai

floor(x) Xấp xỉ âm vô cùng conj(x) Số phức liên hợp

Sau đây là các ví dụ ứng dụng một số hàm của MATLAB để giải một số bài toán đại số. Việc ứng dụng các lệnh này giúp cho q trình tính tốn trở nên dễ dàng, chính xác, tiết kiệm thời gian.

1) Giải phương trình vi phân bằng MATLAB

Ví dụ 2.1. Giải phương trình vi phân: X’=-a*X

Ta tiến hành gõ lệnh trong môi trường Command Windown như sau: X=dsolve('Dx=-a*x')Enter được nghiệm X =C2/exp(a*t)

Ví dụ 2.2. Giải phương trình vi phân: Y’=y+sin(t)

Ta tiến hành gõ lệnh trong môi trường Command Windown như sau: Y=dsolve('Dy=y+sin(t)')

Enter được nghiệm Y =C4*exp(t) - sin(t)/2 - cos(t)/2

Ví dụ 2.3. Giải hệ phương trình vi phân: X’=y, y’=-x

Ta tiến hành gõ lệnh trong môi trường Command Windown như sau: Z=dsolve('Dx=y','Dy=-x')(ta dùng 1 biến Z để làm trung gian) Z = x: [1x1 sym]

y: [1x1 sym]

Rồi bấm tiếp Z.xEnter thì được Z.x enter

ans =C6*cos(t) + C5*sin(t)--->>>>Vậy suy ra được nghiệm x= C6*cos(t) + C5*sin(t). Đây chính là nghiệm x.

Bấm Z.yEnter

ans =C5*cos(t) - C6*sin(t) --->>>>Vậy suy ra nghiệm của y = C5*cos(t) - C6*sin(t). Đây chính là nghiệm y.

2) Tính giá trị của hàm số tại 1 điểm

Ban đầu ta phải khai báo tất cả các biến có trong hàm số.

Ví dụ 2.4. Tính giá trị của hàm số f=2*x2 +1 tại điểm x=2.

Ta tiến hành thực hiện các lệnh như sau:

Syms x(Lệnh này dùng để khai báo biến trong hàm số f). >> f=2*x^2+1 (Nhập hàm số f).

F =2*x^2 + 1

ans =9

Ngồi ra ta có thể mở rộng tính giới hạn của hàm số trên tại điểm x=0.

3) Tính giới hạn của hàm số

- Tính giới hạn của hàm số tại 1 điểm

Ví dụ 2.5. Tính giới hạn của hàm số từ ví dụ 2.4 tại điểm 0

Ta tiến hành nhập lệnh giới hạn trong môi trường Command Windown. Cú pháp như sau:

>> limit(f,x,0) Enter

ans =1(Đây chính là kết quả giới hạn của hàm số f tại x=0)

Tương tự cho việc tính giới hạn của hàm số ví dụ như: limit(sin(x)/x,0) thì được 1,miễn là khai báo biến symsxy.

Trong MATLAB giá trị vô cùng được thực hiện bởi inf Nhớ là khai báo biến syms x y

Cú pháp limit(((1+x)./x).^x,x,inf) được kết quả exp(1) - Tính giới hạn của hàm số về phía trái và về phía phải Syms x y

Cú pháp f=x^2 -3*x+1 >> limit(f,x,0,'left') ans =1

Tương tự cho trường hợp tính giới hạn của hàm số về bên phải Cú pháp được nhập như sau:

limit(f,x,0,'right') Enter ans=1

4) Tính đạo hàm của hàm số

- Đạo hàm cấp 1

Ví dụ 2.6. Tính đạo hàm cấp 1 của hàm số f= sin(x)

Việc đầu tiên là khai báo biến x Cú pháp được nhập như sau: Syms x y

f=sin(x) (Khai báo hàm).

Diff(f,x) Enter (Cú pháp tính đạo hàm cấp 1) ans =cos(x)(Đây chính là kết quả).

Sau đó tính tiếp đạo hàm cấp 2 từ kết quả trên diff(ans,x) Enter

ans=-sin(x)

- Tính đạo hàm lần thứ n cú pháp như sau: diff(f,x,n).

5) Tính nguyên hàm của hàm số

Ví dụ 2.7. Tính nguyên hàm của hàm số f= x2- 3*x +1

Khai báo biến: syms x

x^2 -3*x+1 (Nhập hàm số cần tính nguyên hàm)

int(f,x)(Cú pháp tính nguyên hàm). Sau đó nhấn Enter được kết quả.

6) Tính tích phân của hàm số

Ví dụ 2.8.Tính tích phân của hàm số đã cho với cần chạy từ 0 tới 1 của hàm f= 2 0 x^2 - 3*x + 1  Thứ tự làm như sau: Khai báo biến x Nhập hàm cần tính Nhập cú pháp cần tính

int (f,x,0,2)(Cú pháp tính tích phân của một hàm số).

7) Tính giá trị của một hàm chứa các biến x, y tại 1 điểm

Ví dụ 2.9.Tính giá trị của hàm số đã cho trong ví dụ 2.7tại x=2 và y=3

Hàm f=x^2*y^3 -3*x*y^2.

Cú pháp nhập như sau:

Subs(subs(f,x,2),y,3) được kết quả 54 hoặc cách hay hơn là: Subs(f,{x,y},{2,3}). Việc tính giá trị của hàm này là đơn giản, với các

hàm phức tạp ta ứng dụng cú pháp như trên và tính ra kết quả chính xác trong thời gian ngắn.

8) Tính giá trị của đa thức và các vấn đề về đa thức:

Ví dụ 2.10. P1=2*x2+ 2*x-1,tính giá trị của biểu thức này tại x=2.

Khai báo ma trận p1=[2 2 -1]

Polyval(p1,2)=11 (Cú pháp tính giá trị của đa thức này tại x=2 và được kết quả là 11).

Ví dụ 2.11.Tìm nghiệm của đa thức trên: P1=2*x2+ 2*x-1

p1=[2 2 -1](Khai báo ma trận). Roots(p1)= -1.3660

Và 0.3660

Ví dụ 2.12. Phân tích đa thức sau thành nhân tử f=x^6+1.

Tiến hành như sau: >> syms x

>> f=x^6+1 >> factor(f)

ans =(x^2 + 1)*(x^4 - x^2 + 1).

9) Nhập ma trận giá trị (mảng giá trị):

- A=[0: 2: 10] theo đó được hiểu là giá trị ban đầu là 0, giá trị cuối cùng là 10 và bước nhảy là 2. Hoặc cách thứ 2 là viết không cần dấu ngoặc vuông cũng ra kết quả như nhau, nhưng trong bài làm ta để dấu ngoặc vuông cho dễ thấy:

>> A=[0: 2: 10](Cú pháp nhập). A = 0 2 4 6 810

Nếu A=[0: 10] thì mặc định bước nhảy là 1. Được thể hiện rõ như sau:

>> A=[0: 10]

A = 0 1 2 3 4 5 6 7 8 910

Trong màn hình Command Windown nếu cuối một câu lệnh về giá trị ma trận được đánh dấu chấm phẩy thì nó khơng hiện ra các giá trị đầu, cuối và bước nhảy. Cịn nếu khơng đánh thì nó sẽ tính ra các giá trị đó.

- Ngồi ra cịn có hàm linspace cú pháp như sau: A=linspace(a,b,c) trong đó a là giá trị đầu, b là giá trị cuối và c là số giá trị cần chia giữa hai giá trị đầu và cuối.

A=linspace(0,10,5)(Nhập cú pháp). A = 02.50005.00007.5000 10.0000 - Tạo mảng với ma trận đại số:

A=

1 2 3

4 5 6

7 8 9

đây là cách viết của ma trận trong đại số. Bây giờ ta triển khai chúng trong MATLAB bằng cách viết như sau:

Nhập ma trận A=[1 2 3;4 5 6;7 8 9]Chú ý ngăn cách một hàng là một dấu chấm phẩy. A = 1 2 3 4 5 6 7 8 9 Ma trận chuyển vị thì A’. 10) Các phép tốn ma trận

A*B : hai ma trận nhân với nhau.

A.*B : từng phần tử trong ma trận A nhân với ma trận B.

Với ma trận trên A ở trên bây giờ ta thực hiện phép tính nhân hai ma trận với nhau và nhân từng phần tử trong ma trận A với ma trận A và tính định thức của ma trận. A=[1 2 3; 4 5 6;7 8 9] Giải: A = 1 2 3 4 5 6 7 8 9 >> A*A ans = 303642

668196 102 126 150 >> A.*A ans = 1 4 9 162536 496481

Muốn biết kích thước của ma trận có bao nhiêu hàng, bao nhiêu cột ta dùng lệnh: Size(tên ma trận) là được.

Ví dụ 2.13.Tính kích thước của ma trận A=[ 0 1 2;3 4 5].

Cú pháp nhập: A=[ 0 1 2;3 4 5] Enter A = 0 1 2 3 4 5 >>size(A) ans = 2 3 (Trong đó: ‘2’ là số hàng,’3’ là số cột). 11) Vẽ đồ thị

Vẽ đồ thị thường được ứng dụng nhiều nhất trong kỹ thuật, việc vẽ đồ thị giúp người dùng đánh giá được tính năng cụ thể của một vấn đề nào đó tại 1 điểm hoặc trên tồn miền, từ đó đưa ra các biện pháp cải tiến khác nhau.

Nhập biến chạy, dùng lệnh plot.

Ký hiệu Màu sắc r Đỏ g Xanh lá cây b Xanh da trời c Màu lục lam m Màu đỏ tươi y Màu vàng k Màu đen w Màu trắng Ví dụ 2.14.Vẽ đồ thị hàm số y=sin(x).

Cú pháp nhập như sau: x=[0: 0.002: pi] (Chú ý bước nhảy càng nhỏ thì càng mịn).

>> y=sin(x); >> plot(x,y)

Một số lệnh vẽ cơ bản cần nhớ trong MATLAB:

plot(x,y,'r'): lệnh này dùng để vẽ đồ thị ứng với đường màu gì tùy thích, 'r' ở đây là màu đỏ.

xlabel('gia tri x'): tên của trục hoành được hiển thị trên đồ thị. ylabel('gia tri y'): tên của trục tung được hiển thị trên hình. title('do thi xy'): tên của đồ thị cần vẽ.

grid on: tạo lưới cho đồ thị cần vẽ. grid off: bỏ lưới cho đồ thị.

Hold on: vẽ hai đồ thị lên cùng hệ trục tọa độ.

Legend (‘đối tượng cần chú thích’): chú thích đồ thị đã vẽ vị trí này được phần mềm mặc định tại một chỗ.

Gtext (‘đối tượng cần chú thích’): chú thích đối tượng đã vẽ bất cứ ở vị trí nào.

Plot(x,y,’màu đồ thị’,’linewidth’, a), trong đó a là độ dày của đường đồ thị.

Nếu muốn vẽ đồ thị nằm trong một đoạn nào đó thì ta thực hiện lệnh fplot.

Cú pháp như sau: khai báo hàm số cần vẽ, tiếp theo là dùng lệnh fplot(hàm cần vẽ,[đoạn cần vẽ]).

Ví dụ 2.15.Vẽ đồ thị của hàm số sin(x) khi x chạy từ 0 đến pi.

Cú pháp nhập như sau:

>> f='sin(x)' (Cần chú ý là khai báo nằm trong dấu nháy trên). F =sin(x)

>> fplot(f,[0,pi])

Ghi chú:

- Muốn biết chi tiết về một đối tượng nào đó thì gõ theo cú pháp: doc A trong đó A là đối tượng cần tìm hiểu, ex: doc plot…

- Hai đồ thị nằm trên hai hình khác nhau thì thay lệnh hold on thành figure. Ví dụ 2.16.Vẽ đồ thị sin(x) và cos(x). Có thể làm như sau: a=[0: 0.001: 2*pi]; x=sin(a); y=cos(a); subplot(1,2,1) plot(a,x,'r') title('do thi sin') subplot(1,2,2) plot(a,y,'b') title('do thi cos')

Ví dụ 2.17. Vẽ đồ thị sin(x) và cos(x) ở 2 cửa sổ riêng biệt:

a=[0: 0.001: 2*pi]; x=sin(a); y=cos(a); plot(a,x,'r') figure plot(a,y,'b')

BÀI TẬP

Bài 2.1: Vẽ đồ thị y=7*x+5 và đồ thị z=5*x-2 với x =[0;8] trên cùng một trục toạ độ và trên 2 trục toạ độ khác nhau, với đồ thị y có màu đỏ, đồ thị z có màu xanh lá cây.

Bài 2.2: Vẽ đồ thị hàm số y=sin(2*a)*cos(2*a) với a là góc chạy từ

0 đến 2*pi trong đồ thị toạ độ cực.

Bài 2.3: Vẽ đồ thị đặc tính ngồi áp dụng cơng thức SR.Lây Đécmam của hai động cơ của hai hãng xe cụ thể khi cùng thể tích cơng tác, rút ra nhận xét đánh giá về hai động cơ này.

Một phần của tài liệu ỨNG DỤNG MÁY TÍNH TRONG MÔ PHỎNG ĐỘNG CƠ ĐỐT TRONG (Trang 32 - 41)

Tải bản đầy đủ (PDF)

(88 trang)