Tải bản đầy đủ (.ppt) (129 trang)

môn ngôn ngữ matlab

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.19 MB, 129 trang )

Introduction to Matlab

Bộ môn VLTH-Viện VLKT

1

Phần I: Nhập môn ngôn ngữ MatLab
I.1 Giới thiệu về phần mềm MatLab
-Là sản phẩm của công ty Phần mềm Matworks
-Có thể chạy trên nhiều chủng loại máy tính khác nhau
-Dùng để giải các bài toán khoa học kỹ thuật
Đặc điểm:dễ sử dụng, các thủ tục trong và ngoài
luôn được hoàn thiện phát triển. Có các thủ tục đồ
hoạ rất mạnh dễ dàng kết hợp với quá trình tính
toán, dễ phát triển cho các ứng dụng khoa học kỹ
thuật. Dễ lập trình, chương trinh ngắn gọn. có hai
chế độ làm việc là hội thoại và lập trình


Introduction to Matlab

Bộ môn VLTH-Viện VLKT

2

I.2 làm việc trong môi trường MatLab
Khởi động MatLab
-Kích chuột vào biểu tượng MatLab
- Trên cửa sổ lệnh có các menu: File, Edit, Tool, View, Help
và một số nút chức năng. Có một cửa sổ lệnh đưa ra kết quả
băng số nhưng có nhiều cửa sổ đồ hoạ


- Cửa sổ lệnh có dấu nhắc >>
- Tại dấu nhắc gõ từng lệnh, Khi nhấn Enter MatLab sẽ thực
hiện lệnh và đưa ra kết quả
- Ví dụ >>x=1+3
>>x=
4


Introduction to Matlab

function H=Hermit(x, n)
if(n==0)
H=1;
elseif n==1
H=2.*x
else
H=2.*x.*Hermit(x,n-1)-2*(n-1).*Hermit(x,n-2)
end

3


Introduction to Matlab

Bộ môn VLTH-Viện VLKT

-Nếu lệnh đưa vào là lệnh đồ hoạ thì kết quả sẽ
đưa ra cửa sổ đồ hoạ
Ví Dụ: ezplot(‘sin(x)/x’,[0,10])


4


Introduction to Matlab

-Trên một dòng chúng ta có thể nhập nhiều lệnh các lệnh cách
nhau bằng dấu ’,‘ hoặc ’;’
>>x=2+3; y=x+1, z=y+x
y=
6
z=
11
»
Nếu viết >>x=2+3; y=x+1, z=y+x;
Kết quả của Z sẽ không được in ra

5


Introduction to Matlab

Bộ môn VLTH-Viện VLKT

Một lệnh của MatLab có thể viết trên nhiều hàng
» x=1+2+8+3+...
14
x=
28
»
-Làm việc ở chế độ lập trình

Một chương trình của MatLab là một file văn bản tên file có
phần mở rộng là “.m” nghĩa là filename.m
Trong file văn bản chứa các lệnh hoặc hàm của MatLab. Để
mở một file văn bản làm như sau:

6


Introduction to Matlab

Bộ môn VLTH-Viện VLKT

7


Introduction to Matlab

Bộ môn VLTH-Viện VLKT

I.2.1 Ma trận và các biểu thức ma trận
Ma trận là kiểu dữ liệu cơ bản trong MatLab
A={aij} hàng i cột j
Có ma trận Số (các phần tử là số thực hoặc phức, độ chính
xác 16 chữ số thập phân)
» a=[1 2 3; 8 9 7; 0 4 7]
a=

»

1


2

3

8

9

7

0

4

7

» z=['a' 'b' 'c'; 's' 'p' 'u']
z=
abc
spu
»

8


Bộ môn VLTH-Viện VLKT

Introduction to Matlab


9

