1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Làm quen với MATLAP pptx

19 267 1
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 4,73 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tên_ biến = giá trị hoặc biểu thức tính toán được + Biến variable trong Matlab la †1 kí hiệu được sử dụng để chứa 1 giá trị.. + Bên phải toán tử gán = là một giá trị hoặc một biểu thức

Trang 1

C1 LAM QUEN VOI MATLAB

1.1 Vai nét vé Matlab

Matlab vừa là một ngôn ngữ lập trình vừa là một phần mềm ứng dụng tính toán rất hiệu quả

Khởi động Matlab màn hình deskfop mặc định như hình Sau:

Eile Edit View Web ‘window Help

Oe BS | Bp] 2B | current rectory: [omar aBensiwork xị |

aw ll | ai | Hy Stak [Bee Using Toolbox Path Cache Type “help toolbox_path_cact 4]

Name [size | Bytes| Class To get started, select "MATLAB Help" from the Help menu

>>

ni —_—:

(mney Workspace Current Directory

# 10/11/04 6:52 PH %

| 4) Start | Ready 4 ị Dm

e Cửa sổ : Command Window ( Của số lệnh ) là nơi chúng ta làm việc với chương trình Matlab Matlab hiển

thị dấu nhắc >> khi sẵn sang làm việc và trước khi vào

lệnh ta phải để con trổ ngay sau dấu nhắc

Trang 2

e Sau khi vao xong 1 lệnh nào đó ta nhấn phím Enter dé

Matlab thi hành , các kết quả sẽ hiển thị ngay trên cửa

sổ lệnh Khi vào lệnh nếu thấy sai, nhấn phím Esc để

xóa dòng lệnh và vào lại dòng lệnh

e Matlab cho phép dùng phím 1†để lấy lại các dòng lệnh

đã vào trước đó từng dòng một sau đó tiến hành sữa nội dung (Edi9 dòng lệnh này bằng cách dùng các

phím mũi tên trái phải ‹.-› và các phim Back Space,

Delete nhằm giảm thời gian vào lệnh

e Trên màn hình desktop còn có cửa số Command History là nơi ghi lại toàn bộ các dòng lệnh đã vào trên cửa sổ lệnh, ta có thể copy 1 dòng lệnh trên cửa sổ Command History bằng cách dùng con chuột chiếu sáng dòng lệnh , xong giữ phím trái chuột , kéo và thả vào cửa số lệnh

I.2 Làm quen với các lệnh cơ bản của Matlab

1 Các phép toán số học trên các vô hướng:

Matlab

/ Chia phai a/b = : a/b

Trang 3

+ Luu y : Phép tinh chia trai : 7/2 = 2\7 = 3.5 ( nét gach

nghiêng ngã về mẫu số )

+ Matlab hiển thị số : 3.456 x10 dưới dạng 3.456e+03 + Matlab thực hiện các phép tính với độ chính xác cao,

nhưng ở chế độ mặc định chỉ hiển thị 4 chữ số thập

phân

2 Thứ tự ưu tiên các phép toán

tính từ cặp trong cùng nhất

qua phải

tiên, được tính từ trái qua

phải

tiên, được tính từ trái qua

phải

+ Nên dùng thêm các cặp dấu ngoặc trong trường hợp

tính toán các biểu thức phức tạp, chúng làm biểu thức trở

nên dễ đọc, tránh các sai sót khi viết biểu thức

đ Toán tử gán

Toán tử = trong Matlab được gọi là toán tử gán hoặc thay thế

Mẫu dòng lệnh dùng phép gán như sau :

Trang 4

Tên_ biến = giá trị hoặc biểu thức tính toán được

+ Biến ( variable ) trong Matlab la †1 kí hiệu được sử dụng

để chứa 1 giá trị

+ Tên biến ( variable name ) : bắt đầu bằng một chữ cái

(letter ), tiếp theo là các chữ cái, chữ số hoặc kí tự gạch

chân Tối đa là 31 kí tự, Matlab phân biệt rõ chữ hoa chữ

thường Các tên biến ví dụ volume, Volume, VOLUME

biểu thị các biến khác nhau Tên biến xuất hiện bên trái

toán tử gán = và chỉ một tên biến mà thôi

+ Bên phải toán tử gán = là một giá trị hoặc một biểu thức mà Matlab có thể tính toán được Nếu biểu thức này

có chứa các biến thì các biến này phải có giá trị xác định trước : chúng được gán hoặc tính toán từ những dòng lệnh trước

+ Ví dụ :

e Phép gán : x + 2 = 20 là sai vì bên trái toán tử gán

không phải là 1 tên biến

e Phép gán : x = 5 + y chỉ đúng nếu giá trị của biến y

đã được xác định từ trước, nếu không Matlab sẽ báo sai

e >>x=5;

>>X=X+3;

Phép gán đầu gán biến x giá trị bằng 5 , phép gán

sau có nghĩa là giá trị mới của x bắng giá trị cũ của

x ( đã được xác định là 5 ) cộng với 3 Sau 2 phép gán x có giá trị là 8

Trang 5

Vậy toán tử gán =, không mang ý nghĩa sự bằng

nhau theo nghĩa toán học mà nó chỉ thay thế giá trị tính được ỏ vế phải vào ô nhó của biến bên vế trái

4 Các lệnh quản lí một phiên làm việc:

Việc chúng ta vào lệnh và Matlab trả lời trên cửa số lệnh

theo kiểu hồi , đáp được Matlab gọi là một phiên làm việc

tương tác hoặc đơn giản hơn là một phiên làm việc

Trong Matlab Workspace( không gian làm việc ) quản lí tên, kích thước và giá trị của các biến được dùng trong

phiên làm việc hiện hành

Name Size Bytes] Class

Ha 1x1 8) double array

Fp ixl 8) double array

EH: 1x1 8| dnuhle array

Cửa số Workspace chứa 3 biến a,b,c

Một số lệnh thông dụng của Matlab được tóm tắt trong

bảng sau:

chất hình thức,giá trị các biến vẫn

tồn tại

Trang 6

khỏi bộ nhớ

Exist(‘name’) Hỏi Matlab xem có tồn tại tập tin hay

biến đã được thành lập có tên là

name chưa?

Quit Thoát khỏi chương trình Matlab

bộ nhớ

thước của chúng trong bộ nhớ và chỉ

rõ phần ảo của chúng nếu có

Dấu chấm phẩy ; ở cuối dòng lệnh

ngăn không cho Matlab hiển thị các kết quả ra cửa sổ lệnh

Khi dòng lệnh quá dài cần xuống dong , dau 3 chấm ở cuối dòng lệnh báo cho Matlab biết dòng lệnh còn tiếp tục ở dòng tiếp theo

Dấu phẩy , ngăn cách các phần tử

trong 1 mảng

Dấu 2 chấm : được dùng để phát

sinh một mảng có các phần tử cách đều nhau

% Dấu phần trăm % Matlab xem những

gì sau dấu % là lời bình, lời chú giải cho dòng lệnh Thường dùng khi viết chương trình

Trang 7

+ Nếu dòng lệnh có dấu chấm phẩy ; ổ cuối dòng Matlab

sẽ không hiển thị kết ra màn hình sau khi tính nhưng vẫn giữ giá trị của biến trong bộ nhớ Ví dụ :

>>x=D5+10”3

x=

35

>> y = 34241;

>>y

y=

10

+ Khi dòng lệnh exist(‘name’) dé héi, néu Matlab tra Idi 1 thì biến name đã tồn tại, nếu là 0 thì biến đó chưa được

tạo ra

+ Matlab luôn giữ giá trị sau cùng của biến trong bộ nhớ

trừ khi ta đã thoát khổi Matlab bằng lệnh gqưif hoặc xóa

biến đó đi bằng lệnh clear tên_ biến.Muốn biết giá trị hiện

hành của 1 biến nào đó ta chỉ cần vào tên biến, xong Enter

+ Lệnh cíclau màn hình cửa số lệnh cho sạch sẽ, dễ nhìn, nó không tác động gì đến các giá trị của các biến trong Workspace

5 Các hàm lập sẵn trong Matlab

Matlab có hằng trăm hàm được xây dựng sẵn, ví dụ hàm lấy căn bậc 2 sqrt, hàm sin Cặp dấu ngoặc đơn ( ), được viết đi sau tên hàm, bao lấy đối số của hàm có thể là số hoặc biểu thức tính được Lưu ý : Tên các hàm được viết

bằng chữ thường Ví dụ:

Trang 8

>> Z = sqrt(25)

Z=

5

>> y=sin(pi/4)

y=

0.7071

Cac ham théng dung trong Matlab

sqrt(x) : ham rut can bac hai vx

exp(x) : ham e*(e = 2,71828 )

log(x) : hàm lôgarit tự nhiên ( cơ số e )

log10(x): hàm lôgarit cơ số 10

sin(x) : ham sin

cos(x) : ham cos

tan(x) : ham tang

cot(x) : ham cotang

asin(x) : ham arcsin

acos(x) : ham arccos

atan(x) : ham arctang

atan2(y,x) : trả về 1 cung (góc) @ (radian) nam trong khoảng [ -z.z], sao cho tang z = y/x Ví dụ