Gọi số hàng của ma trận là m số cột là n
m=1 có vec tơ hàng
n=1 Véc tơ cột
n=m=1 có một vô hướng
Ma trận có thể là hằng hay biến, các hằng hay biến là thành
phần của một biểu thức ma trận
-Các hằng trong ma trận
» a=[1 2 3; 8 9 7; 0 4 7]

» a=[1,2,3;8 9 7; 0 4,7]

a=

a=

»

1

2

3

1

2

3


8

9

7

8

9

7

0

4

7

0

4

7

»


Introduction to Matlab


Bộ môn VLTH-Viện VLKT 10

» a=[1+ 2*i,2+ 8*i; 2*i,7+5*i]
a=
1.0000 + 2.0000i
0 + 2.0000i

2.0000 + 8.0000i

7.0000 + 5.0000i

»
b=[1+ 2*j,2+ 8*j; 2*j,7+5*j]
b=
1.0000 + 2.0000i
0 + 2.0000i
»

2.0000 + 8.0000i

7.0000 + 5.0000i


Introduction to Matlab

Bộ môn VLTH-Viện VLKT 11

-Các biến trong MatLab
-Để lưu giữ các hằng trong quá trình tính toán phải gán nó vào
các biến. Biến là nơi chứa các Hằng, các biến các biểu thức

trong MatLab. Ở chế độ chương trình dùng dấu % để viết lời
chú thích
-Tên biến của MatLab bắt đầu bằng chữ cái tiếp theo tối đa là
30 ký tự chữ cái chữ số hoặc dấu gạch chân.
-Phân biệt chữ hoa và chữ thường
-MatLab có một số tên biến được định nghĩa sẵn
eps, pi, inf,…:
pi=3.1416; eps=2.2204e-016; inf=vô cùng…


Introduction to Matlab

Bộ môn VLTH-Viện VLKT 12

Yêu cầu việc đặt tên biến Không trùng với từ khoá, tên hàm, tên
các biến có sẵn
Để xoá đi tên biến không dùng nữa thì dùng lệnh
>>clear tenbien1 tenbien2

I.2.2 Ma trận và các phép tính trên ma trận
-Phép cộng và trừ
A={aij}, B={Bij}; i=1…m; j=1…n
C=A+B; C={Cij}; Cij=aij+Bij
D=A-B; D={Dij}; Dij=Aij-Bij


Introduction to Matlab

Bộ môn VLTH-Viện VLKT 13



Introduction to Matlab

Khi cộng trừ các ma trận
thì các ma trận phải có
cùng kích thước. Trường
hợp đặc biệt một trong
hai ma trận là vô hướng,
MatLab sẽ hiểu vô hướng
đó là một ma trận cùng
kích thước với ma trận
kia và các phần tử đều có
giá trị bằng vô hướng

Bộ môn VLTH-Viện VLKT 14


Introduction to Matlab

Phép nhân Ma trận
-Ma trận A gồm các phần tử Aij,
(m1,n1)
-Ma trận B gồm các phần tử Bij,
(m2,n2)
-Nếu n1=m2 thì tồn tại phép nhân
ma trận
C=A*B
Cij=Aik*Bkj (K chạy từ 1 …n1)
Phép nhân ma trận không giao hoán


Bộ môn VLTH-Viện VLKT 15


Introduction to Matlab

Bộ môn VLTH-Viện VLKT 16

Phép chia trái và chia phải ma trận

A*x=B
X=A\B
X*A=B
X=B/A

A=
1
3
2
4
6
9
»B
B=
1
2
3
» x=A\B
x=
4.0000
-2.4000

0.6000

7
6
1

B=
1
2
3
» A*x
ans =
1.0000
2.0000
3.0000
»


1*X1+3*X2+7*X3
2*X1+4*X2+6*X3
6*X1+9*X2+1*X3

1
2
6

3
4
9


X1
7
X2
=
6*
1 X3

1
2
3

=
=
=

1
2
3


Introduction to Matlab

18

Phép tính luỹ thừa
C=A*A*A*… *A (n lần) Thì C=A^n
a=

a=


a=

1