atan2(1,-1) có kết quả là 2,3562 Đây chính là góc

tạo bởi trục Ox và tia OM với điểm M có toa dé (x,y)

acot(x) : hàm arccotang

sinh(x) : ham sin hyperbolic, có hàm ngược là hàm asinh(x)

cosh(x) : hàm cos hyperbolic, có hàm ngược là hàm

acosh(x)

Trang 9

e tanh(x) : ham tang hyperbolic, c6 hàm ngược là ham atanh(x)

e coth(x) : hàm cotang hyperbolic, có hàm ngược là hàm acoth(x)

e abs(x) : hàm lấy giá trị tuyệt đối hoặc môđun của số

phức

e rem(x,y) : trả về phần dư khi chia x cho y Ví dụ

rem(10,3) = 1

e round(x): hàm làm tròn đến số nguyên gần nhất

Ví dụ : round(3.8) = 4, round(3.49) = 3, round(3.5) = 4

e ceil(x): ham làm tròn đến số nguyên gần nhất dướng

về dương vô cực œ

Ví dụ : ceil(3.1)= 4, ceil(-3.9) = -3

e floor(x) : hàm làm tròn đến số nguyên gần nhất

hướng về âm vô cực -«

e fix(x) : hàm làm tròn đến số nguyên gần nhất hướng

về zero

e sign(x) : ham signum

Nếu x là số thực ,hàm signum được định nghĩa như sau :

† x>0 sign(x) =0 x=0

-1 x <0

e gcd(m,n) : trả về ước số chung lớn nhất của 2 số nguyên dương m,n

e lcm(m,n) : trả về bội số chung nhỏ nhất của 2 số nguyên dương m,n

Để nhận sự trợ giúp của Matlab về một hàm nào đó trong cửa sổ lệnh ta gõ help tên_hàm, thông tin về đối

số , ứng xử của hàm sẽ xuất hiện ngay trong cửa sổ lệnh

9

Trang 10

cùng 1 số hàm liên quan Ví dụ sau khi gõ xong heip log, nhận được thông tin sau :

>> help log

LOG Natural logarithm

LOG(X) is the natural logarithm of the elements of X

Complex results are procedure if X is not positive

See also LOG2 , LOG10 , EXP , LOGM

6 Các hằng định nghĩa trước trong Matlab

Matlab có một số hằng đặc biệt đã được định nghĩa

trước, ta có thể thay đổi các giá trị này nếu muốn nhưng tốt nhất là tôn trọng các giá trị đã được Matlab gắn sẵn Các biến và hằng đặc biệt thông dụng:

Biến, hằng Ý nghĩa

bi Số pi = 3.14159

ans (answer) Biến tạm chứa kết quả sau

cùng nhất

số lớn hơn 1 Độ chính xác của dấu

chấm động

i,j Don vi ao v-1 inf Vô cùng lớn « ( Ví dụ 5/0 ) nan (Not a number) Kết quả số không

xác định

10

Trang 11

+ Số phức : z = 5 - 4i khi đưa vào dòng lệnh có dạng :

>>zZ=5- 4i ( không có dấu * giữa số 4 và đơn vị ảo ¡ )

Hai số phức liên hiệp có phần thực bằng nhau và phần

ảo đối nhau Ví dụ : 4 + 3i và 4 — 3i Tích của chúng sẽ là

số thực

+ Các phép tính cộng trừ nhân chia số phức thực hiện

tương tự như số thực

Một số hàm liên quan đến số phức như sau:

e abs(z) : lấy mođun (suất) của số phức

e anglc(z): lấy góc pha của số phức

e real(x): lấy phần thực

e imag(x) : lấy phần ảo

e conj(x) : trả về số phức liên hiệp của số phức z

Qui ước viết số phức trong Matlab có thể gây ra sai lầm

nếu ta không cẩn thận, ví dụ : >> x = 7/2*i cho kết quả là

3.Bi trong khi >> y= 7/2i cho kết quả bằng -3.5i

Một số ví dụ để làm quen với Matlab

1 Có một bể chứa hình trụ tròn có chiều cao 12m,

bán kính 5m Người ta muốn xây dựng một bể chứa

thứ hai có cùng chiều cao, nhưng thể tích lớn hơn

cái thứ nhất là 25% Hỏi bán kính tương ứng là bao

nhiêu mét 2

Thực hiện trên cửa sổ lệnh các dòng lệnh như sau :

>>r=5)

>>h= 12;

>> V = pi*r42*h;

>> v= 1.25*Vv;

>> r = sqrt(v/(pi*h))

11

Trang 12

f=

5.5902