2

1

2

1

2

1

3

1

3

1

3

» a^3
ans =
11


30

15

41

» a^0

» a^-1

ans =

ans =

»

1

0

3

-2

0

1

-1


1


Introduction to Matlab

Bộ môn VLTH-Viện VLKT 19

Các phép tính nhân chia luỹ thừa theo các phần tử
tương ứng
Để tiện lợi trong quá trình tính toán các biểu thức toán học
MatLab mở rộng thêm các phép tính nhân chia luỹ thừa theo
các phần tử tương ứng của 2 ma trận và được ký hiệu là:

.*, ./, .\, .^
A={aij} ; B={Bij}
C=A.*B => cij=aij*bij
D=A./B => dij=aij/bij
E=A.\B=> Eij=aij.\bij
F=A.^B=> Fij=aij^bij


Introduction to Matlab

A=
1
2
3
4
» B=[5 6 ; 7 8]
B=

5
6
7
8
» A*B
ans =
19 22
43 50
» A.*B
ans =
5 12
21 32

Bộ môn VLTH-Viện VLKT

»A
A=
1
2
3
4
»B
B=
5
6
7
8
» E=A.^B
E=
1

2187

64
65536

20


Introduction to Matlab

Bộ môn VLTH-Viện VLKT 21

Các hàm toán học sơ cấp trong MatLab
sin
- Sine.
sinh
- Hyperbolic sine.
asin
- Inverse sine.
asinh
- Inverse hyperbolic sine.
cos
- Cosine.
cosh
- Hyperbolic cosine.
acos
- Inverse cosine.
acosh
- Inverse hyperbolic cosine.
tan

- Tangent.
tanh
- Hyperbolic tangent.
atan
- Inverse tangent.
.
.
(để Tham

khảo đầy đủ các hàm gõ lệnh help elfun )


Bộ môn VLTH-Viện VLKT 22

Introduction to Matlab

-Tất cả những hàm trên có đối số là ma trận và kết quả trả về
là một ma trận với những thành phần của nó sẽ tương ứng với
hàm trên từng thành phần của ma trận đối số.
Ví dụ
X={xij}
Y=sin(X); Y={yij}; yij=sin(xij)
x=
1

2

3

8


0

9

» y=sin(x)
y=
0.8415

0.9093

0.1411

0.9894

0

0.4121


Introduction to Matlab

Bộ môn VLTH-Viện VLKT 23

Các phép toán Logic trong MatLab
-Kiểu dữ liệu logic đóng một vai trò quan trọng trong ngôn
ngữ lập trình, song không có kiểu dữ liệu riêng để Mô tả các
đại lượng Logic. MatLab dùng các kiểu số để mô tả kiểu này
A khác 0


True

A bằng 0
false
-các phép tính quan hệ
3> 2 true
2>3 false
Các phép tính quan hệ (ký hiệu là o)
C=AoB ; {cij}={aijobij}


Bộ môn VLTH-Viện VLKT 24

Introduction to Matlab

Lớn hơn >
Nhỏ hơn <
Bằng ==
Không bằng ~=
Lớn hơn hoặc bằng >=
Bé hơn hoặc bằng <=
A=
4

7

9

7


1

9

» A>7

A=
4

7

9

7

1

9

» B= [7 8 0; 9 1 10]
B=
7

8

0

9

1


10

» A>B
ans =

ans =
0

0

1

0

0

1

0

0

1

0

0

0



Introduction to Matlab

Các phép tính logic
Và &
Hoặc |
phủ định ~
A=
1
1
»B
B=
0
9
» A|B
ans =
1
1

2
0

3
3

2
0

0

8

1
0

1
1

Bộ môn VLTH-Viện VLKT
A=
1
1
»B
B=
0
9
» A&B
ans =
0
1

A=
1
1
» ~A
ans =
0
0

2

0

3
3

2
0

0
8

1
0

0
1

2
0

3
3

0
1

0
0

25



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×