Đáp số : Bán kính bể thứ hai la r = 5,5902 m

Dòng lệnh cuối cùng không có dấu ; để Matlab hiển thị

giá trị của r

2 Giải phương trình bậc 2 trong R : 2x?+ 5xT— 3= 0

>>a=2;

>>b=5;

>>C=-3;

>>delta=b^2-4”a”c

delta=

49

>>x1= (-b+sqrt(delta))/(2”a)

x1=

0.5000

>>x2= (-b-sqrt(delta))/(2”a)

x2=

-3

1.4 Làm quen nhanh với một số vấn đề cơ bản của

Matlab

1 Mang (array) va da thức 1 biến

Lưu ý ở đây giới thiệu là mảng 1 chiều còn gọi là

vecto

a Mang là tập hợp số được sắp xếp có thứ tự Ví du

mảng x gồm 4 số 2,7,0,-3 được khai báo với Matlab

như sau :

12

Trang 13

>>x=[2,7,0,-3]; cach nhau bang dau ,

hoặc:

>>x=[2 7 0 -3]; cách nhau bằng khoảng trắng Mảng y gồm 4 số 7,-3,2,0

Matlab có thể cộng hai mắng x,y có cùng kích thước

để được 1 mắng z cùng kích thước,chỉ bằng dòng

lệnh z=x+y như minh hoạ sau đây:

>>x=[2,7,9,-3]

>>y=[7,-3,2,0]

>>Z=X+y

Z=

Đây chính là điểm mạnh của Matlab so với các ngôn ngữ lập trình khác.Do vậy chương trình viết bằng Matlab sẽ rất gọn

Mảng có các phần tử cách đều :

Khi ta muốn khai báo một mảng tăng u có phần tử đầu tiên là 0, phần tử cuối cùng là 10, trong đó 2 phần tử liên tiếp cách nhau một gia số A= 0.1 > 0, ta

vào lệnh như sau:

>>u= [0:0.1:10];

Dạng tổng quát dé khai báo là :

Tên_ mảng=[ ptử đầu a: gia số A:ptử cuối b J;

+ Lưu ý: Nếu a»b thì gia số A phải là số âm

+ Số phần tử trong 1 mảng được tính bởi hàm /ength,

muốn truy xuất giá trị phần tử thứ n của mảng ta sử

13

Trang 14

dụng kí hiệu : Tên mảng(n) Số n được gọi là chỉ số

của mảng Ví dụ :

>>u=[0:0.1:10];

>>length(u) % tính số phần tử của mảng u

ans =

101

>>u(5) % truy xuất phần tử thứ 5 cuả mảng u

ans =

0.4000

>>u(80) % truy xuất phần tử thứ 80 của mang u

ans =

7.9000

>> W=2”cos(U);

>> m=length(w)

m=

101

+ Dòng lệnh w = 2*cos(u) bắt Matlab thực hiện 101 lần phép tính 2*cos(u) với từng giá trị của mảng u và phát sinh ra mảng mới w có 101 phần tử

Các mắng nói trên được gọi chính xác là mảng kiểu dòng ( row array ) Matlab còn có mảng kiểu cột

(column array): các phần tử của mảng được phân

cách nhau bằng dấu chấm phẩy ; thay vì dấu phẩy ,

hoặc khoảng trống như mắng kiểu dòng

>> v=[1,3,5,7] % mảng kiểu dòng

V=

1 3 5 7

14

Trang 15

>> v=[1;3;5;7] % mang kiéu cét

V=

Tìm nghiệm của đa thức một biến:

Ta có thể mô tả 1 đa thức trong Matlab bằng 1 mảng

có các phần tử là các hệ số của đa thức, bắt đầu

bằng hệ số tương ứng với lũy thừa có bậc cao nhất

trong đa thức Nghiệm của 1 đa thức được giải bằng

hàm roots(a) trong đó a là mảng chứa các hệ số của

đa thức theo lũy thừa giảm Kết quả của hàm roots

là 1 mảng kiểu cột, chứa các nghiệm của đa thức

Ví dụ 3: Tìm nghiệm của đa thức xŠ + 6x -11x + 290

>>a=[1,6,-11,290]; % các hệ số của đa thức

>>roots(a)

ans=

-10.0000

2.0000 + 5.0000i

2.0000 — 5.0000i

Đa thức trên có 3 nghiệm là x= -10 và x= 2+5i (một nghiệm thực và 2 nghiệm phức liên hiệp)

Cả hai dòng trên có thể gộp thành 1 lệnh duy nhất :

>>roots([1,6,-11,290]);

15

Ngày đăng: 11/03/2014, 12:20

TỪ KHÓA LIÊN QUAN

w