Download as pdf or txt
Download as pdf or txt
You are on page 1of 243

Ộ Cỗ C

ỗ i nói đ u ...................................................................................................................... 1

ớồ ộ I. ỘỌTỗỌọ C ọ ộ ........................................................................................ 3

Chư ng . Ộ Đ U .................................................................................................. 3

. Gi i thi u M‚ởỗ‚‛ .......................................................................................... 3

. M t s kiến th c cơ b n .................................................................................... 5

. . C{c phép to{n thẫng dụng............................................................................. 5

. . C{c l nh qu n lý ............................................................................................. 5

. . C{c l nh nh p xu t d li u ............................................................................ 7

1.2.4 Help trong MATLAB.................................................................................... 11

. Ởơ l c về M-file .............................................................................................. 12

. ởóm tắt ch ơng ............................................................................................. 14

. ‛|i t p ch ơng .............................................................................................. 16

Chư ng . VỐCTỚờ Vủ ỘỌ Tờ ộ...................................................................... 25

. ỡector v| ma tr n trong M‚ởỗ‚‛................................................................. 25

. ởhiết l p ma tr n trong M‚ởỗ‚‛ .................................................................. 25

. C{c phép to{n cơ b n đ i v i ma tr n, vector............................................... 33

. Đ i s tuyến tính.............................................................................................. 36

. ởóm tắt ch ơng ............................................................................................. 40

. ‛|i t p ch ơng .............................................................................................. 41

Chư ng . TÍộồ TỚÁộ Ở V I ỘỌTỗỌọ......................................................... 49

. Ở ph c ............................................................................................................. 49

. H|m vẫ danh ................................................................................................... 53

. Cực trị v| nghi m c a h|m s m t biến s ................................................... 54

. Đa th c m t biến s ......................................................................................... 57

. ởích ph}n v| đ o h|m ..................................................................................... 59

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
. ớh ơng trình vi ph}n ...................................................................................... 61

. ởóm tắt ch ơng ............................................................................................. 63

3.8 ‛|i t p ch ơng .............................................................................................. 64

Chư ng . ọ C4ộỒ C ỖÝ ồI U ...................................................................... 69

. Gi i thi u biến ký hi u .................................................................................... 69

. ‛iến v| biểu th c ............................................................................................. 70

. Ma tr n biến ký hi u ....................................................................................... 75

. ởích ph}n v| đ o h|m đa th c biến ký hi u ................................................. 77

. ớh ơng trình vi ph}n v| h|m s biến ký hi u .............................................. 79

. ởóm tắt ch ơng ............................................................................................. 80

. ‛|i t p ch ơng .............................................................................................. 81

Chư ng . Ộ ộỒ ồ ộ ồ ớ Vủ ỏ ỗI U C2 C U TờÚC ........................... 88

. M ng h n h p .................................................................................................. 89

. . ởhiết l p m ng h n h p ............................................................................... 89

. . ởruy xu t v| hiển thị thu c tính c a c{c phần t m ng h n h p ............ 90

. . ỗ u chu i ký tự trong m ng h n h p ........................................................ 93

. ‛iến có c u trúc ................................................................................................ 94

. . ởhiết l p v| hi u chỉnh c{c biến c u trúc.................................................... 94

. . ỡector biến c u trúc ...................................................................................... 97

. . C u trúc lồng nhau v| vector biến c u trúc lồng nhau ........................... 103

. ởóm tắt ch ơng ........................................................................................... 105

. ‛|i t p ch ơng ............................................................................................ 106

Chư ng . Đ Tồ TờỚộỒ ỘỌTỗỌọ............................................................... 109

. Đồ thị trong khẫng gian hai chiều ............................................................... 109

. . C{c l nh cơ b n ........................................................................................... 109

. . C{c l nh tăng c ng ................................................................................... 115

. Đồ thị trong khẫng gian ba chiều ................................................................. 120

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
. . Ở dụng plot .............................................................................................. 120

. . ở ol i v| mặt phẳng chiều .................................................................. 124

. ởóm tắt ch ơng ........................................................................................... 127

. ‛|i t p ch ơng ............................................................................................ 128

Chư ng . ỗ ớ TờÌộồ TờỚộỒ ỘỌTỗỌọ ....................................................... 138

. Gi i thi u M-file ............................................................................................ 138

. . ỡăn b n ........................................................................................................ 139

. . H|m do ng i dùng tự định nghĩa ........................................................... 140

. C{c l nh lựa chọn .......................................................................................... 146

. . C{c phép to{n quan h ............................................................................... 146

7.2.2 IF................................................................................................................... 148

7.2.3 SWITCH....................................................................................................... 152

. ỡòng lặp ......................................................................................................... 153

7.3.1 FOR .............................................................................................................. 153

7.3.2 WHILE ......................................................................................................... 155

. ởóm tắt ch ơng 7 ........................................................................................... 157

. ‛|i t p ch ơng ............................................................................................ 158

ớồ ộ II. ỘỌTỗỌọ ộỒ ỏ ộỒ ........................................................................... 163

Chư ng . ớồỨộ TÍCồ Đ ộỒ ồ C C C U ................................................ 163

. ợ{c định vị trí c{c kh}u, kh p trong cơ c u ................................................ 163

. Ỗh o s{t chuyển đ ng v| t o phim mẫ ph ng chuyển đ ng c a cơ c u . 167

. . Ỗh o s{t chuyển đ ng ................................................................................ 167

. . ở o clip mẫ ph ng chuyển đ ng ............................................................... 170

. ỡ n t c v| gia t c........................................................................................... 171

. ‛|i t p ch ơng ............................................................................................ 177

Chư ng . ỗÝ TồUỤ T ĐI U ỖồI ộ T Đ ộỒ ............................................... 193

. ‛iến đ i ỗaplace ............................................................................................. 193

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
. ‛iến đ i z ........................................................................................................ 196

. ợ}y dựng c{c h tuyến tính – dừng ............................................................. 199

. . Mẫ hình h|m truyền ................................................................................... 200

. . Mẫ hình điểm khẫng – điểm cực............................................................... 203

. . Mẫ hình khẫng gian tr ng th{i .................................................................. 205

. . Chuyển đ i gi a c{c mẫ hình .................................................................... 207

. . Đặc tính th i gian tr trong h|m truyền ................................................... 208

. . Ghép n i c{c mẫ hình ................................................................................. 208

. . Gi n đồ ‛ode, ộyquist, ộichols v| đ{p ng c a h ................................ 210

. ởóm tắt ch ơng ........................................................................................... 212

. ‛|i t p ch ơng ............................................................................................ 213

Ộ TỞ ọ C4ộỒ C ộỒ ỏ ộỒ CồUỤÊộ ỞỨU TờỚộỒ ỘỌTỗỌọ ...... 227

TủI ỗI U TồỌỘ Ỗồ Ớ .......................................................................................... 233

ỏỌộồ Ộ C ồủỘ .................................................................................................... 234

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
L i nói đ u

MATLAB l| m t gói phần mềm m nh đang đ c s dụng r ng rãi cho nhiều


mục đích c a nhiều đ i t ng kh{c nhau, đặc bi t l| trong khoa học v| kỹ thu t.
M‚ởỗ‚‛ có thể s dụng theo hai c{ch kh{c nhau ởh nh t l| s dụng c{c l nh
lần l t đ a v|o d u nhắc v| thu d c kết qu thẫng dịch th hai l| viết c{c
l nh th|nh m t file có thể l| file l nh - scrip file hoặc d ng h|m – function file v|
c{c l nh đ c thực hi n tự đ ng ngay sau khi gọi thực hi n thẫng qua gọi tên file.

M‚ởỗ‚‛ đ c trang bị sẵn nhiều h|m để thực hi n c{c nhi m vụ kh{c nhau
thu c nhiều lĩnh vực, từ đơn gi n thực hi n c{c phép tính to{n học đến c{c nhi m
vụ ph c t p nh tìm nghi m c a ph ơng trình vi ph}n, t i u hóa, x lý
nh ởhêm n a, M‚ởỗ‚‛ còn đ c trang bị c{c c}u l nh c u trúc dùng cho l p
trình cho phép ng i dùng tự ph{t triển c{c ch ơng trình theo mục đích riêng cho
nh ng b|i to{n cụ thể gặp ph i trong thực tế.

Cu n gi{o trình n|y đ c biên so n cho sinh viên khoa Cơ học Ỗỹ thu t v| ởự
đ ng hóa, tr ng Đ i học Cẫng ngh , Đ i học Qu c gia H| ộ i nhằm giúp sinh
viên l|m quen v i M‚ởỗ‚‛. s dụng M‚ởỗ‚‛ để gi i c{c b|i to{n đơn gi n v|
tiến t i l p trình tính toán mô phỏng cho các bài toán cơ bản phức tạp hơn. Khi đã
nắm đư c những kiến thức cơ bản về khả năng, phương thức làm vi c của
MATLAB và kỹ năng lập trình, sinh viên có thể xây dựng các chương trình phức
tạp hơn trong MATLAB để giải quyết hi u quả các v n đề thực tế liên quan đến
ngành, chuyên ngành đã học. Cuốn sách đư c dùng kết h p với các bài giảng và các
buổi thực hành để trang bị những kiến thức c n thiết cho các nhà khoa học và kỹ sư
tương lai để có thể phát triển và nâng cao khả năng tính toán, xử lý và phân tích
những v n đề chuyên môn đa dạng với sự tr giúp của máy tính.
ộ i dung gi{o trình gồm c{c ch ơng sau:
 Ch ơng M đầu,
 Ch ơng ỡector v| ma tr n
 Ch ơng ởính to{n s v i M‚ởỗ‚‛

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
 Ch ơng ‛ cẫng cụ ký hi u
 Ch ơng M ng h n h p v| d li u có c u trúc
 Ch ơng 6: Đồ thị trong MATLAB
 Ch ơng 7: ỗ p trình trong MATLAB
 Ch ơng ớh}n tích đ ng học cơ c u
 Ch ơng ỗý thuyết điều khiển tự đ ng
Ỗết thúc m i ch ơng, sinh viên có thể tự ẫn t p v| c ng c kiến th c đã học
qua mục t ng h p c{c l nh trong ch ơng v| b|i t p có l i gi i t ơng ng. Đ i v i
nh ng b|i t p khẫng có l i gi i chi tiết, sinh viên có thể trao đ i v i gi ng viên
trong c{c bu i thực h|nh.
ộgo|i ra để cung c p thẫng tin định h ng cho sinh viên mu n tìm hiểu
thêm nh ng cẫng cụ dùng cho nh ng ng dụng chuyên s}u ởoolbox , m t s b
cẫng cụ ph biến sẽ đ c gi i thi u tóm tắt trong phần phụ lục.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 3

ớồ ộ I. MATLAB C ọ ộ

Chư ng . Ộ Đ U

1.1 Ồi i thi u ỘỌTỗỌọ

MATLAB (MATrix LABoratory l| phần mềm c a cẫng ty MathỢorks có


trụ s chính ộatick, Massachusetts, Mỹ (www.mathworks.com), đ c ng dụng
r ng rãi trong c{c lĩnh vực khoa học, kỹ thu t, đặc bi t l| điều khiển tự đ ng v| x
lý tín hi u s . M‚ởỗ‚‛ đ c ph{t triển b i Cleve Moler v|o cu i nh ng năm
c a thế kỷ tr c trên cơ s th vi n nguồn c a ỗIộớ‚CỖ v| ỐIỞớ‚CỖ
ốỚờởờ‚ộ. ộh ng phiên b n đầu tiên c a M‚ởỗ‚‛ ch yếu phục vụ cho tính
to{n x lý ma tr n v| gi i c{c ph ơng trình đ i s tuyến tính. ộg|y nay, M‚ởỗ‚‛
còn đ c biết đến nh l| m t cẫng cụ có kh năng x lý đồ họa m nh mẽ (Theo
PC Magazine Encyclopedia).
Ồiao di n ỘỌTỗỌọ

Hình 1. 1. Giao diện MATLAB

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 4

Ỗhi kh i đ ng, M‚ởỗ‚‛ sẽ hi n ra giao di n mặc định nh trên, trong đó bao


gồm c{c c a s
 Current ốolder ởh mục hi n h|nh, cho phép truy xu t t i c{c file ch a
trong nó.
 Command Ợindow C a s l nh, ng i dùng có thể nh p l nh trên c a s
n|y từ sau d u nhắc >> .
 Workspace: Ỗhẫng gian b nh c a M‚ởỗ‚‛, dùng để l u tr d li u c a
c{c biến trong m t phiên l|m vi c c a M‚ởỗ‚‛.
 Command History: ỗịch s l nh đã thực hi n, cho phép xem hoặc thực hi n
l i nh ng l nh đã nh p v|o Command Ợindow tr c đó.
Ởau đ}y l| m t s ví dụ đơn gi n thực hi n trong Command Ợindow t i d u
nhắc >> nh p c}u l nh sau:
>> a = 1
M‚ởỗ‚‛ sẽ l u biến a có gi{ trị v|o Ợorkspace v| hiển thị kết qu trên m|n
hình:
a =
1
ở ơng tự t o c{c biến b, c có gi{ trị lần l t l|:
>> b = 2
b =
2
>> c = a + b
c =
3
Ỗhi chúng ta khẫng chỉ rậ gi{ trị tr về c a phép tính, M‚ởỗ‚‛ sẽ s dụng biến
ans viết tắt c a answer để l u kết qu n|y.
>> b – a
ans = 1
Ỗhi c}u l nh kết thúc b i d u ch m phẩy, M‚ởỗ‚‛ sẽ thực hi n phép tính nh ng
khẫng hiển thị kết qu lên m|n hình.
>> d = a*b;
Hai phím mễi tên lên xu ng ↑ ↓ có thể đ c s dụng để gọi l i nh ng c}u l nh đã
s dụng tr c đó. Có thể s dụng hai phím n|y t i d u nhắc >> hoặc sau khi nh p
m t s ký tự đầu tiên c a c{c ký tự đã s dụng. ỡí dụ: để gọi l i l nh b = chỉ cần
nh p b v| sau đó nh n phím mễi tên.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 5

ỏ u % đ c s dụng để viết chú thích cho c}u l nh. Mọi ký tự phía sau d u % sẽ
khẫng đ c M‚ởỗ‚‛ x lý. ỡí dụ l y a nh}n v i b v| g{n gi{ trị cho d
>> d = a*b

1.2 Ộ t s ki n th c c b n

1.2. C{c phép to{n thông d ng


ởrong M‚ởỗ‚‛ c{c phép to{n c ng, trừ, nh}n, chia đ c biểu di n
thẫng qua c{c ký tự đã quy định tr c. ‛ ng 1.1 thể hi n c{c phép to{n thẫng
dụng v| c{ch nh p c{c phép to{n n|y trong M‚ởỗ‚‛.

MATLAB Ý nghĩa MATLAB Ý nghĩa


a+b a+b log(x) ln(x)
a-b a–b asin(x) sin-1(x)
a*b Ab log10(x) log10(x)
a
a/b acos(x) cos-1(x)
b
a^b ab abs(x) x

sin(x) sin(x) atan(x) tan-1(x)


tạo số thực ngẫu nhiên trong
sqrt(x) x rand
khoảng ,
làm tròn tới số nguyên gần
cos(x) cos(x) round(x)
nhất
làm tròn tới số nguyên bé
exp(x) ex floor(x)
hơn
làm tròn tới số nguyên lớn
tan(x) tan(x) ceil(x)
hơn

Bảng 1. 1. Các phép toán thông dụng trong MATLAB

1.2. C{c l nh qu n lý
ởrong M‚ởỗ‚‛ khi gặp tr ng h p th i gian thực hi n l nh qu{ l}u, có
thể s dụng t h p phím ctrl + c để ngừng c{c tính to{n đang thực thi. C}u l nh
m i có thể đ c nh p v|o t i d u nhắc xu t hi n sau khi thực hi n t h p phím
vừa nêu, l nh ngắt n|y đặc bi t hi u qu khi l p trình v i vòng lặp.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 6

Ỗhi mu n xóa m t hay nhiều biến, ta có thể s dụng l nh clear v i c{c cú


ph{p thẫng dụng nh sau
>> clear bien
>> clear all
ởrong đó
- bien v| all lần l t l| tên c{c biến cụ thể hoặc t t c c{c biến có trong
Workspace
- Cú ph{p th nh t cho phép xóa biến cụ thể kh i Ợorkspace còn cú ph{p
th hai cho phép ng i s dụng xóa to|n b t t c c{c biến, h|m hi n h|nh
Khi mu n hi n danh s{ch c{c biến có trong Ợorkspace ta có thể dùng who
hoặc whos theo cú ph{p sau
>>who
Hoặc
>>whos
ởrong đó l nh who chỉ li t kê tên c{c biến, còn l nh whos li t kê c tên v| c{c
thẫng tin cụ thể về biến.
ỡí dụ ộh p dòng l nh >> a = 1; b = 2; c = 3;
ởrong Ợorkspace xu t hi n lần l t c{c biến a, b, c v i gi{ trị lần l t l| , , .
Quan s{t sự kh{c bi t khi s dụng who v| whos :
>>who
Your variables are:
a b c
>>whos
Name Size Bytes Class Attributes
a 1x1 8 double
b 1x1 8 double
c 1x1 8 double
ợóa c{c biến trong Ợorkspace bằng l nh clear:
>>clear a
>>a
??? Undefined function or variable ‘a’
>>clear all % xóa nốt các biến b và c

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 7

ởrong đó biến a đ c xóa kh i Ợorkspace tr c tiên, tiếp theo l| c{c biến b


v| c. Để ti n quan s{t ta có thể l|m s ch Command Ợindow bằng l nh clc .

1.2. C{c l nh nh p xu t d li u
ộh p d li u từ b|n phím input
Cú ph{p
>>bien = input(‘text’)
>>bien = input(‘text’ ‘s’)
ởrong đó: bien l| tên biến b t kỳ do ng i s dụng đặt, text l| đo n văn b n
sẽ hiển thị th|nh c}u nhắc trên m|n hình, s l| tham s để M‚ởỗ‚‛ hiểu v| x lý
d li u nh p v|o d ng x}u ký tự.
c hai cú ph{p trên, đo n văn b n sẽ đ c hiển thị trên m|n hình, đồng
th i M‚ởỗ‚‛ sẽ ch ng i s dụng nh p ký tự từ b|n phím tuy nhiên khi s
dụng cú ph{p th nh t, ng i dùng chỉ có thể nh p v|o m t s , còn cú ph{p th
hai, ng i dùng có thể nh p v|o m t x}u ký tự sau khi đã thẫng b{o cho
M‚ởỗ‚‛ bằng tham s s. ởr ng h p thực hi n l nh input khi ng i dùng khẫng
nh p gi{ trị m| b m trực tiếp phím Ốnter thì gi{ trị tr về sẽ l| m t m ng r ng.
ỡí dụ
>> Lop = input(‘Ban hoc lop nao: ‘, ‘s’)
Ban hoc lop nao: Co Dien Tu
Lop = Co Dien Tu
>>x=10;
>>SoSV = input(‘Lop ban co bao nhieu sinh vien: ‘)
Lop ban co bao nhieu sinh vien: 80
SoSV = 80
>>SVG = input(‘Bao nhieu sinh vien duoc A+ mon MATLAB:
‘)
Bao nhieu sinh vien duoc A+ mon MATLAB: x
SVG = 10
ộh p d li u từ file load
ởrong M‚ởỗ‚‛ có r t nhiều c{ch để t i d li u từ file v|o Ợorkspace,
trong đó đơn gi n nh t l| l nh load cho phép t i to|n b n i dung file v|o
Ợorkspace. Yêu cầu khi s dụng l nh load l| n i dung file đ c t i ph i d ng
ma tr n ch a c{c s , m i s c{c dòng ph}n c{ch nhau bằng ký tự tr ng, d u
phẩy hoặc tab. ốile có thể ch a c{c dòng chú thích trong M‚ởỗ‚‛ c{c dòng bắt
đầu bằng ký tự % .

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 8

Cú ph{p
>>load name.ext
ởrong đó name.ext l| tên file ch a d li u cần t i. ộếu trong phần tên file
khẫng có phần m r ng ext, M‚ởỗ‚‛ sẽ tìm trong th mục hi n h|nh file có tên
name.mat, nếu khẫng tìm th y name.mat hoặc tên file khẫng có phần m r ng
khẫng ph i l| mat ví dụ txt, dat thì M‚ởỗ‚‛ sẽ coi file đó l| file ch a d li u
ASCII.
ỗ nh load nh đã nói trên sẽ cho phép t i to|n b n i dung trong file
name.ext v|o trong Ợorkspace.
ỡí dụ T o trong th mục hi n h|nh file diem.txt l| m t ma tr n h|ng c t
có n i dung nh sau
10 8 8.8
7 9 8.2
5 8 6.8
9 6 7.2
9 10 9.6
Ởau đó t i d li u từ file v|o Ợorkspace rồi copy v|o c{c vector x, y, z.
C{c c}u l nh cần thực hi n có thể nh sau
>>load diem.txt
t i d li u từ file v|o ma tr n
>>x = diem(:,1);
copy c t c a diem vao vector x
>>y = diem(:,2);
copy c t c a diem v|o vector y
>>z = diem(:,3);
copy c t c a diem v|o vector z
ộh p d li u từ file fscanf
Cho phép t i d li u từ file ma tr n m| c{c kiểu d li u c a c{c phần t l|
khẫng gi ng nhau.
Cú ph{p
>>A = fscanf(fid, format)
ởrong đó file đ c x{c định b i tham s fid (file identifier l| s nguyên x{c
định file có từ l nh fopen cú ph{p fid = fopen(filename) ), format l| định
d ng d li u. ởo|n b d li u có định d ng format sẽ đ c copy từ file x{c định
b i fid v|o trong Ợorkspace v| sắp xếp theo d ng c t.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 9

ỡí dụ file BDTH.txt có n i dung nh sau:


10 8 8.8 A
7 9 7.6 B
5 7 6.2 C
4 5 4.6 D
3 3 3 F
>>fid = fopen(‘BDTH.txt’);
>>B=fscanf(fid,’%d %d %f %c’,[4 inf])
l u ma tr n trong file ‛ỏởH.txt v|o ma tr n ‛ có h|ng % t ơng ng
v i s c t trong ma tr n g c
>>A=B’
‚ l| ma tr n chuyển vị c a ‛
ởhực hi n phép tính v| quan s{t kết qu thu đ c
A =
10.0000 8.0000 8.8000 65.0000
7.0000 8.0000 7.6000 66.0000
5.0000 7.0000 6.2000 67.0000
4.0000 5.0000 4.6000 68.0000
3.0000 3.0000 3.0000 70.0000
ỗưu ý: Ở dụng fscanf để đọc file có c c{c ký tự v| c{c s nh ví dụ trên,
ma tr n tr về sẽ l| ma tr n s , trong đó gi{ trị tr về c a c{c ký tự trong ma tr n
l| gi{ trị t ơng ng trong b ng mã ‚ỞCII.
ởh kiểm tra v i gi{ trị cu i cùng c a h|ng trong ma tr n thu đ c
>>char(A(1,4))
ans =
A
ợu t d li u ra m|n hình disp
Cú ph{p
>>disp(X)
ởrong đó X l| m ng d li u. ỗ nh cho phép xu t ra m|n hình n i dung c a
m ng X m| khẫng đ a ra tên c a m ng n|y.
ởrong tr ng h p X l| m t chu i ký tự, disp cễng sẽ xu t ra n i dung
chu i đó.
ỡí dụ

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 10

>>disp(A)
xu t ra ma tr n ‚ thu đ c từ ví dụ trên
>>nhap = ‘Kiem tra lenh disp’
>>disp(nhap)
Kiem tra lenh disp
ợu t d li u theo định d ng ra file hoặc ra m|n hình fprinf
Cú ph{p
>>fprintf(fileID,formatSpec,A1,...,An)
>>fprintf(formatSpec,A1,...,An)

ởrong đó fileID l| s nguyên x{c định file thu đ c khi s dụng l nh fopen,
formatSpec l| định d ng {p dụng cho c{c phần t c a m ng “ , “ , …, “n.
Cú ph{p th nh t cho phép xu t ra file d li u d i d ng c t {p dụng định
d ng formatSpec đ i v i c{c phần t c a m ng “ , “ , …, “n.
Cú ph{p th hai {p dụng định d ng formatSpec cho d li u v| xu t ra m|n
hình.
C{c định d ng cho vi c xu t, nh p d li u xem b ng phần .
ỡí dụ sau trình b|y c{ch m file vd1.txt v| ghi v|o n i dung d i đ}y
Diem cua sinh vien 1 la: 8
Diem cua sinh vien 2 la: 9
Diem cua sinh vien 3 la: 10
>> A=[1 2 3;8 9 10];
>> fileID=fopen(‘vd1.txt’,’w’);
>> formatSpec=‘Diem cua sinh vien %d la: %d\n’;
>> fprintf(fileID,formatSpec,A);
>> fclose(fileID);
ộ i dung trên cễng có thể xu t trực tiếp ra m|n hình
>> fprintf(formatSpec,A);
ỗ nh fprintf còn cho phép định d ng sẵn s ký tự dùng để biểu di n c{c
biến. ỡí dụ % d sẽ s dụng m t kho ng r ng ký tự để biểu di n m t s nguyên,
% s sẽ s dụng m t kho ng r ng ký tự để biểu di n m t x}u. Đ i v i s thực,
s ch s phần th p ph}n cễng đ c x{c định, ví dụ % . f đồng nghĩa v i vi c

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 11

M‚ởỗ‚‛ sẽ s dụng m t kho ng r ng ký tự bao gồm d u th p ph}n v| phần


th p ph}n v i hai ch s biểu di n phần th p ph}n.
ỗưu ý: ộếu phần biểu di n r ng hơn so v i yêu cầu, c{c ký tự đầu tiên sẽ l|
c{c ký tự tr ng, nếu phần biểu di n phần th p ph}n r ng hơn so v i yêu cầu, c{c
ký tự cu i cùng sẽ l| s .
ỗ u d li u v|o file save
Cú ph{p
>>save filename
>>save filename x
>>save filename x y z
ởrong đó filename l| tên file d li u ng i s dụng mu n dùng để l u c{c
biến x, y, z có trong Ợorkspace.
Có thể l u m t hoặc nhiều biến từ Ợorkspace v|o file bằng c{ch thêm tên
biến ví dụ x, y, z v|o sau chu i ký tự biểu di n tên file.

1.2.4 Help trong MATLAB


ỡề nguyên tắc ta có thể truy xu t mọi thẫng tin về M‚ởỗ‚‛ s dụng ch c
năng tr giúp Help. ỏ i đ}y l| m t s c{ch s dụng đ i v i ch c năng n|y.

Hình 1. 2. Help Browser

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 12

 Ở dụng tr giúp khi biết tên h|m trong c a s l nh, khi gậ


>>help tên_ham, file M-help t ơng ng sẽ hiển thị trong c a s l nh,
bao gồm mẫ t tóm tắt ch c năng c a h|m, cú ph{p v| c{c h|m liên
quan.
 ởìm kiếm thẫng tin liên quan về m t từ khóa trong c a s l nh, khi gậ
>>lookfor tu_khoa, M‚ởỗ‚‛ sẽ hiển thị t t c c{c ch đề liên quan
đến từ khóa vừa nh p, lookfor đặc bi t h u ích khi khẫng nh chính
x{c c{ch viết c a tên h|m.
 Ở dụng Help ‛rowser trình duy t tích h p v i c a s M‚ởỗ‚‛ cho
phép tìm kiếm v| đ a ra kết qu d i d ng t|i li u HởMỗ. Help
‛rowser có thể m theo c{c c{ch s dụng phím help trên thanh cẫng
cụ, gậ helpbrowser hoặc doc trong c a s l nh, chọn Help\Menu help
trên thanh thực đơn. C a s Help ‛rowser bao gồm hai phần chính,
Help ộavigator bên tr{i cho phép tìm kiếm thẫng tin, bên ph i l| n i
dung thẫng tin tìm đ c. ởrong c a s Help ộavigator, thẫng tin có thể
đ c tìm theo c{c ph ơng th c
 Contents C{c mục tìm kiếm sắp xếp theo danh s{ch.
 Index ởìm kiếm theo từ khóa.
 Ởearch results danh s{ch c{c kết qu tìm đ c.
 ỏemos c{c ch ơng trình gi i thi u có sẵn về c{c ðề mục trong
MATLAB.

. Ở lư c v Ộ-file

‛ên c nh vi c cho phép ng i s dụng thao t{c trực tiếp trên c a s l nh,

M‚ởỗ‚‛ cung c p m t chế đ so n th o văn b n qua đó ng i dùng có thể thực

hi n m t t p h p c{c l nh lặp lặp đi lặp l i hoặc tự x}y dựng cho mình c{c h|m

phù h p v i từng yêu cầu cụ thể. ộg i s dụng có thể so n th o v| l u l i d i

d ng file văn b n có phần m r ng l| .m.

M-file có thể đ c t o đơn gi n bằng vi c chọn New trên danh mục File v|

sau đó chọn Script, hoặc gậ l nh edit trên c a s l nh. Ởau khi đã so n th o n i

dung cho M-file, ng i s dụng có thể ch y lần l t t t c c{c n i dung có trong

M-file bằng c{ch gậ tên c a file lên c a s l nh, hoặc có thể copy m t phần c a file

rồi d{n lên c a s l nh để thực thi.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 13

ch ơng m đầu n|y, t{c gi chỉ gi i thi u sơ l c về M-file v i m t s ví

dụ đơn gi n, trong tr ng h p sinh viên đã có kiến th c cơ b n về M‚ởỗ‚‛, có

thể chuyển sang mục . để tìm hiểu kỹ hơn về M-file.

Ởau đ}y l| m t ví dụ về vi c tính t ng, hi u v| th ơng c a hai s a v| b s

dụng M-file để thực hi n.


qh_2so.m
a = 5
b = 3
tong = a +b
hieu = a – b
tich = a*b
M-file qh_2so.m ch a dòng l nh trong đó dòng đầu tiên g{n c{c gi{ trị

cho hai biến a v| b, dòng tiếp theo lần l t tính t ng, hi u, tích t ơng ng c a

hai s trên. Ỗhi gậ qh_ so trên c a s l nh, M‚ởỗ‚‛ sẽ hiển thị nh sau
>>qh_2so
a = 5
b = 3
tong = 8
hieu = 2
tich = 15
ỗ i ích đầu tiên c a vi c s dụng M-file có thể th y đ}y l| nếu ta có nhiều

cặp gi{ trị (a, b) thì chỉ vi c thay gi{ trị t ơng ng v|o qh_2so v| ch y l i file ch

khẫng ph i lặp l i vi c thực hi n c{c l nh tính to{n ngo|i c a s l nh. ‛ên c nh

đó, nh đã nói trên, M‚ởỗ‚‛ cho phép ng i dùng tự x}y dựng c{c h|m v i

c{c tham s đầu v|o cễng nh gi{ trị tr về t ơng ng, sau đ}y l| m t ví dụ đơn

gi n về vi c x}y dựng h|m tính t ng c a hai s


tong.m
function z = tong(a,b)
z = a+b;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 14

end
C u trúc cơ b n đ i v i m t h|m trong M‚ởỗ‚‛ l| dòng khai b{o h|m bắt

đầu bằng từ khóa function, tiếp đến l| c{c thẫng tin liên quan về gi{ trị đầu ra v|

đầu v|o, kết thúc h|m bằng từ khóa end, phần n i dung gi a l| c{c l nh phù

h p theo yêu cầu b|i to{n. H|m tong.m vừa x}y dựng có thể đ c gọi trong c a s

l nh nh sau
>>t1 = tong(3,2)
t1 =
5
>>t2 = tong(6,4)
t2 =
10

1.4 Tóm tắt chư ng 1

Ộ t s ký t đặc bi t
: ở o kho ng c{ch gi a c{c phần t c{ch đều, biểu di n m t
h|ng/c t c a ma tr n
( ) ộgoặc bao tham s h|m, chỉ s m ng, vector
[ ] ộgoặc bao phần t m ng, vector
. ỏ u ngăn c{ch phần nguyên v| phần th p ph}n
… Ỗý hi u dòng liên tục
, ộgăn c{ch c{c c}u l nh v| c{c phần t trên cùng m t h|ng
; ộgắt c t v| khẫng hiển thị kết qu sau khi thực hi n l nh
% ởhể hi n phần chú thích v| c{c định d ng đặc bi t
ộhóm l nh qu n lý
clc ợóa m|n hình c a c a s l nh
clear ợóa biến kh i b nh
help ởr giúp khi biết chính x{c tên h|m
lookfor ởr giúp khi khẫng biết chính x{c tên h|m

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 15

quit ởho{t kh i ch ơng trình M‚ởỗ‚‛


who Hiển thị c{c biến hi n h|nh danh s{ch rút gọn
whos Hiển thị c{c biến hi n h|nh danh s{ch đầy đ
Ộ t s bi n v| hằng đặc bi t
ans Ỗết qu gần nh t thu đ c
i,j Đơn vị phần o, tuy nhiên i v| j cễng th ng xuyên đ c s
dụng nh l| chỉ s trong c{c vòng lặp, để tr{nh xung đ t x y ra,
trong vòng lặp nên s dụng ii hoặc jj l|m chỉ s
inf ỡẫ cùng
nan Ỗết qu s khẫng đ c định nghĩa ộot a ộumber
pi Ở π
ộhóm l nhnh p xu t d li u
input ộh p d li u từ b|n phím
load Đọc d li u từ file, định d ng biến gi ng nhau
fscanf Đọc d li u từ file, định d ng biến kh{c nhau
disp ợu t ra m|n hình n i dung c a m t m ng, m t x}u
fprintf ỗ u d li u có định d ng ra file hoặc ra m|n hình
Đ nh d ng cho fprintf v| fscanf
%c Ỗý tự đơn
%s ợ}u ký tự
%d Gi{ trị nguyên
%f Gi{ trị d u ch m đ ng
\n ợu ng dòng
\t Chèn tab theo ph ơng ngang
\v Chèn tab theo ph ơng dọc
Đ nh d ng s hi n th
format short Hiển thị ch s sau d u phẩy, mặc định
format long Hiển thị ch s sau d u phẩy
format short e Gi ng định d ng short nh ng có thêm phần lễy thừa

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 16

format long e Gi ng định d ng long nh ng có thêm phần lễy thừa


format bank Định d ng theo quy định ng}n h|ng cho dollars v| cents, hai
ch s sau d u phẩy

Bảng 1. 2. Tóm tắt các hàm sử dụng trong chương 1

1.5 ọ|i t p chư ng 1

ọ|i . ộh p l nh
ộh p lần l t c{c l nh sau, tr c khi nh p hãy dự đo{n kết qu in ra m|n hình
a) >>a = 1 + 2 + 3 + 4 + 5 +6
b) >>b = 1 + 2 + 3 + 4 + 5 + 6;
c) >>b +3
d) >>1 + 2 + 3 + 4 + 5 + 6
e) >>c = 10*ans
Đáp án:
a) a = gi{ trị c a t ng + + + + + l u v|o biến a, kết qu a = hiển
thị trên c a s l nh.
b) b = , kết qu c a phép tính khẫng hiển thị trên m|n hình c a s l nh do
có d u ; cu i c}u l nh, tuy nhiên gi{ trị c a t ng + + + + + v n
đ c l u v|o biến b.
c) ans = , kết qu phép tính b + 3 hiển thị trên m|n hình c a s l nh, trong
tr ng h p phép tính khẫng x{c định biến l u kết qu nh c}u n|y, kết
qu sẽ tự đ ng g{n v|o biến ans.
d) ans = 21
e) c = Ỗết qu c}u n|y phụ thu c v|o c}u d do có s dụng biến ans trong
phép tính, do c}u d ta có ans = 21 nên c = 210.

ọ|i . C{c phép tính c b n


ởhực hi n c{c phép tính sau trong M‚ởỗ‚‛
3  22
16  5 2
a)

b) 4 2 / 2

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 17


c) sin
4
d) log(e)
Đáp án:
a) 0.1707
b) 2.5198
c) 0.7071
d) log(exp(1))  1
ỗưu ý: th tự u tiên c{c phép tính trong M‚ởỗ‚‛. ởrong M‚ởỗ‚‛, c{c phép
tính đ c thực hi n theo th tự nh quy định trong đ i s , trong đó l)y thừa
thực hi n tr c, tiếp theo l| c{c phép nhân, chia rồi đến cộng, trừ. ởuy nhiên khi
xu t hi n ngoặc , phép tính trong ngoặc sẽ đ c u tiên tr c. Đ i v i
nh ng phép tính có cùng m c u tiên, trình tự tính to{n tiến h|nh từ tr{i qua
ph i.
ỡí dụ Phép tính d i đ}y đ c thực hi n trong M‚ởỗ‚‛ nh sau

 
1 4 6
23 5 7
2

>>1/(2 + 3^2) + 4/5 * 6/7


ans =
0.7766
ởuy nhiên trong tr ng h p khẫng có ngoặc
>>1/2 + 3^2 + 4/5 * 6/7
ans =
10.1857
ọ|i . Tính to{n v i bi n
G{n cho x gi{ trị , thực hi n c{c phép tính sau trong M‚ởỗ‚‛
x2
a)
6
b) e1 x
2

x
1 x2
c)

d) x 3 sin( x 2 )
e) x1 / 2

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 18

tan 1 ( x)
1 x2
f)

Đáp án: tr c tiên cần nh p >>x = 2


a) 1.3333
b) 148.4132
c) 0.8944
d) -6.0544
e) 1.2599
f) 0.2214
ọ|i . ỗ|m tròn
Ỗiểm tra gi{ trị c a c{c phép tính sau
a) round(6/9)
b) floor(6/9)
c) ceil(6/9)
Đáp án:
a) 1
b) 0
c) 1
ọ|i . ọi n v| hằng đặc bi t
Gậ c{c l nh sau v|o M‚ởỗ‚‛ v| dự đo{n kết qu thu đ c
a) exp(i*pi)
b) 1/0
c) Inf/Inf
Đáp án:
a) ei  cos( )  i sin( )  1  0i
MATLAB: ans =
-1.0000 + 0.0000i
b) Inf
c) NaN
ọ|i . Ởave v| ỗoad
ỏùng l nh save t o file bai1_6 ch a hai biến sv v| diem có gi{ trị nh sau
>>sv = [1;2;3;4;5];
>>diem = [6.25;7;8.50;9.75;10];
ợóa Ợorkspace, dùng l nh load để t i l i c{c biến sv, diem v|o Ợorkspace

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 19

Đáp án:
>>save bai1_6 sv diem
>>clear all
>>load bai1_6
Có thể s dụng load để t i v|o Ợorkspace c{c biến cụ thể từ file theo cú
ph{p load filename var, ví dụ b|i n|y có thể dùng >>load vd1_6 diem để
chỉ load biến diem từ file v|o Ợorkspace.
ọ|i . fopen v| fscanf
Ở dụng m t ch ơng trình so n th o b t kỳ, t o file bai1_7.txt có n i dung
l| m t ma tr n nh sau
1 2 3 4
5 6 7 8
0 0 0 0
Ở dụng fopen v| fscanf để hi n thị l i ma tr n trên lên m|n hình c a s
l nh.
Đáp án: để s dụng fscanf tr c tiên ta cần thẫng s fid l y từ l nh fopen
>>fid = fopen(‘bai1_7.txt’);
ỗưu ý: khi dùng fopen, tên file đ a v|o khẫng có phần m r ng, M‚ởỗ‚‛
sẽ tự đ ng tìm .mat file có tên nh tên đ a v|o, nếu fopen khẫng thể m
đ c file, fid sẽ nh n gi{ trị = -1.
>>fscanf(fid, ‘%d’, [4,3]);
M‚ởỗ‚‛ l|m vi c v i ma tr n theo c t, m{y tính x lý file theo dòng. ốile
bai1_7.txt có ma tr n h|ng c t t ơng đ ơng v i s dòng c a file l| . Ỗhi
thực thi, fscanf đọc từng s c a file, l y s đầu c a h|ng , tiếp đến s
c a h|ng , cu i cùng l| s c a h|ng , đ a t t c s n|y v|o m t ma
tr n m t c t. Ởinh viên có thể tự kiểm tra l i bằng c{ch nh p l nh
>>fscanf fid, %d thay vì >>fscanf fid, %d , , . ví dụ n|y ta s dụng
, để yêu cầu M‚ởỗ‚‛ t i d li u từ file v|o ma tr n h|ng c t. ộh
v y phần t c a dòng th nh t trong file đ c đ a v|o vị trí t ơng ng
c a c t ma tr n m i t o, phần t c a dòng th hai đ c đ a từ file v|o
vị trí t ơng ng c a c t Ma tr n thu đ c sau b c n|y sẽ có d ng:
1 5 0
2 6 0
3 7 0
4 8 0

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 20

Để thu đ c ma tr n nh trong file, ta cần thực hi n b c chuyển vị ma


tr n
>>ans’
ọ|i . fprintf in ra m|n hình
ỗoad l i hai biến sv, diem b|i . v|o Ợorkspace, dùng l nh fprintf in kết
qu sau ra m|n hình trong đó phần điểm có hai ch s sau d u th p ph}n.
1 6.25
2 7.00
3 8.50
4 9.75
5 10.00
Đáp án:
>>ds = [sv’; diem’];
>>formatSpec=‘%d\t%.2f\n’;
>>fprintf(formatSpec,ds);
Hoặc
>>fprintf(‘%d\t%.2f\n’,ds)
ọ|i . fprintf xu t ra file
Ở dụng l nh fprintft o file bai1_9.txt có n i dung sau s dụng biến ds
trong b|i .
Bang diem sinh vien
STT Diem
1 6.25
2 7.00
3 8.50
4 9.75
5 10.00
Đáp án:
>>fid=fopen(‘bai1_9.txt’,’w’);
>> fprintf(fid,’Bang diem sinh vien\n’);
>> fprintf(fid,’STT\tDiem\n’);
>> fprintf(fid,’%d\t%.2f\n’,ds);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 21

>> fclose(fid);
ọ|i . Input
ở o biến r có gi{ trị nh p v|o từ b|n phím l| b{n kính c a hình cầu theo
cm. In ra m|n hình thể tích v| di n tích bề mặt hình cầu theo m u sau
The tich hinh cau la V cm khoi
Dien tich hinh cau la S cm vuong
trong đó gi{ trị thể tích v| di n tích có hai ch s sau d u th p ph}n
Cẫng th c tính thể tích v| di n tích bề mặt t ơng ng
V    r 2 , S  4  r 2
4
3
Đáp án:
>>r = input(‘Nhap ban kinh hinh cau (cm): ‘);
>>tt = 4/3*pi*r^3;
>>dt = 4*pi*r^2;
>>fprintf('\nThe tich hinh cau la %.2f cm khoi\nDien
tich hinh cau la %.2f cm vuong\n',tt,dt);
ọ|i . Đ iđ nv
ở o biến pounds để l u trọng l ng theo pounds có gi{ trị nh p v|o từ b|n
phím, đ i ra kilograms v| g{n gi{ trị cho biến kilos. Gi{ trị quy đ i l|
1 kilogramm = 2.2 pounds
ọ|i . Đ i đ n v ti p
ở o biến ftemp để l u nhi t đ theo ốahrenheit ố có gi{ trị nh p v|o từ
b|n phím, đ i ra đ Celcius C v| l u kết qu v|o biến ctemp. Gi{ trị quy
đ i l|

C  ( F  32) 
5
9

ọ|i . Đ nh d ng hi n th
ởìm lựa chọn cho l nh format để có thể hiển thị kết qu sau
>>5/16 + 2/7
ans =
67/112
ọ|i . ộhi t đ c m nh n v| nhi t đ th c t

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 22

Gió th ng l|m cho khẫng khí l nh hơn so v i thực tế. Cẫng th c tính
nhi t đ c m nh n khi biết nhi t đ thực tế ở đ Celcius v| v n t c gió ỡ
km/h hai gi{ trị ở, ỡ nh p v|o từ b|n phím
WT  0.045  (5.2735  V  10.45  0.2778 V )  (T  33.0)  33
ở o biến ở, ỡ l u nhi t đ c m nh n v| t c đ gió có gi{ trị nh p từ b|n
phím, tính gi{ trị nhi t đ c m nh n, in ra m|n hình kết qu nh sau
Nhiet do thuc te: (do C)
Toc do gio: (km/h)
Nhiet do cam nhan: (do C)
Ỗiểm tra v i ở = do C , ỡ = km/h
ọ|i . rand
H|m rand cho phép t o s thực trong kho ng ,
a) ở os thực trong kho ng ,
b) ở os thực trong kho ng ,
c) ở os thực trong kho ng ,
d) ở os nguyên trong kho ng ,
e) ở os nguyên trong kho ng ,
f) ở os nguyên trong kho ng ,
ọ|i . ọi u di n s th c
Ở dụng fprintf biểu di n s thực .
a) ởrong kho ng r ng ký tự v i ch s phần th p ph}n
b) ởrong kho ng r ng ký tự v i ch s phần th p ph}n
c) ởrong kho ng r ng ký tự v i ch s phần th p ph}n
d) ởrong kho ng r ng ký tự v i ch s phần th p ph}n
ọ|i . ọi u di n ký t
ở o hai biến sau
x = 12.34
y = 4.56
Điền v|o ch tr ng trong l nh fprintf d i đ}y để có thể hiển thị c{c kết qu
a) >>fprintf(
0123456789
0000012.340
b) >>fprintf(

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 23

0123456789
12
c) >>fprintf(
0123456789
4.6
d) >>fprintf(
0123456789
4.6 !
G i ý Để chuyển đ i m t ch th|nh s t ơng ng trong b ng mã ‚ỞCII s
dụng l nh double hoặc int32, ví dụ >>double a sẽ đ a ra kết qu . Để
chuyển ng c l i dùng h|m char, ví dụ >>char(97) sẽ đ a ra kết qu a.
ọ|i . ọ|i to{n thu nh p
ởrung bình con ng i s dụng đến % thu nh p cho thực phẩm. ở o
biến l u gi{ trị thu nh p m t năm c a m t ng i nh p từ b|n phím
dollars , in ra m|n hình s tiền bình qu}n ng i đó s dụng trong m t
th{ng để mua thực phẩm biểu di n bằng s th p ph}n có hai ch s sau
d u th p ph}n
Thu nhap mot nam cua ban la:
Moi thang ban su dung tu X den Y dollars de mua thuc pham
ọ|i . V n t c m{y bay
ỡ n t c m{y bay th ng ghi theo miles/h hoặc m/s. ở o biến l u v n t c
m{y bay theo miles/h nh p v|o từ b|n phím v| in ra m|n hình v n t c m/s.
‛iết rằng h = s, mile = feet, foot = . m feet l| s nhiều c a
foot)
Nhap van toc may bay theo (miles/hour):
Van toc may bay theo meters/second la:

ọ|i . ỏi n tích hình ch nh t


ở o biến l u chiều d|i v| chiều r ng c a hình ch nh t theo cm nh p từ
b|n phím, in ra m|n hình di n tích hình ch nh t theo m 2 biểu di n bằng
s th p ph}n chính x{c đến .
Nhap chieu dai hinh chu nhat theo cm:
Nhap chieu rong hinh chu nhat theo cm:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 1. M Đ U 24

Dien tich hinh chu nhat la S (met vuong)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 25

Chư ng . VỐCTỚờ Vủ ỘỌ Tờ ộ

. Vector v| ma tr n trong ỘỌTỗỌọ

ỡector v| ma tr n trong M‚ởỗ‚‛ đ c dùng để l u m t t p h p c{c gi{ trị


cùng kiểu. M t vector có thể l| vector h|ng hoặc vector c t. Ma tr n có thể hiểu
nh m t b ng c{c gi{ trị. Chiều c a ma tr n th ng biểu di n d i d ng
m  n trong đó m l| s h|ng, n l| s c t t ơng ng c a ma tr n. ộếu m t vector có
n phần t , chiều c a vector h|ng t ơng ng đ c biểu di n l| 1  n , vector c t
đ c biểu di n l| n  1 .
M t gi{ trị vẫ h ng có chiều l| 1 1 . ỡector v| gi{ trị vẫ h ng thực ra l|
tr ng h p đặc bi t c a ma tr n. Hình d i từ tr{i qua ph i l| biểu di n t ơng
ng c a gi{ trị vẫ h ng, vector c t, vector h|ng, ma tr n.
1 1 1 2 3 4 1 2 3
2 4 5 6
3

M‚ởỗ‚‛ đ c viết ra v i mục đích l|m vi c v i c{c ma tr n, do đó trong


M‚ởỗ‚‛ r t d d|ng t o c{c biến vector v| ma tr n cễng nh ch a r t nhiều h|m
v| phép to{n x lý vector, ma tr n.

. Thi t l p ma tr n trong ỘỌTỗỌọ

Thi t l p vector h|ng


Có nhiều c{ch để thiết l p vector h|ng trong M‚ởỗ‚‛, trong đó trực tiếp
nh t l| nh p gi{ trị c{c phần t c a vector v|o trong ngoặc vuẫng [ ], ngăn c{ch
gi a c{c phần t b i ký tự tr ng hoặc d u phẩy. ỡí dụ: C hai c}u l nh d i đ}y
cùng t o ra vector v.
>>v = [ 1 2 3 4];
>>v = [ 1, 2, 3, 4]
v =

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 26

1 2 3 4
ởrong tr ng h p c{c phần t trong ma tr n có gi{ trị c{ch đều nhau, d u :
có thể s dụng để thiết l p vector, trong tr ng h p n|y khẫng cần s dụng
ngoặc vuẫng [ ] n a. ỡí dụ
>>v1 = 1 : 5
v1 =
1 2 3 4 5
ỏ u : cễng có thể s dụng để thiết l p vector m| c{c phần t c{ch nhau m t
kho ng cho tr c theo cẫng th c s đầu kho ng c{ch s cu i ).
ỡí dụ: T o vector gồm c{c s nguyên từ đến c{ch đều
>>v2 = 1 : 2 : 9
v2 =
1 3 5 7 9
ỡí dụ ỏự đo{n v| kiểm tra kết qu bằng M‚ởỗ‚‛ khi kho ng c{ch nh p
v|o d n đến vi c v t qu{ kho ng định nghĩa b i s đầu s cu i
>>1 : 2 : 6
ỗ nh n|y sẽ t o m t vector bao gồm c{c phần t , , . ởăng thêm v|o
sẽ v t qua , vì thế vector sẽ dừng . Ỗết qu hiển thị sẽ l|:
1 3 5
ở ơng tự ta có h|m linspace (lineary spaced), cho phép t o vector có c{c
phần t c{ch đều theo cú ph{p sau
>>linspace (x, y, n)
Trong đó n l| s phần t sẽ đ c t o ra nằm trong kho ng gi i h n gi a x
v| y. Đ i v i tr ng h p n = 1 h|m linspace sẽ tr về gi{ trị y.
ỡí dụ: L nh sau sẽ t o vector có phần t trong kho ng đến
>>ls = linspace (3, 15, 5)
ls =
3 6 9 12 15
ỡector cễng có thể đ c thiết l p dựa trên nh ng biến có sẵn. ỡí dụ: Vector
m i đ c thiết l p d i đ}y bao gồm t t c c{c phần t c a vector v2 v| vector ls:
>>newvec = [v2 ls]
newvec =
1 3 5 7 9 3 6 9 12 15
Truy xu t v| thay đ i c{c ph n t trong m t vector

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 27

ởrong M‚ởỗ‚‛, c{c phần t trong m t vector đ c đ{nh s lần l t theo


th tự, bắt đầu từ . ỡí dụ: Chỉ s c a c{c phần t trong vector newvec đ c thể
hi n d i đ}y
1 2 3 4 5 6 7 8 9 10
1 3 5 7 9 3 6 9 12 15

M i phần t trong vector có thể truy xu t đến bằng c{ch s dụng tên vector
v| chỉ s c a phần t đó trong ngoặc ( ). ỡí dụ: Phần t th c a vector newvec
l|
>>newvec (5)
ans =
9
Ở dụng d u : cễng có thể truy xu t đến c{c phần t trong m t vector. ỡí
dụ: C}u l nh sau sẽ l y từ phần t th t đến phần t th s{u c a vector newvec
v| l u gi{ trị v|o vector b:
>>b = newvec (4 : 6)
b =
7 9 3
‛ên c nh vi c s dụng d u : c{c phần t trong vector n|y có thể đ c truy
xu t b i c{c vector kh{c, gọi l| vector chỉ s . ỡí dụ: C}u l nh sau sẽ l y ra phần t
th nh t, th năm v| th m i c a vector newvec:
>>newvec ([1 5 10])
ans = 1 9 15
Gi{ trị c a m i phần t trong m t vector có thể thay đ i bằng c{ch g{n gi{
trị kh{c cho phần t c a vector đó vị trí t ơng ng. ỡí dụ: Phần t th hai c a
vector b sau khi thực hi n c}u l nh d i đ}y sẽ ch a gi{ trị l|
>>b (2) = 11
b =
7 11 3
Ỗhi g{n gi{ trị cho m t phần t trong m t vector m| chỉ s c a phần t đó
khẫng tồn t i, ta có thể m r ng vector đó. ỡí dụ vector b trên có phần t . Ỗhi
ta g{n gi{ trị cho phần t th t c a b, b tr th|nh vector có phần t
>>b (4) = 1
b =
7 11 3 1

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 28

ộếu chỉ s nh p v|o v| chỉ s phần t cu i cùng c a vector khẫng ph i l|


hai s liên tiếp, t t c c{c phần t gi a sẽ nh n gi{ trị . ỡí dụ: L nh sau tiếp tục
m r ng vector b:
>>b (6) = 13
b =
7 11 3 1 0 13
Thi t l p vector c t
C{ch thẫng dụng để t o vector c t l| nh p gi{ trị c{c phần t v|o trong
ngoặc vuẫng [ ], ngăn c{ch b i d u ;
>>c = [1; 2; 3; 4]
c =
1
2
3
4
Ỗhẫng thể s dụng d u : để t o vector c t m t c{ch trực tiếp. ởuy nhiên có
thể {p dụng phép chuyển vị lên mọi vector h|ng để t o ra vector c t t ơng ng.
>>r = 1 : 3;
>>c = r’
c =
1
2
3
Thi t l p ma tr n
ởhiết l p m t ma tr n t ơng đ ơng v i vi c t o ra c{c vector h|ng v|
vector c t trong ma tr n đó. ởrong đó c{c gi{ trị trên cùng m t h|ng ngăn c{ch
nhau b i d u phẩy hoặc ký tự tr ng, v| c{c h|ng kh{c nhau ngăn c{ch b i d u
ch m phẩy.
>>mat = [4 3 1; 2 5 6]
mat =
4 3 1
2 5 6

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 29

ỗ u ý Ở phần t m i h|ng ph i luẫn bằng nhau. ởr ng h p ma tr n


nh p v|o có s phần t c{c h|ng l| kh{c nhau, kết qu nh n đ c sẽ l| thẫng
b{o l i.
>>mat = [3 5 7; 1 2]
??? Error using ==> vertcat
CAT arguments dimensions are not consistent
Để ph}n bi t c{c dòng trong ma tr n, bên c nh vi c s dụng d u ; còn có
thể s dụng phím Enter
>>newmat = [2 6 88
33 5 2]
newmat =
2 6 88
33 5 2
Ma tr n gồm c{c s ng u nhiên có thể đ c thiết l p s dụng h|m rand
theo cú ph{p sau
>>rand(n)
>>rand(m,n)
ởrong đó m, n l| c{c tham s biểu di n chiều c a ma tr n t ơng ng t o
th|nh.
Ỗhi truyền m t tham s n cho h|m rand, ma tr n t o th|nh sẽ l| m t ma
tr n vuẫng n  n , khi h|m rand có hai tham s m, n, ma tr n t o th|nh sẽ l| ma
tr n m h|ng n c t.
>>rand (2)
ans =
0.3527 0.4068
0.9982 0.1764
>>rand(1, 3)
ans =
0.3754 0.4464 0.7862
Ộ t s ma tr n đặc bi t
Ma tr n m × n m| t t c c{c phần t đều nh n gi{ trị , t o b i l nh zeros(m,
n)
Ma tr n m × n m| t t c c{c phần t đều nh n gi{ trị , t o b i l nh ones(m,
n)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 30

Ma tr n n × n m| chỉ có c{c phần t đ ng chéo nh n gi{ trị kh{c , t o b i


l nh diag(v) trong đó v l| vector ch a c{c phần t đ ng chéoc a ma tr n
đó.
Ma tr n đơn vị n × n m| t t c c{c phần t trên đ ng chéo đều nh n gi{ trị
, t o b i l nh eye(n)
Truy xu t v| thay đ i c{c ph n t trong ma tr n
Có thể truy xu t đến c{c phần t đơn lẻ c a ma tr n s dụng tên ma tr n đi
kèm v i chỉ s h|ng, chỉ s c t trong ngoặc ( ) chỉ s h|ng luẫn đ ng tr c chỉ s
c t . ỡí dụ: T o m t ma tr n v| truy xu t đến phần t h|ng th hai, c t th ba
c a ma tr n đó.
>>mat = [2 : 4; 3 : 5]
mat =
2 3 4
3 4 5
>>mat (2, 3)
ans =
5
ỡí dụ: Truy xu t đến t t c c{c phần t nằm trên h|ng m t đến h|ng hai,
c t hai đến c t ba c a ma tr n mat.
>>mat (1 : 2, 2: 3)
ans =
3 4
4 5
Chỉ s dụng d u hai ch m : đồng nghĩa v i vi c l y t t h|ng hoặc c t c a
ma tr n. ỡí dụ: Truy xu t đến t t c c{c c t c a h|ng th nh t t t c c{c phần t
trên h|ng n|y .
>>mat (1, :)
ans =
2 3 4
ỡí dụ: Truy xu t đến t t c c{c phần t nằm trên c t hai c a ma tr n mat.
>>mat(:, 2)
ans =
3
4

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 31

ộếu chỉ s dụng m t chỉ s ch s tuy n tính để truy xu t đến c{c phần
t trong ma tr n, M‚ởỗ‚‛ khi đó sẽ sắp xếp l i t t c c{c phần t ma tr n đó v|o
m t c t. ỡí dụ ma tr n intmat đ c t o đ}y, phần t th nh t v| th hai c a ma
tr n l| hai phần t t ơng ng c a c t th nh t, phần t th ba v| th t c a ma
tr n l| phần t th nh t v| th hai c a c t th hai.
>>intmat = [100 77; 28 14]
intmat =
100 77
28 14
>>intmat (1)
ans = 100
>>intmat (2)
ans = 28
>>intmat (3)
ans = 77
>>intmat (4)
ans = 14
Để thay đ i gi{ trị c a c{c phần t đơn lẻ trong ma tr n, có thể truy xu t
đến v| g{n cho phần t đó gi{ trị m i. ỡí dụ: Đ i v i ma tr n mat t o tr c đó
>>mat(1, 2);
ans =
2 11 4
3 4 5
ở ơng tự có thể thay đ i gi{ trị c a c m t h|ng hoặc m t c t c a ma tr n
>>mat (2, :) = 5:7
ans =
2 11 4
5 6 7
Để m r ng ma tr n, khẫng thể chỉ thêm v|o m t phần t vì khi đó sẽ l|m
s phần t c a m i h|ng tr nên kh{c nhau m| cần thêm v|o c h|ng hoặc c t. ỡí
dụ: Chèn thêm c t th t v|o ma tr n mat trên
>>mat (:, 4) = [9; 2]
mat =
2 11 4 9

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 32

5 6 7 2
ở ơng tự nh đ i v i vector, nếu h|ng hoặc c t thêm v|o so v i h|ng hoặc
c t cu i cùng c a ma tr n hi n th i khẫng ph i l| liền nhau, M‚ởỗ‚‛ sẽ tự điền
đầy ma tr n bằng c{c gi{ trị . ỡí dụ: Chèn thêm h|ng th t v|o ma tr n mat chỉ
có hai h|ng
>>mat (4, :) = 2 : 2 : 8
ans =
2 11 4 9
5 6 7 2
0 0 0 0
2 4 6 8

Ỗích thư c c a ma tr n
C{c h|m length, size trong M‚ởỗ‚‛ đ c s dụng để x{c định kích th c
c a vector v| ma tr n. Cú ph{p gọi h|m nh sau
>>length(X)
>>size(X)
ởrong đó X l| vector, ma tr n đ c quan t}m.
H|m length tr về s phần t c a m t vector. H|m size tr về s h|ng v|
s c t c a ma tr n hoặc vector. ỡí dụ vector vec t o d i đ}y có b n phần t , nh
v y gi{ trị tr về c a h|m length vec sẽ có gi{ trị l| . ỡector vec cễng có thể coi l|
m t ma tr n m t h|ng b n c t, nh v y kích th c c a vec sẽ l| × .
>>vec = -2 : 1
vec = -2 -1 0 1
>>length (vec)
ans =
4
>>size (vec)
ans =
1 4
H|m size tr về s h|ng v| s c t c a m t ma tr n vì thế để có thể l u c{c
gi{ trị n|y v|o c{c biến kh{c nhau ta có thể s dụng m t vector có hai biến vế

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 33

tr{i c a c}u l nh. ‛iến h sẽ l u gi{ trị đầu tiên tr về, t ơng ng v i s h|ng c a
ma tr n, biến c sẽ l u gi{ trị s c t.
>>mat = [1 : 3; 5 : 7]’
mat =
1 5
2 6
3 7
>>[h, c] = size (mat)
h =
3
c =
2
Ỗhi s dụng v i ma tr n, h|m length sẽ tr về s h|ng hoặc s c t c a ma
tr n đó, tùy v|o gi{ trị n|o l n nh t.
>>length (mat)
ans =
3
ộgo|i ra trong M‚ởỗ‚‛ còn có h|m numel tr về t ng s phần t trong
m t vector hoặc ma tr n theo cú ph{p sau
N = numel(A)
ởrong đó ộ l| s phần t tr về c a m ng ‚
Đ i v i vector, h|m n|y có ý nghĩa t ơng đ ơng h|m length, đ i v i ma
tr n, numel tr về gi{ trị l| tích c a s h|ng v| s c t c a ma tr n đó.
>>numel (vec)
ans =
4
>>numel (mat)
ans =
6

. C{c phép to{n c b n đ i v i ma tr n, vector

ớhép c ng hai ma tr n t ơng đ ơng v i vi c c ng từng phần t t ơng ng


c a hai ma tr n đó, điều n|y đồng nghĩa v i vi c hai ma tr n ph i có cùng kích
th c. ớhép c ng ma tr n có thể biểu di n nh sau cij  aij  bij . Trong MATLAB,

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 34

phép c ng hai ma tr n có thể đ c thực thi s dụng phép to{n +. ở ơng tự phép
trừ hai ma tr n thực hi n b i phép to{n -, biểu di n cij  aij  bij .

ớhép nh}n v i m t s l| phép nh}n t t c c{c phần t c a m t ma tr n v i


m t s , thực thi trong M‚ởỗ‚‛ b i phép to{n *.
ớhép nh}n m ng cho phép nh}n từng phần t t ơng ng c a hai ma tr n
chú ý khẫng ph i phép nh}n ma tr n , điều ki n l| hai ma tr n ph i có cùng kích
th c, đ c thực hi n trong M‚ởỗ‚‛ b i phép to{n .*
>>A = [1 : 3; 4 : 6];
>>B = [100 10 1; 10 100 1];
>>C = A .* B
C =
100 20 3
40 500 6
ớhép nh}n ma tr n ‚ v i ma tr n ‛ để thu đ c ma tr n C chỉ đ c thực
hi n khi s c t c a ma tr n ‚ bằng v i s h|ng c a ma tr n ‛. ộếu ma tr n ‚ có
kích th c m × n, ma tr n ‛ ph i có kích th c n × p. Ma tr n C thu đ c sẽ có s
h|ng bằng v i s h|ng c a ma tr n ‚ v| s c t bằng v i s c t c a ma tr n ‛.

Amn Bn p  C m p cij   aik bkj


n

k 1

ớhép lễy thừa ma tr n ‚ thực hi n liên tiếp phép nh}n ma tr n ‚ v i chính


nó. Ma tr n ‚ cần ph i l| ma tr n vuẫng để thực hi n phép tính n|y.
Ộa tr n chuy n v c a ma tr n ‚ l| ma tr n ‚ có h|ng v| c t đ i vai trò
cho nhau, ký hi u ‚T, trong M‚ởỗ‚‛ đ c thực hi n b i phép to{n ‘.
>>A = [1 : 3; 4 : 6];
>>AT = A’
AT =
1 4
2 5
3 6
Ộa tr n ngh ch đ o nếu kết qu c a phép nh}n ma tr n ‚ v i m t ma tr}n
kh{c l| m t ma tr n đơn vị, ta có thể nói ma tr n kia chính l| ma tr n nghịch đ o
c a ‚. ởrong M‚ởỗ‚‛ có thể tính ma tr n nghịch đ o c a ma tr n ‚ bằng h|m
inv.
>>A = [1 2; 2 2]
A =

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 35

1 2
2 2
>>Ainv = inv(A)
Ainv =
-1.0000 1.0000
1.0000 -0.5000
>>A*Ainv
ans =
1 0
0 1
ộếu ma tr n ‚ l| ma tr n khẫng kh nghịch, M‚ởỗ‚‛ sẽ đ a ra l i c nh
b{o v| cễng có thể đ a ra ma tr n m| c{c phần t đều l| Inf.
>>inv([1 1; 0 0])
Warning: Matrix is singular to working precision
ans =
Inf Inf
Inf Inf
Đ nh th c c a ma tr n vuẫng ‚ trong M‚ởỗ‚‛ đ c tính theo h|m det.
ồ ng c a ma tr n ‚ trong M‚ởỗ‚‛ đ c tính theo h|m rank.
ớhép nh}n vô hư ng c a hai vector t ơng tự nh phép nh}n ma tr n khi ta
nh}n vector h|ng av i vector c t b, kết qu thu về l| m t gi{ trị vẫ h ng m t s .
ởrong M‚ởỗ‚‛ có thể thực hi n bằng c{ch s dụng phép to{n * gi a a v| chuyển
vị c a b, hoặc s dụng h|m dot theo cú ph{p
>>C = dot(A, B);
ởrong đó C l| gi{ trị tích vẫ h ng c a hai vector A v| B
ỡí dụ
>>vec1 = [4 2 5 1];
>>vec2 = [3 6 1 2];
>>vec1 * vec2’
ans =
31
>>dot(vec1, vec2)
ans =
31

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 36

ớhép nh}n có hư ng c a hai vector trong khẫng gian ba chiều l| m t


vector vuẫng góc v i hai vector trên, nói c{ch kh{c chính l| vector ph{p tuyến c a
mặt phẳng t o b i hai vector đó. ởrong M‚ởỗ‚‛ phép to{n n|y thực hi n b i
h|m cross theo cú ph{p sau
>>C = cross(A, B)
ởrong đó C l| vector hình th|nh b i tích có h ng c a hai vector ‚ v| ‛
>>vec1 = [4 2 5];
>>vec2 = [3 6 1];
>>cross(vec1, vec2)
ans =
-28 11 18

. Đ i s tuy n tính

ợét h ph ơng trình đ i s tuyến tính m × n gồm m ph ơng trình n ẩn s


a11 x1  a12 x2  a13 x3  ...  a1n xn  b1

a21 x1  a22 x2  a23 x3  ...  a2n xn  b2

a31 x1  a32 x2  a33 x3  ...  a3n xn  b3

.
am1 x1  am2 x2  am3 x3  ...  amn xn  bm

H ph ơng trình n|y có thể biểu di n d i d ng ma tr n ‚x = b trong đó A


l| ma tr n h s , x l| vector c t ch a c{c ẩn, b l| vector c t ch a c{c h s vế ph i
c a ma tr n.
 a11 ... a1n   x1   b1 
a ... a2 n   x2  b2 
a12 a13
 21 a22 a23
 a31 ... a3n   x3    b3 
    
a32 a33
    
 am1 ... amn   xn  bn 
...
am 2 am3

A x b
H ph ơng trình trên có thể gi i m t c{ch đơn gi n trong M‚ởỗ‚‛ s
dụng phép chia tr{i mldivide , hoặc nh}n c hai vế v i ma tr n nghịch đ o c a
A.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 37

A1 Ax  A1b
Ix  A1b
x  A1b
ỡí dụ ta có h ba ph ơng trình ba ẩn x1, x2, x3
4 x1  2 x2  1x3  7
1x1  1x2  5 x3  10
2 x1  3x2  1x3  2

ỡiết l i h d i d ng Ax = b
 4 1 1   x1   7 
 1 1 5   x   10 
  2  
 2 3 1  x3   2 

Gi i h dùng h|m inv


>>A = [4 -2 1; 1 1 5; -2 3 -1];
>>b = [7 10 2];
>>x = inv(A)*b
x =
3.0244
2.9512
0.8049
>>x = A\b
x =
3.0244
2.9512
0.8049
ỗ u ý ph}n bi t phép chia tr{i, chia ph i:
 C = A\‛ t ơng đ ơng v i C = ‚-1*‛, để thực hi n phép tính n|y,
điều ki n l| ‚ ph i l| ma tr n kh nghịch.
 C = ‚/‛ t ơng đ ơng v i C = ‚*‛-1, để thực hi n phép tính n|y, điều
ki n l| ‛ ph i l| ma tr n kh nghịch.
 (B/A) = (‚ \‛
ớhép chia tr{i s x = A\b dụng trong M‚ởỗ‚‛ để tìm nghi m c a h
ph ơng trình tuyến tính đẫi khi đ a ra l i c nh b{o sau khi thực hi n l nh nh
sau: >>Warning: Matrix is close to singular or badly scaled. Results maybe
inaccurate. RCOộỏ = hoặc >>Warning: Matrix is singular to working precision.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 38

C nh b{o trên đồng nghĩa v i vi c kết qu thu đ c th ng khẫng chính x{c. ởuy
nhiên cễng có khi M‚ởỗ‚‛ khẫng đ a ra c nh b{o nh ng kết qu thu đ c l i
khẫng đ{ng tin c y do M‚ởỗ‚‛ đ a ra nghi m bình ph ơng t i thiểu c a h ví
dụ tr ng h p ‚ khẫng ph i l| ma tr n vuẫng , vì v y điều quan trọng khi s
dụng phép chia tr{i l| luẫn kiểm tra kết qu thu đ c bằng c{ch so s{nh A*x v| b.

s tuyến tính đều bắt đầu bằng vi c thiết l p ma tr n  A | b v| {p dụng c{c phép
ớhép kh Ồauss v| Ồauss – Jordan s dụng trong vi c gi i h ph ơng trình đ i

biến đ i lên c{c h|ng c a ma tr n n|y nh}n t t c c{c phần t trong h|ng v i m t
s , đ i ch c{c h|ng trong ma tr n, thay thế m t h|ng bằng c{ch c ng hoặc trừ v i
c{c h|ng kh{c để thu về ma tr n tam gi{c trên có cùng t p nghi m. ớh ơng ph{p
Gauss từ đ}y sẽ {p dụng thế ng c để tìm ra t p nghi m c a h ph ơng trình
trong khi ph ơng ph{p Gauss –ổordan sẽ tiếp tục kh để thu về ma tr n đ ng
chéo từ đó suy ra t p nghi m c a h ph ơng trình.
ỡí dụ
>>a = [ 1 3 0; 2 1 3; 4 2 3]
a =
1 3 0
2 1 3
4 2 3
>>b = [1 6 3]’
b =
1
6
3
>>ab = [a b]
ab =
1 3 0 1
2 1 3 6
4 2 3 3
>>ab(2, :) = ab(2, :) – 2*ab(1, :)
ab =
1 3 0 1
0 -5 3 4
4 2 3 3
>>ab(3, :) = ab(3, :) – 4*ab(1, :)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 39

ab =
1 3 0 1
0 -5 3 4
0 -10 3 -1
>>ab(3, :) = ab(3, :) – 2*ab(2, :)
ab =
1 3 0 1
0 -5 3 4
0 0 -3 -9
>>ab(2, :) = ab(2, :) + ab(3, :)
ab =
1 3 0 1
0 -5 0 -5
0 0 -3 -9
>>ab(1, :) = ab(1, :) + 3/5*ab(2, :)
ab =
1 0 0 -2
0 -5 0 -5
0 0 -3 -9

D ng b c thang t i gi n
ởừ kết qu d ng đ ng chéo từ phép kh Gauss-ổordan, ma tr n đ c
đ a về d ng b c thang t i gi n, t ơng đ ơng v i t t c c{c h s trên đ ng chéo

MAởỗ‚‛ ta có thể đ a ma tr n  A | b về d ng b c thang t i gi n  I | b ' để gi i h


thu đ c đều l| , hay nói c{ch kh{c vector c t b chính l| kết qu cần tìm. ởrong

ph ơng trình đ i s tuyến tính bằng h|m rref. ỡí dụ đ i v i ma tr n trên:


>>a = [ 1 3 0; 2 1 3; 4 2 3];
>>b = [1 6 3]’;
>>ab = [a b];
>>rref(ab)
ans =
1 0 0 -2
0 1 0 1

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 40

0 0 1 3
ộghi m c a h chính l| gi{ trị c a c t cu i cùng x1 = -2, x2 = 1, x3 = 3
>>x = ans(:, end)
x =
-2
1
3

. Tóm tắt chư ng

C{c l nh đ i v i m ng
linspace ở o m ng có c{c phần t c{ch đều
find ởìm chỉ s c a c{c phần t kh{c khẫng trong m ng
max ởìm gi{ trị l n nh t trong m ng
min ởìm gi{ trị nh nh t trong m ng
prod ởính tích c{c phần t trong m ng
sum ởính t ng c{c phần t trong m ng
length ởìm t ng s phần t trong m ng
size ởìm kích c c a m ng
cross ởích có h ng c a hai vector trong ỏ
dot ởích vẫ h ng c a hai vector
Ộ t s ma tr n đặc bi t
eye ở o ma tr n đơn vị
ones ở o ma tr n m| t t c c{c phần t đều nh n gi{ trị
zeros ở o ma tr n m| t t c c{c phần t đều nh n gi{ trị
diag ở o ma tr n đ ng chéo
C{c l nh gi i h phư ng trình đ i s tuy n tính
det ởính định th c ma tr n
inv ởính ma tr n nghịch đ o
rank ởính h ng c a ma tr n
rref Đ a về d ng b c thang t i gi n

Bảng 2. 1. Tóm tắt các hàm sử dụng trong chương 2

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 41

. ọ|i t p chư ng

ọ|i .
ỏùng d u : t o c{c vector h|ng sau:
3 4 5 6
a) 1.0000 1.5000 2.0000 2.5000 3.0000
b) 5 4 3 2
Đáp án
a) >>3 : 6
b) >>1 : .5 : 3
c) >>5 : -1 : 2
ọ|i .
ỏùng h|m linspace t o c{c vector sau:
a) >>4 6 8
b) >>-3 -6 -9 -12 -15
c) >>9 7 5
Đáp án
a) >>linspace(4, 8, 3)
b) >>linspace(-3, -15, 5)
c) >>linspace(9, 5, 3)
ọ|i .
ỏùng : v| ‘ t o vector c t ch a c{c gi{ trị trong kho ng từ - đến c{ch đều
nhau 0.2.
Đáp án
>>[ -1 : .2 : 1]’
ọ|i .
a) ở o ma tr n × ch a c{c s nguyên ng u nhiên từ đến 20.
b) ở o biến hang ch a s nguyên ng u nhiên từ đến , t o biến cot ch a
s nguyên ng u nhiên từ đến , t o ma tr n m| t t c c{c phần t đều
nh n gi{ trị khẫng có kích c hang × cot.
Đáp án
a) >>round(5 + 15*rand(2, 3))
b) >>hang = round(3*rand);
>>cot = round(3 + 2*rand);
>>zeros(hang, cot)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 42

ọ|i .
Ỗhẫng nh p t t c c{c phần t , t o ma tr n sau:
mat =
7 8 9 10
12 10 8 6
ỡiết c{c l nh truy xu t đến:
a) ớhần t h|ng m t c t ba c a ma tr n.
b) ởo|n b h|ng hai c a ma tr n.
c) Hai c t đầu c a ma tr n.
Đáp án
a) >>mat = (7:10; 12:-2:6);
>>mat(1,3);
b) >>mat(2, :);
c) >>mat(:, 1:3);
ọ|i .
Cho c{c ma tr n sau:
1 2
1 2 
1 2  5 6
A  B  C
3 4  7 8  1 2
 
1 2

ở o ma tr n ỏ có ma tr n ‚ trên ma tr n ‛ t o th|nh hai c t đầu, C l| hai


c t kế tiếp.
Đáp án
>>A = [1 2; 3 4];
>>B = [5 6; 7 8];
>>C = [1 1 1 1; 2 2 2 2]’
>>AB = [A;B];
>>D = [AB C];
ọ|i .
ở o c{c ma tr n sau:
a) Ma tr n đơn vị x 6.
b) Ma tr n khẫng x .
c) Ma tr n m t x .

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 43

d) Ma tr n ng u nhiên x .
e) Ma tr n đ ng chéo m| c{c gi{ trị trên đ ng chéo ch y từ đến .
Đáp án
a) >> eye (6)
b) >>zeros (5,10)
c) >>ones (5,15)
d) >>rand (5)
e) >>e0 = 1:5;
>>diag(e0)
ọ|i .
Cho ma tr n A, b v| h ph ơng trình tuyến tính Ax = b
1 2 3  6
A   2 3 2  B  14 
 3 1 1  2 

Gi i h ph ơng trình s dụng l nh ‚\b v| l nh rref


Đáp án:
>>A = [1 2 3; 2 -3 2; 3 1 -1];
>>b = [6 14 -2];
>>x = A\b
x =
1.0000
-2.0000
3.0000
>>A*x
Ỗiểm tra kết qu thu đ c , ‚*x có gi{ trị bằng v i b, ch ng t x l|
%nghi m c a h ph ơng trình ‚x = b
>>rref([A, b])
ộghi m thu đ c l| duy nh t, do ma tr n b c thang t i gi n ch a ma
%tr n đơn vị v| ma tr n kết qu
ans =
1 0 0 1
0 1 0 -2
0 0 1 3

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 44

ọ|i .
Cho h ph ơng trình sau:
6 x1  2 x2  3x3  0
4 x1  1x2  2 x3  0
2 x1  1x2  5 x2  0

ộh p v|o M‚ởỗ‚‛ ma tr n h s A v| ma tr n c t b t ơng ng, tìm


nghi m c a ma tr n bằng c{ch s dụng phép chia tr{i v| rref.
Đáp án
>>A = [6 2 3; 4 1 -2; 2 1 5];
>>b = zeros(3,1);
>>A\b
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 6.728624e-018.
x =
1.0e+015 *
-2.6271
9.0072
-0.7506
>>rref([A b])
ans =
1.0000 0 -3.5000 0
0 1.0000 12.0000 0
0 0 0 1.0000
Thế ng c ta có x1= 3.5x3 v| x2 = -12x3. Có thể th y h ph ơng trình có biến
tự do x3 v| có thể nh n b t kỳ gi{ trị n|o. ỡí dụ chọn x3 = 2 khi đó ta có:
x1 = 7, x2 = -24
>>x = [7; -24; 2];
>>A*x
ans =
0
0
0

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 45

ọ|i .
Cho hai ma tr n A, b v| h ph ơng trình tuyến tính Ax = b
12 3  4
A  B 
 21 3  4 
Gi i h ph ơng trình s dụng phép chia tr{i, t p nghi m thu đ c có ph i
l| duy nh t?
ởìm nghi m t ng qu{t s dụng h|m rref.
Đáp án:
>>A = [1 2 3; 2 1 -3];
>>b = [-4; 4];
>>x = A\b;
x =
0
0.0000
-1.3333
>>A*x
Ỗiểm tra x có ph i l| nghi m c a ph ơng trình
>>rref([ A b])
H có vẫ s nghi m do s biến nhiều hơn s ph ơng trình
ans =
1 0 -3 4
0 1 3 -4
ọ|i .
Cho ma tr n sau:
1 2 1 3 
7 2 0 1 
A 
 3 2 1 1
 
0 1 4 8 
ỏự đo{n kết qu v| kiểm tra l i bằng M‚ởỗ‚‛ ý nghĩa c a l nh sau:
>>A( [1 3], [1 3] ) = 10 * ones (2)
ọ|i .
ộh p v|o ma tr n sau:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 46

1 2 1 3 
7 2 0 1 
A 
 3 2 1 1
 
0 1 4 8 
a) ởính AT = B
b) ởính C = A * B
c) ởính D = B * A
d) ởính 3A + 5B3
ọ|i .
ộh p v|o c{c ma tr n sau:
3 2 1  2 1 0 0 
A  0 5 2  B  1  C  0 1 0 
1 0 3   3  0 0 1 

ởính trong M‚ởỗ‚‛ c{c phép tính sau, gi i thích trong tr ng h p


M‚ởỗ‚‛ khẫng thể thực hi n phép to{n.
A*B
B*A
I+A
A .* I
ọ|i .
ở o ma tr n × v| l u v|o m t biến. ởhay thế h|ng th hai c a ma tr n
đó bằng vector c t ch a c{c gi{ trị v| .
ọ|i .
ở o vector x ch a phần t c{ch đều nhau trong kho ng –π đến π. ở o
vector y ch a sin(x).
ọ|i .
ở o ma tr n × có c{c phần t l| c{c s nguyên ng u nhiên trong kho ng
- đến . ợóa h|ng th ba c a ma tr n.
ọ|i .
ở o vector vec. ởìm t t c c{c l nh cho phép truy xu t đến phần t cu i
cùng c a vec gi s khẫng biết vec có bao nhiêu phần t .

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 47

ọ|i .18
ở o ma tr n mat. ởìm t t c c{c l nh cho phép truy xu t đến phần t cu i
cùng c a ma gi s khẫng biết s phần t , s h|ng, s c t c a mat).
ọ|i .
ỡiết c{c l nh yêu cầu nh p v|o từ b|n phím c{c gi{ trị n, low, high (high l n
hơn low).
ởừ c{c gi{ trị nh p v|o t o ma tr n đ ng chéo n × n trong đó đ ng chéo
ch a c{c gi{ trị nguyên ng u nhiên từ low đến high.
ọ|i .
ỡiết c{c c}u l nh yêu cầu nh p v|o từ b|n phím hai s nguyên d ơng l u
v|o c{c biến m, n. ỡiết c}u l nh nh p v|o s nguyên k. ỡiết c}u l nh t o ma
tr n có kích c m × n m| t t c c{c phần t đều có gi{ trị k trong c}u l nh có
s dụng l nh ones).
ọ|i .
Cho h ph ơng trình đ i s tuyến tính Ax = b.
ộh p c{c ma tr n A, b v| gi i s dụng c{c l nh chia tr{i v| rref.

11 1  2 
 
A  12 1 B 3 
11 1   6
 
ọ|i .
Cho h b n ph ơng trình b n ẩn sau:
ộh p c{c ma tr n v|o M‚ởỗ‚‛ v| gi i.
4 x1  x2  3x4  10
2 x1  3x2  x3  5 x4  3
x1  x2  x3  2 x4  2
3x1  2 x2  4 x3  4

ọ|i .
Gi i h ph ơng trình đ i s tuyến tính:
2 x1  2 x2  x3  2
x2  2 x3  1
x1  x2  3x3  3

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỡỐCởỚờ ỡủ M‚ ởờ ộ 48

ọ|i .
Gi i h ph ơng trình đ i s tuyến tính:
x1  2 x2  x3  2
2 x1  5 x2  3 x3  6
x1  2 x2  2 x3  4

ọ|i .
Cho h ph ơng trình đ i s tuyến tính Ax = b, tìm nghi m c a h .
10  10 

A  12  b  16 
14  17 

ọ|i .
Cho h ph ơng trình đ i s tuyến tính Ax = b, tìm nghi m c a h .
1 1 2

A  1 1 b   0 
1 3  3 

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 49

Chư ng . TÍộồ TỚÁộ Ở V I ỘỌTỗỌọ

. Ở ph c

Ở ph c đ c viết d i d ng t ng qu{t a + bi trong đó a l| phần thực, b l|


phần o, i có gi{ trị 1 . Trong MATLAB i v| j l| nh ng hằng x}y dựng sẵn tr về
gi{ trị 1 . Ở ph c trong M‚ởỗ‚‛ có thể biểu di n theo i hoặc theo j, ví dụ 5 +
2i hoặc 3 – 4j. Ỗhẫng cần s dụng ký hi u phép nh}n * gi a phần o v| c{c hằng i,
j.
Có sự kh{c bi t gi a i v| *i" ? Điều n|y phụ thu c v|o vi c tr c đó i
có đ c dùng cho m t biến n|o kh{c hay khẫng. ộếu i tr c đó đã s dụng nh
l| m t biến ví dụ trong vòng lặp for thì c}u l nh 3*i sẽ s dụng gi{ trị đ c g{n
cho biến i v| nh v y kết qu sẽ khẫng ph i l| m t s ph c. ỡì thế, để tr{nh nhầm
l n khi biểu di n s ph c trong M‚ởỗ‚‛ ta nên s dụng 1i hoặc 1j thay vì chỉ i
hoặc j. Ỗết qu tr về khi s dụng 1i hoặc 1j luẫn luẫn l| s ph c b t kể tr c đó i
v| j có đ c g{n gi{ trị hay khẫng.
ởrong M‚ởỗ‚‛ có h|m complex sẽ tr về s ph c gồm phần thực v| phần
o khi nh n đ c hai tham s t ơng ng, khi chỉ nh n m t tham s , complex coi
nh phần o khẫng có gi{ trị v| chỉ biểu di n phần thực, cú ph{p gọi h|m nh
sau:
>>C = complex (A, B)
ởrong đó gi{ trị tr về C sẽ đ c biểu di n d i d ng ph c C = A + Bi
M t s ví dụ biểu di n s ph c
>>z1 = 4 + 2i
z1 =
4.0000 + 2.0000i
>>z2 = sqrt( -5 )
z2 =
0 + 2.2361i
>>z3 = complex (3,-3)
z3 =
3.0000 – 3.0000i

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 50

>>z4 = 2 + 3j
z4 =
2.00 + 3.0000i
>>z5 = (-4)^1/2
z5 =
0.0 + 2.0000i
ỗ u ý l| ngay c khi dùng j để biểu di n s ph c trong c}u l nh thì
M‚ởỗ‚‛ v n s dụng i trong c{c kết qu tr về. ởrong M‚ởỗ‚‛ còn có c{c h|m
real v| imag tr về phần thực v| phần o c a m t s ph c, cú ph{p gọi h|m nh
sau
>>real (X)
>>imag (X)
ởrong đó X l| s ph c, gi{ trị tr về c a hai h|m real v| imag sẽ l| phần
thực v| phần o t ơng ng c a X.
>>real(z1)
ans =
4
>>imag(z3)
ans =
-3
ởr ng h p mu n xu t ra m|n hình gi{ trị c a m t s ph c, l nh disp sẽ
hiển thị c phần thực v| phần o trong khi đó l nh fprintf chỉ hiển thị phần thực
trừ khi có l nh in đồng th i c hai th|nh phần c a s ph c.
>>disp(z1)
ans =
4.0000 + 2.0000i
>>fprintf(‘ %f \n’, z1)
4.0000
>>fprintf(‘ %f %f \n’, real(z1), imag(z1))
4.0000 2.0000
>>fprintf(‘ %f + %fi \n’, real(z1), imag(z1))
4.0000 + 2.0000i
H|m isreal tr về gi{ trị logic nếu đúng l| s ph c khẫng có gi{ trị phần
o, tr về gi{ trị logic nếu s ph c có gi{ trị phần o kể c gi{ trị phần o l| .

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 51

>>isreal(z1)
ans =
0
>>z6 = complex(3)
z6 =
3
>>isreal(z6)
ans =
0
>>isreal(3.3)
ans =
1
Đ i v i z6 mặc dù gi{ trị hiển thị trên c a s l nh l| nh ng biểu di n
trong M‚ởỗ‚‛ v n l| . + . i xem Ợorkspace vì thế gi{ trị tr về c a
h|m isreal trong tr ng h p n|y l| do z6 v n ch a phần o.
ọi u di n s ph c bằng t a đ c c v| lễy thừa c a loga t nhiên
Mọi s ph c z = a + bi đều có thể biểu di n b i điểm (a, b) hoặc d i d ng
vector trên mặt phẳng ph c trong đó trục ho|nh v| trục tung biểu di n phần thực
v| phần o c a z. ỏo m t vector có thể đ c biểu di n trong h tọa đ Đề c{c hoặc
h tọa đ cực, m t s ph c cễng có thể biểu di n trong h tọa đ cực s dụng c{c
phép quy đ i sau:
‛iến đ i h tọa đ cực sang h tọa đ Đề c{c:
a = r cosθ
b = r sinθ
‛iến đ i h tọa đ Đề c{c sang h tọa đ cực:

r  z  a 2  b2

  tan 1 ( )
b
a
z  a  bi  r cos  (r sin  )i
ộgo|i ra, s ph c có thể biểu di n d i d ng lễy thừa c a loga tự nhiên
e  cos  i sin  , biểu di n d ng ph c d ng lễy thừa có thể thu đ c trong
i

M‚ởỗ‚‛ s dụng l nh exp j*theta . ỡí dụ


>>exp(j*pi/2)
ans =

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 52

0.0000 + 1.0000i
ởrong M‚ởỗ‚‛ ta có thể s dụng nh ng h|m x}y dựng sẵn để tìm gi{ trị
c a r v| θ l| abs v| angle theo cú ph{p sau
>>abs (X)
>>angle (X)
ởrong đó X l| s ph c, abs v| angle sẽ tr về gi{ trị r v| θ t ơng ng c a X,
xét ví dụ
>>z1 = 3 + 4i;
>>r = abs(z1)
r =
5
>>theta = angle(z1)
theta =
0.9273
>>r*exp(i*theta)
ans =
3.0000 + 4.0000i
C ng, trừ, nh}n, chia s ph c: Cho hai s ph c z1 = a + bi, z2 = c + di
z1 + z2 = a + bi + c + di = (a+c) + (b +d)i
z1 – z2 = a + bi – c – di = (a –c) + (b – d)i
z1 * z2 = (a + bi) * (c + di) = ac + (bc + ad)i –bd = (ac – bd) + (bc + ad)i
ỡí dụ:
>>z1 = 3 + 4i;
>>z2 = 1 – 2i;
>>z1*z2
ans =
11.0000 – 2.0000i
ớhép chia hai s ph c có thể đ c thực hi n d d|ng khi biểu di n hai s
ph c d i d ng lễy thừa c a loga tự nhiên rồi thực hi n phép chia sau đó.
ỡí dụ
2  1.5 j
z3  
z2
z1 1.25  2.5 j
>>z1 = 2 + 1.5j;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 53

>>z2 = 1.25 + 2.5j;


>>abs1 = abs(z1);
>>abs2 = abs(z2);
>>angle1 = angle(z1);
>>angle2 = angle(z2);
>>abs3 = abs2/abs1;
>>angle3 = angle2 – angle1;

Hai phép tính z /z v| abs *exp j*angle đều đ a ra kết qu gi ng nhau.


>>z3 = z2/z1
z3 = 1.0000 + 0.5000i
Ở ph c liên h p v| gi{ tr tuy t đ i
Cho s ph c d i d ng z = a + bi , s ph c z  a  bi gọi l| s ph c liên h p
c a z. Đ l n hay gi{ trị tuy t đ i c a s ph c đ c tính theo cẫng th c
z  a 2  b2 . ởrong M‚ởỗ‚‛ có thể s dụng hai h|m sẵn có để tính d ng liên h p
v| gi{ trị tuy t đ i c a s ph c l| conj v| abs.
>>z1 = 3 + 4i
z1 =
3.0000 + 4.0000i
>>conj (z1)
ans =
3.0000 – 4.0000i
>>abs (z1)
ans =
5

. ồ|m vô danh

H|m vẫ danh l| d ng h|m s đơn gi n, đ c thể hi n chỉ cần s dụng m t


dòng l nh trong M‚ởỗ‚‛. u điểm c a h|m vẫ danh l| khẫng cần ph i l u trong
c{c file văn b n so n th o bằng Matlab editor M-file, đơn gi n hóa ch ơng trình
s dụng nh ng phép tính đơn gi n, gi m thiểu s M-file cần dùng cho m t
ch ơng trình. H|m vẫ danh có thể đ c t o trong c a s l nh hoặc trong c{c h|m
văn b n. Cú ph{p cho h|m vẫ danh trình b|y nh sau
Ten_ham = @(ten_bien) than_ham

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 54

ỡí dụ
>>dt_hinhtron = @(r) pi*r.^2;
>>dt_hinhtron(4)
ans =
50.2655
ởrong tr ng h p khẫng truyền tham s cho h|m, v n ph i s dụng d u
ngoặc lúc khai b{o v| lúc gọi h|m. ỡí dụ: H|m vẫ danh sau in ra m|n hình s
thực ng u nhiên có hai ch s phần th p ph}n
>>in_nn = @( ) fprintf(‘ %.2f \n’, rand);
>>in_nn ( )
0.95
ởr ng h p gọi h|m chỉ có tên h|m m| khẫng có d u ngoặc, M‚ởỗ‚‛ sẽ
hiển thị th}n h|m lên m|n hình.
>>in_nn
in_nn =
@ ( ) fprintf(‘ %.2f \n’, rand)

. C c tr v| nghi m c a h|m s m t bi n s

Trong MATLAB c c tr c a h|m s có thể x{c định trong kho ng x1, x2 c a


h|m s đó x{c định từ đồ thị dùng h|m fminbnd theo cú ph{p sau
>>fminbnd (fun, x1, x2)
ởrong đó fun l| h|m s khai b{o v| x1, x2 l| kho ng gi{ trị ch a cực tiểu.
Gi{ trị tr về c a h|m fminbnd l| cực tiểu c a h|m fun trong kho ng x1, x2
ỡí dụ: Cho h|m s f(x) = x3 – 2x - 5, tìm cực tiểu c a h|m s trong kho ng
, v| gi{ trị h|m s t i vị trí cực tiểu.
>>f = @(x) x^3 – 2*x -5;
>>x1 = fminbnd (f, 0, 2)
x1 =
0.8165
>>y1 = f(x1)
y1 =
-6.0887
ỡí dụ: Cho h|m s f(x) = x3 – x2 – 3tan-1(x) +1, h|m s n|y có cực tiểu trong
kho ng , có thể x{c định nh sau

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 55

>>clear all
>>f = @ (x) x^3 – x^2 – 3*atan(x) + 1;
>>x1 = fminbnd(f, 0, 2)
x1 =
1.0878
>>f(x1)
ans =
-1.3784
ộh v y trên , h|m s có m t cực tiểu t i x = . v i gi{ trị -1.3784.
H|m s n|y cễng có m t cực đ i trong kho ng - , . M‚ởỗ‚‛ khẫng có h|m để
tìm trực tiếp cực đ i c a h|m s tuy nhiên ta có thể s dụng fminbnd để tìm cực
tiểu c a h|m –f(x) trên kho ng t ơng ng.
>>finv = @(x) –f(x);
>>x2 = fminbnd(finv, -1, 0)
x2 =
-0.5902
>>finv(x2)
ans =
-2.0456
ộh v y h|m s có m t cực đ i t i x = - . v i gi{ trị -2.0456
ộghi m c a h|m s m t bi n s
Định nghĩa to{n học về nghi m c a c a h|m s f(x) l| giao điểm c a đồ thị
h|m s đó v| trục Ox hay gi{ trị x0 m| t i đó f(x0) = 0. ỏo M‚ởỗ‚‛ s dụng d u
ch m đ ng nên r t khó x{c định chính x{c điểm khẫng c a h|m s , nên thay vì
tìm gi{ trị biến m| t i đó h|m s bằng khẫng, M‚ởỗ‚‛ tìm điểm m| t i đó h|m
s đ i d u.
Cú ph{p: x = fzero (fun, x0)
ởrong đó x0 l| l}n c n điểm m| h|m s giao v i trục Ox hoặc x0 l| vector
ch a hai gi{ trị x1 v| x2 m| f(x1) v| f(x2) kh{c d u nhau. H|m fzero cho phép x{c
định nghi m c a h|m s f(x) = 0 t i l}n c n x0.
ỡí dụ: Xét h|m s f(x) =x2 – 2x – 3
Đồ thị h|m s n|y giao v i trục Ox t i hai điểm x1 = - và x2 = 3
Để dùng M‚ởỗ‚‛ tìm c{c gi{ trị x1, x2 tr c tiên cần khai b{o h|m
>>f = @(x) x^2 – 2*x – 3;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 56

>>x1 = fzero(f, -2)


ởìm nghi m t i l}n c n c a -2
x1 =
-1
>>x2 = fzero(f, [2, 4])
ởìm nghi m trong kho ng ,
ỗ uýf v| f kh{c d u
x2 =
3
>>f(x1)
ans =
0
>>f(x2)
ans =
0

Hình 3. 1. Xác định nghiệm c a hàm số tại điểm đồ thị giao với trục hoành

ỡí dụ: S dụng M‚ởỗ‚‛ để gi i ph ơng trình sau 5 – 2x = e-0.25x


ởr c tiên thực hi n phép biến đ i để có vế ph i bằng khẫng, sau đó khai
b{o h|m trong M‚ởỗ‚‛
>>f = @(x) 5 – 2*x – exp(-0.25*x);
ởa th y đồ thị h|m s cắt trục ho|nh trong kho ng ,

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 57

Hình 3. 2. Đồ thị hàm số f(x) = 5 - 2x - e


0.25x

>>x0 = fzero(f, [2, 3])


x0 =
2.2124
>>f (x0)
ans =
2.2204e-016
ỗ u ý gi{ trị h|m t i x0 x p xỉ . × -16
t ơng đ ơng khẫng, vì v y x
=2.2124 chính l| nghi m c a h|m 5 – 2x – e -0.25x
cễng chính l| nghi m c a ph ơng
trình 5 – 2x = e -0.25x

ỗ u ý M‚ởỗ‚‛ định nghĩa nghi m c a ph ơng trình f(x) = 0 t i nơi đồ thị


h|m s f(x) cắt trục ho|nh nơi h|m s đ i d u . ỡì v y trong tr ng h p f(x) = x
2
đ t gi{ trị khẫng t i x=0, fzero sẽ khẫng tìm đ c nghi m nếu x{c định l}n c n
khẫng đúng. ỡí dụ >>fzero f, hoặc fzero f, -1) hay fzero(f, [-1, 1]).

. Đa th c m t bi n s

M‚ởỗ‚‛ biểu di n đa th c m t biến s d i d ng m t vector h|ng ch a


c{c h s . ỡí dụ: Đa th c x3 + 2x2 – 4x + 3 có thể biểu di n b i vector - , đa
th c 2x – x + 5 có thể biểu di n b i vector
4 2
- , l u ý h s khẫng cho
c{c s h ng x v| x.
3

ộếu v l| m t vector ch a c{c h s c a đa th c v| x l| m t s , h|m


polyval(v,x) cho phép tính gi{ trị c a đa th c biểu di n b i v t i x, x có thể l| m t
vector, khi đó t p h p c{c gi{ trị c a đa th c cễng sẽ đ c l u trong m t vector,
cú ph{p gọi h|m nh sau
>>y = polyval (v, x)
ộh đã trình b|y trên, gi{ trị tr về y sẽ l| gi{ trị c a h|m s v t i x t ơng
ng.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 58

ỡí dụ:
>>polyval ([1 -2 0 1], [1 2 3 4])
ans =
[0 1 10 33]
ởrong đó , 1, 10, lần l t l| c{c gi{ trị c a đa th c x3 – 2x2 + 1 t i c{c
điểm x = 1, 2, 3, 4 t ơng ng.
H|m roots trong M‚ởỗ‚‛ cho phép tìm nghi m c a ph ơng trình biểu
di n d i d ng đa th c. Cú ph{p gọi h|m nh sau
>>roots(C)
ởrong đó C l| vector ch a c{c h s c a đa th c cần tìm nghi m, gi{ trị tr
về sẽ l| t p h p c{c nghi m c a đa th c cần tìm.
ỡí dụ cho đa th c f(x) =4x3 – 2x2 – 8x + 3, gi i ph ơng trình f(x) = 0.
>>Rs = roots([4 -2 -8 3])
Rs =
-1.3660
1.5000
0.3660
ởr ng h p đã biết t t c c{c nghi m c a đa th c biểu di n trong vector Rs,
ta có thể biểu di n l i đa th c đó d i d ng vector c a c{c h s s dụng l nh poly
theo cú ph{p sau
>>f = poly(Rs)
ởrong đó ờs l| vector biểu di n t p nghi m c a ph ơng trình f(x) = 0 t ơng
ng, gi{ trị tr về c a h|m sẽ l| vector ch a c{c h s c a f(x).
ỡí dụ: Biểu di n l i đa th c có nghi m ch a trong ờs đ c tính trên:
>>f = polys(Rs)
f =
1.0000 -0.5000 -2.0000 0.7500
ộh}n t t c c{c h s c a đa th c v i để đ c đa th c ban đầu
ởrong M‚ởỗ‚‛ ta cễng có thể x{c định tích c a hai đa th c a, b bằng l nh
conv(a, b) v i gi{ trị tr về l| vector ch a c{c h s c a đa th c tích. ở ơng tự
phép chia hai đa th c cễng có thể thực hi n trong M‚ởỗ‚‛ s dụng l nh
deconv(b, a). Trong đó, b, a lần l t l| c{c đa th c t s v| m u s . Cú ph{p
t ơng ng nh sau:
>>c = conv(a, b)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 59

>>[q, r] = deconv(b, a)
ởrong đó: a, b lần l t l| c{c đa th c th|nh phần, c l| đa th c tích, q l|
th ơng c a phép chia đa hai đa th c v| r l| phần d trong phép chia đa th c b cho
a.
ỡí dụ: Xét hai đa th c

A  2x  5 B  x 2  3x  7
>>A = [2 5];
>>B = [1 3 7];
Ỗết qu c a phép tính AB
>>C = conv(A, B)
C =
2 11 29 35
C
Ỗết qu c a phép tính
A
>>[D, r] = deconv(C, A)
D =
1 3 7
r =
0 0 0 0

. Tích ph}n v| đ o h|m

Để tính tích ph}n x{c định, M‚ởỗ‚‛ có h|m quad fun, a, b tính gần đúng
tích ph}n c a h|m fun trong kho ng (a, b) v i sai s 1e-6 s dụng cẫng th c
Ởimpson. H|m y = fun(x) ph i ch p nh n tham s x d i d ng vector v| tr về kết
qu d i d ng vector y. ỡì thế khi định nghĩa h|m cần s dụng c{c phép to{n đ i
v i vector .* ./ .^
Cú ph{p gọi h|m nh sau
>>q = quad(fun, a, b)
Gi{ trị tr về c a h|m q l| kết qu tính gần đúng tích ph}n t ơng ng c a
h|m fun nh đã trình b|y trên.
ỡí dụ: Tính tích ph}n x{c định c a h|m x2 – 6x + 5 trong kho ng (1, 5).
>>f = @(x) x.^2 – 6*x + 5;
>>intf = quad(f, 1, 5)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 60

intf =
-10.6667

x
2
1
 2x  5
ỡí dụ: Tính tích ph}n sau 3
0

>>f = @(x) 1./(x.^3 – 2*x – 5);


>>quad(f, 0, 2)
ans =
-0.4605
dy
Đ o h|m c a h|m s y = f(x) đ f ( x) hoặc f’ x v|
c viết d i d ng
dx
định nghĩa bằng đ thay đ i c a biến đ c l p y theo x. Đ o h|m c a h|m s t i
m t điểm chính l| góc nghiêng c a tiếp tuyến v i h|m s t i điểm đó.
Để x{c định đ o h|m c a đa th c m t biến trong M‚ởỗ‚‛ có thể s dụng
h|m polyder v i cú ph{p nh sau
>>polyder (P)
ởrong đó P l| vector ch a c{c h s c a đa th c t ơng ng.
ỡí dụ: Cho đa th c x3 + 2x2 – 4x + 3 có thể biểu di n bằng vector [1 2 -4
, đ o h|m c a đa th c n|y sẽ x{c định nh sau
>>hs = [1 2 -4 3];
>>dhs = polyder(hs)
dhs =
3 4 -4
có d ng vector - biểu di n cho đa th c 3x2 + 4x – 4.
Đ o h|m có thể biểu di n d i d ng gi i h n nh sau v| có thể tính gần
đúng trong M‚ởỗ‚‛ s dụng h|m diff theo cú ph{p
>>diff(X)
ởrong đó X l| vector ch a c{c h s c a đa th c t ơng ng.
f ( x  h)  f ( x )
f '( x)  lim
h 0 h
ợét h|m s f(x) = x2 – 6x + 5. Gi s chúng ta có t p h p c{c gi{ trị c a biến x
biểu di n b i vector x = [1 2 3 4 5]. ộh v y t p h p c{c gi{ trị c a biến y = f(x)
t ơng ng l|
>>f = @(x) x.^2 – 6*x + 5;
>>x = [1 2 3 4 5];

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 61

>>y = f(x)
y =
0 -3 -4 -3 0
ộếu coi dy l| đ o h|m c a f(x) theo x v| x{c định gi{ trị c a đ o h|m t i c{c
điểm x = [1 2 3 4 5] t ơng ng
>>dy = @(x) 2*x – 6
>>dy(x)
ans =
-4 -2 0 2 4
Ởo s{nh gi{ trị đ o h|m c a h|m s t i c{c điểm cho tr c bằng c{ch tính
gần đúng gi i h n s dụng h|m diff.
>>diff(y)./diff(x)
ans =
-3 -1 1 3
ỗ u ý trong M‚ởỗ‚‛ vi c tính diff c a vector a gồm n phần t đ c x{c
định bằng vector m i da có n – 1 phần t do đó s phần t c a phép tính đ o h|m
theo diff ít hơn so v i c{ch tính thẫng th ng m t phần t . Gi{ trị chênh l ch gi a
hai phép tính nh dần khi kho ng c{ch gi a c{c phần t trong vector x c|ng gi m
(có thể th l i khi nh p x = 1: .1 : 5).
a = [a1 a2 a3 … an-2 an-1 an]
da = [a2 – a1 a3 – a2 … an-1 – an-2 an – an-1]

3.6 ớhư ng trình vi ph}n

ởrong M‚ởỗ‚‛, ph ơng trình vi ph}n có thể gi i theo ph ơng ph{p s


thẫng qua m t s h|m x}y dựng sẵn, trong n i dung gi{o trình n|y chúng ta sẽ
t p trung tìm hiểu hai h|m ode23, ode45 l| nh ng phiên b n ph{t triển từ cẫng
th c ờunge-Ỗutta b c / v| ờunge-Ỗutta b c / .
Cú ph{p t ng qu{t để gi i ph ơng trình vi ph}n v i nh ng h|m n|y nh
sau:
>>[t, y] = ode45(‘yprime’, [t0, tF], y0)
>>[t,y ] = ode23(‘yprime’, [t0, tF], y0)
Trong đó: yprime l| tên h|m biểu di n ph ơng trình vi ph}n, t0 v| tF l|
hai m c th i gian đầu cu i cho đ{p {n, y0 l| gi{ trị c a biến t i th i điểm ban đầu.
Gi{ trị tr về c a h|m l| vector th i gian t, v| ma tr n y ch a nh ng gi{ trị t ơng
ng c a h|m t i c{c th i điểm kh{c nhau l y từ vector th i gian t.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 62

Đ i v i nh ng h|m ph c t p hoặc đ i v i h ph ơng trình vi ph}n, nên


khai b{o h|m trong script, trong ch ơng n|y chúng ta sẽ chỉ xét nh ng tr ng
h p có thể khai b{o bằng h|m vẫ danh. ỡí dụ: Gi i ph ơng trình vi ph}n
dy t 3  2 y
ty  2 y  t 3  
dt t
trong kho ng 1 < t < 3 v| y(0) = 4.2

Hình 3. 3. Đồ thị (t, y) c a phương trình vi phân dy/dt = (t 3 - 2y)/t

>>ode1 = @(t,y) (t^3 – 2*y)/t;


>>[t, y] = ode45(ode1, [1: 0.1: 3], 4.2);
C{c cặp gi{ trị (t,y) thu đ c có thể biểu di n bằng đồ thị . .
Gi i ph ơng trình vi ph}n sau:
y  ty 2  y
ởrong kho ng t  0,.5 v i y(0) = 1
>>ode2 = @(t,y) (t*y^2 + y)
>>[t,y] = ode45(ode2, [0, .5], 1)
C{c gi{ trị t,y thu đ c có thể biểu di n d i d ng đồ thị nh sau:

Hình 3. 4. Đồ thị (t, y) c a phương trình vi phân dy/dt = ty2 +y

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 63

ởrên đ}y l| c{c ví dụ về gi i ph ơng trình vi ph}n b c nh t, đ i v i


ph ơng trình vi ph}n b c cao hơn, cần đ a về h ph ơng trình vi ph}n b c nh t
rồi gi i, tuy nhiên khi đó khai b{o h|m cần đ c thực hi n trong M-file.

. Tóm tắt chư ng

Ở ph c
abs(x) ợ{c định gi{ trị tuy t đ i c a biến x
angle(x) Góc c a s ph c x
conj(x) ởr về s ph c liên h p c a x
imag(x) ớhần o c a x
real(x) ớhần thực c a x
ồ|m s v| đa th c m t bi n s
fminbnd ợ{c định cực tiểu c a h|m s trong m t kho ng cho tr c
fzero ộghi m c a h|m f(x) = 0 x{c định trong kho ng cho tr c
polyval ởính gi{ trị đa th c
roots ởính nghi m c a đa th c
poly ởr về vector h s c a đa th c nếu biết vector nghi m
conv ởhực hi n phép nh}n hai đa th c
deconv ởhực hi n phép chia hai đa th c
Tích ph}n, đ o h|m, vi ph}n s
quad ởích ph}n h|m s
polyder Đ o h|m đa th c m t biến s
diff ởính gần đúng đ o h|m c a h|m s m t biến s
ode23 H|m tính vi ph}n theo cẫng th c ờunge-Kutta
ode45 H|m tính vi ph}n theo cẫng th c ờunge-Kutta

Bảng 3. 1. Tóm tắt các hàm sử dụng trong chương 3

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 64

. ọ|i t p chư ng

ọ|i . Th c hi n c{c phép tính sau


(3  5i)  (2  3i)
(3  5i)  6
a.

7i  (4  5i)
b.

3(2  4i)
c.

(5  3i)i
d.

(2  7i)(3  4i)
e.
f.
1
g.
i
3
1 i
h.

4  7i
2  5i
i.

Đáp án:
a. 5  2i
b. 9  5i
c. 4  2i
d. 6  12i
e. 3  5i
f. 34  13i
g. i
h. 1.5  1.5i
i. 1.4828  0.2069i
ọ|i . ờềt g n
1 i 3i
 (1  2i)(2  2i) 
1 i 1 i
a.

b. 2i(i  1)  ( 3  i)  (1  i)(1  i)
3

Đáp án:
3  7i
10i
a.
b.
ọ|i .
i d ng [r , ]
7  2i
a. ỡiết l i c{c s ph c sau d
i.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 65

3i
4  6i
ii.

a  bi
iii.


b. ỡiết l i c{c s ph c sau d i d ng

i. [3, ]
[5, ]
4

2
ii.

iii. [ 2, ]
3

 
c. ỡiết l i c{c s ph c sau d i d ng lễy thừa.

i. 2(cos  i cos )
2
3 3
ii. [5, ]
3
iii. 1 i 3
ọ|i . Cho h|m s sau:
y exp(2 x)-4 exp(x)+2
4

-2 x
-10 -8 -6 -4 -2 0 2

f ( x)  e  4e  2
Hình 3. 5. Hình bài 3.4
2x x

ởìm nghi m f(x) = 0 v| cực trị c a h|m trong kho ng biểu di n c a đồ thị.
ọ|i .

Cho: H ( s ) 
n( s )
d ( s)
ỡ i:

n(s)  s 4  6s3  5s 2  4s  3
d (s)  s5  7s 4  6s3  5s 2  4s  7

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 66

ởìm:
a. n(10), n(-5), n(-3), n(-1)
b. d(10), d(-5), d(-3), d(-1)
c. H(10), H(-5), H(-3), H(-1)
ọ|i . Cho:

p1(s)  s3  5s 2  3s  10
p2 (s)  s 4  7s3  5s 2  8s  15
p3 (s)  s5  15s 4  10s3  6s 2  3s  9
a. ởìm p1(2), p2(2), p3(3)
b. ởìm p1(s)p2(s)p3(s)
c. ởìm p1(s)p2(s)/p3(s)

ọ|i . ởìm nghi m p(x) = 0 c a c{c đa th c sau:

a. p1( x)  x7  8x6  5x5  4 x4  3x3  2 x 2  x  1


b. p2 ( x)  x  13x  10 x  12 x  8 x  15
5 4 3 2

c. p3 ( x)  x4  7 x3  12 x 2  25x  8
ọ|i .
Ở dụng h|m quad tính c{c tích ph}n sau

a. y1   sin xdx


2

b. y2  
sin x
dx
 x
2

y3   ( x3  x 2 
3
1
c. )dx
1 x2
ọ|i .

Cho h|m s f ( x)  x sin 2 ( x) v| đồ thị biểu di n trên kho ng [0,2 ]


a. ợ{c định c{c điểm cực đ i c a h|m s trên kho ng biểu di n v| gi{ trị
h|m s t ơng ng.
b. ởính tích ph}n sau s dụng h|m quad.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 67

2
 f ( x)dx
0

x (sin(x)2)
5
4

0
0 1 2 3 4 5 6
x

Hình 3. 6. Hình bài 3.9

ọ|i .

ợét m t v t chuyển đ ng v i v n t c v(t )  t  2t  2 m/s xét trên


3 2

kho ng th i gian 0(s)  t  5(s) . ợ{c định gia t c c a v t th i điểm t = 2.5 (s).
Đáp án:
Ỗhai b{o biến t ch a c{c gi{ trị th i gian c{ch nhau t  0.1(s) , tính v theo
t
>>t = 0: 0.1: 5;
>>v = t.^3 – 2*t.^2 + 2;
ởính đ o h|m theo t c a v
>>dv = diff(v)./diff(t);
Gia t c t i th i điểm t = 2.5 (s)
>>dv(26)
ans =
9.3100
ộh v y v i t  0.1(s) , gia t c t i th i điểm t = 2.5(s) l| . m/s2

Ởo s{nh v i gi{ trị gia t c tính theo đ o h|m

v '(t )  3t 2  4t
v '(2.5)  3  (2.5)2  4  2.5  8.75 m/s 2

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 3. ởÍộH ởỚ[ộ Ở ỡ I M‚ởỗ‚‛ 68

gần đúng, để thu về kết qu chính x{c hơn sinh viên có thể th v i t  0.01( s)
Gi{ trị gia t c tính bằng ph ơng ph{p s dụng h|m diff chỉ đ a ra đ{nh gi{

v| t  0.001(s)
ọ|i .
Ở dụng h|m ode23 v| ode45 để gi i c{c ph ơng trình vi ph}n sau:
a. x  1  2tx v i x(0) = 1 trên kho ng ,
b. x 
tx
1  x2
v i x(0) = 3 trên kho ng ,

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 69

Chư ng . ọ C4ộỒ C ỖÝ ồI U

4.1 Ồi i thi u bi n ký hi u

‛ cẫng cụ ký hi u to{n học l| t p h p c{c cẫng cụ cho phép thao t{c v| x


lý c{c phép to{n s dụng biến ký hi u. ‛ cẫng cụ n|y có thể đ c ng dụng
trong đồ họa cễng nh c{c ph ơng ph{p tính to{n s trong mẫi tr ng M‚ởỗ‚‛
nh đ o h|m, tích ph}n, chu i ởaylor, đ i s tuyến tính, rút gọn, gi i h ph ơng
trình, c{c h|m to{n học đặc bi t, c{c phép biến đ i ốourier, ỗaplace
‛ cẫng cụ biến ký hi u trong M‚ởỗ‚‛ ph{t triển dựa trên cơ s m t
phiên b n đặc bi t c a Maple Ỗernel, t ơng thích v i M‚ởỗ‚‛ v| Maple tr
lên.
ỡ i sự xu t hi n c a b cẫng cụ biến ký hi u, trong M‚ởỗ‚‛ xu t hi n
thêm m t kiểu d li u gọi l| đối tượng ký hiệu, đ c định nghĩa l| m t kiểu d li u
có c u trúc. Trong đó, l u m t chu i ký tự đ i di n cho m t biến ký hi u có thể l|
m t biến đơn lẻ, m t ma tr n hoặc m t biểu th c. ỡí dụ sau đ}y chỉ ra sự kh{c bi t
gi a hai lo i kiểu d li u double v| đ i t ng ký hi u t ơng ng, c}u l nh sau tr
về kết qu l| m t s th p ph}n s dụng d u ch m đ ng.
>>sqrt(2)
ans =
1.4142
Mặt kh{c khi ta chuyển gi{ trị sang d ng đ i t ơng ký hi u s dụng l nh
symsau đó thực hi n phép căn b c hai, kết qu thu đ c sẽ l|
>>a = sqrt(sym(2))
ans =
2^(1/2)
M‚ởỗ‚‛ tr về kết qu d ng biểu th c cho phép căn b c hai m| khẫng
đ a ra gi{ trị s , kết qu n|y sẽ đ c l u l i trong m t x}u ký tự biểu di n cho
^ / . Gi{ trị s c a biểu th c n|y có thể thu đ c s dụng l nh double theo cú
ph{p
>>double (X)
ởrong đó ợ l| biến có kiểu cần chuyển về d ng double, nếu biến X đã có
d ng double, l nh trên khẫng có t{c dụng.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 70

>>double(a)
ans =
1.4142
Ỗhi t o m t ph}n s có ch a đ i t ng ký hi u, M‚ởỗ‚‛ sẽ l u l i t s
v| m u s c a ph}n s đó. ỡí dụ
>>sym(2)/sym(5)
ans =
2/5
Ỗết qu thu đ c trong phép to{n s dụng đ i t ng ký hi u sẽ đ c biểu
di n d i d ng biểu th c, kh{c v i c{c kiểu d li u tiêu chuẩn kh{c. ỡí dụ: Trong
phép c ng hai ph}n s có kiểu d li u double, M‚ởỗ‚‛ tr về kết qu d ng s
th p ph}n
>>2/5 + 1/3
ans =
0.7333
ởrong khi đó nếu thực hi n phép c ng hai ph}n s có kiểu biến ký hi u,
M‚ởỗ‚‛ sẽ quy đồng m u s rồi thực hi n phép c ng, kết qu tr về sẽ có d ng
ph}n s
>>sym(2)/sym(5) + sym(1)/sym(3)
ans =
11/15

. ọi n v| bi u th c

ởrong M‚ởỗ‚‛, c{c biến v| biểu th c ký hi u có thể đ ct o s dụng


l nh sym theo cú ph{p sau
>>S = sym (A);
>>x = sym x
ởrong đó c{c biến S v| x đ c s dụng để l u tr gi{ trị tr về c a h|m
sym, cú ph{p th nh t cho phép t o m t biến có c u trúc sym c u trúc ký hi u từ
tham s đầu v|o ‚, cú ph{p th hai cho phép t o biến ký hi u có tên ’x’ v| l u kết
qu v|o x.
Ví dụ c{c l nh
>>x = sym x
>>a = sym alpha

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 71

cho phép t o c{c biến ký hi u m| khi in ra m|n hình, chúng đ c biểu di n


t ơng ng l| x v| alpha.
ởrong to{n học v| ngh thu t, hai đ i l ng đ c coi l| có tỉ s v|ng nếu tỉ
l gi a chúng t ơng đ ơng v i tỉ l gi a t ng c a chúng v i đ i l ng l n hơn. ỡí
dụ cho hai đ i l ng a v| b v i a > b, hai đ i l ng n|y đ c coi l| có tỉ s v|ng
a a  b 1 5
nếu  
b a 2

dùng biến ký hi u để biểu di n tỉ s v|ng  


1 5
Gi s , ta có thể s
2
dụng l nh
>>rho = sym(‘ ( 1 + sqrt(5) )/2 ’)
sau đó thực hi n c{c phép to{n v i biến ký hi u rho vừa khai b{o, ví dụ
>>f = rho^2 – rho – 1
f =
(1/2+1/2*5^(1/2))^2-3/2-1/2*5^(1/2)
Ỗết qu l| m t biểu th c m| ta có thể rút gọn đ c s dụng l nh simplify.
>>simplify(f)
ans =
0
ỗ nh simplify cho phép rút gọn c{c phần t có d ng ký hi u, s dụng theo
cú ph{p sau
>>simplify(x)
ỡí dụ: Nh p m t h|m s b c hai f = ax2 + bx + c
>>f = sym(‘a*x^2 + b*x + c’)
ỗ nh trên sẽ g{n cho biến f biểu th c ký hi u ax2 + bx + c. ởuy nhiên, trong
tr ng h p n|y b cẫng cụ biến ký hi u trong M‚ởỗ‚‛ khẫng t o c{c biến t ơng
ng v i c{c th|nh phần a, b, c, x trong đa th c vừa nh p. C{c biến, tham s trên
cần đ c khai b{o để có thể s dụng
>>a = sym(‘a’);
>>b = sym(‘b’);
>>c = sym(‘c’);
>>x = sym(‘x’);
Hoặc đơn gi n hơn
>>syms a b c x;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 72

>>f = sym(‘a*x^2 + b*x + c’);


Cễng gi ng nh đ i v i đa th c biểu di n b i vector h|ng hay h|m s vẫ
danh, m t đa th c đ c khai b{o b i l nh sym có thể x{c định gi{ trị c a nó t i
m t điểm s dụng l nh subs theo cú ph{p sau
>>subs(S)
>>subs(S, new)
>>subs(S, old, new)
ởrong đó old l| c{c gi{ trị trong biểu th c S sẽ bị thay thế b i c{c gi{ trị new.
Tr ng h p s dụng cú ph{p th nh t, t t c c{c biến ký hi u trong S sẽ bị thay
thế b i c{c biến tr về c a c{c h|m đ c gọi hoặc c{c gi{ trị có sẵn trong
Ợorkspace. ởrong v i cú ph{p th hai hoặc th ba, hoặc l| t t c c{c biến ký hi u
sẽ bị thay thế b i new hoặc chỉ c{c biến ký hi u đ c li t kê trong old sẽ bị thay thế
b i new trong biểu th c S.
ỡí dụ: Thay gi{ trị x = 2 v|o biểu th c f = 2x2 – 3x + 1
>>syms x f;
>>f = 2*x^2 – 3*x + 1;
>>f2 = subs(f,2)
f2 =
3
Đ i v i đa th c có m t biến s , v n có thể s dụng l nh subs để tính gi{ trị
đa th c khi ta chỉ định rậ biến n|o trong đa th c đ c thay thế b i m t gi{ trị cho
tr c.
>>syms x y ;
>>f = x^2*y + 5*x*sqrt(y);
thay gi{ trị x = v|o f
>>subs(f, x, 3)
ans =
9*y + 15*y^(1/2)
thay gi{ trị y = v|o f
>>subs(f, y, 3)
ans =
3*x^2 + 5*x*3^(1/2)
tính gi{ trị f t i x = v| y =
>>subs(f, {x, y}, {0,0})
ans =

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 73

0
Chề ý Ỗhi s dụng h|m subs m| khẫng chỉ rậ ra biến s ký hi u n|o sẽ
đ c thay gi{ trị, M‚ởỗ‚‛ sẽ chọn bi n ký hi u mặc đ nh theo quy tắc sau đ i
v i biến m t ký tự, M‚ởỗ‚‛ sẽ chọn biến gần v i x nh t trong b ng ch c{i, nếu
có hai biến có cùng kho ng c{ch t i x, biến đ c chọn sẽ l| biến xếp sau trong
b ng ch c{i.
‛ cẫng cụ ký hi u còn cho phép ta gi i ph ơng trình, h ph ơng trình s
dụng h|m solve theo cú ph{p sau
>>solve pt , pt , pt , , ptộ
>>solve pt , pt , pt , , ptộ, bien , bien , bien , , bienộ
ởrong đó pt , pt , pt , …, ptN l| c{c ph ơng trình cần gi i còn bien1, bien2,
bien , …, bienN l| c{c ẩn t ơng ng.
ợét ví dụ đ i v i đa th c trong mục . :
f(x) =4x3 – 2x2 – 8x + 3
Đa th c n|y có thể đ c biểu di n d i d ng vector:
>>clear all
>>v = [4 -2 -8 3]
v| có thể đ c biểu di n d i d ng h|m biến ký hi u nh l nh poly2sym:
>>f = poly2sym(v)
f =
4*x^3 – 2*x^2 – 8*x + 3
ỗ u ý trong tr ng h p n|y, biến m i xu t hi n trong Ợorkspace chỉ có f
v| x v n l| biến ch a đ c khai b{o.
>>x
??? Undefined function or variable ‘x’
ộg c l i M‚ởỗ‚‛ cễng cho phép biến đa th c biến ký hi u sang d ng
vector h s v i l nh sym2poly.
ộh đã biết f(x) = 0 có nghi m v| có thể gi i bằng l nh solve khi f đ c
khai b{o nh m t biến ký hi u.
>>x=solve(f)
x =
3/2
1/2*3^(1/2)-1/2
-1/2-1/2*3^(1/2)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 74

ộghi m c a f(x) = 0 đ}y đ c đ a ra d i d ng biểu th c v| có thể


chuyển về gi{ trị s s dụng l nh double hoặc eval.
>>eval(x)
ans =
1.5000
0.3660
-1.3660
ỗ u ý: Trong tr ng h p trên, nếu nh tham s s dụng trong l nh solve
l| m t đa th c, m t h|m s ch khẫng d ng ph ơng trình, solve sẽ cho đa th c
bằng khẫng rồi gi i. Ởau đ}y l| ví dụ đ i v i tr ng h p tham s đ a v|o d ng
ph ơng trình.
>>syms y
>>solve(‘2*y^2 + y = 6’)
ans =
3/2
-2
ởrong tr ng h p có nhiều hơn m t biến trong m t ph ơng trình, cần chỉ
rậ ph ơng trình sẽ đ c gi i theo biến n|o. ởr ng h p khẫng chỉ rậ trong c}u
l nh m| ph ơng trình có biến x thì M‚ởỗ‚‛ sẽ luẫn u tiên gi i theo x.
Hai c}u l nh sau l| ví dụ cho vi c solve gi i ph ơng trình theo biến u tiên
x v| gi i theo biến chỉ định:
>>solve (‘ a*x^2 + b*x ‘)
ans =
0
-b/a
>>solve(‘a*x^2 + b*x’,’b’)
ans =
-a*x
ỗ nh solve cễng có thể s dụng để gi i h ph ơng trình nhiều ẩn trong đó
kết qu đ c l u d i d ng d li u có c u trúc. ỡí dụ h ph ơng trình d i đ}y
có thể gi i nh sau
4 x  2 y  z  7 
 
 x  y  5 z  10 
 2 x  3 y  z  2 
 

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 75

>>solve(‘4*x – 2*y + z = 7’, ‘x + y + 5*z = 10’, ‘-2*x +


3*y – z = 2’)
ans =
x: [1 x 1 sym]
y: [1 x 1 sym]
z: [1 x 1 sym]
Để truy xu t t i c{c nghi m th|nh phần đ c l u trong kiểu d li u có c u
trúc, cần s dụng d u ch m .
>> x = ans.x
x =
124/41
>> y = ans.y
y =
121/41
>> z = ans.z
z =
33/41

. Ộa tr n bi n ký hi u

M‚ởỗ‚‛ ch p nh n ma tr n có thể có phần t l| biến ký hi u, c{c phép


to{n đ i v i ma tr n n|y ho|n to|n t ơng tự nh c{c phép to{n đ i v i ma tr n
a a13 
thẫng th ng. ỡí dụ nh p ma tr n A   11 12 
a
a21 a22 a23 
>>syms a11 a12 a13 a21 a22 a23;
>>A = [a11 a12 a13; a21 a22 a23];
M t ma tr n đ c coi l| ma tr n tuần ho|n nếu nh m i h|ng c a ma tr n
chính l| h|ng tr c đó c a ma tr n đó v| phần t đầu tiên c a h|ng đ c đặt vị
trí cu i cùng. ỡí dụ: Có thể t o m t ma tr n tuần ho|n từ biến ký hi u a, b, c nh
sau:
>>syms a b c
>>A = [a b c; b c a; c a b]
A =
[a b c]
[b c a]

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 76

[c a b]
Đ i v i ma tr n tuần ho|n, gi{ trị t ng c{c phần t c a m i h|ng v| c t l|
nh nhau, ví dụ kiểm tra h|ng m t v| c t hai c a ma tr n ‚:
>>sum(A(1,:) )
ans =
a + b + c
>>sum( A(:,2) )
ans =
a + b + c
ở o thêm c{c biến ký hi u alpha, beta v| thay thế cho c{c phần t trong ‚:
>>syms alpha beta
>>A(2,3) = beta;
>>subs(A,b,alpha);
>>A
A =
[a alpha c]
[alpha c beta]
[c a alpha]
ỡí dụ: Xét ma tr n quay G v i góc quay t
 cos(t ) sin(t ) 
G 
  sin(t ) cos(t ) 
>>syms t;
>>G = [cos(t) sin(t); -sin(t) cos(t)];
Ở dụng hai lần ma tr n quay G cho phép quay mặt phẳng v i m t góc
bằng hai lần góc t cho tr c
>>A = G*G
A =
[ cos(t)^2-sin(t)^2, 2*cos(t)*sin(t)]
[ -2*cos(t)*sin(t), cos(t)^2-sin(t)^2]
Cễng gi ng nh t i gi n biểu th c bằng l nh simplify, ma tr n cễng có thể
đ c đ a về d ng đơn gi n s dụng l nh simple theo cú ph{p sau
>>simple(S)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 77

ởrong đó Ở l| m t biến ký hi u. ỗ nh simple sẽ tìm d ng t i gi n nh t c a


biểu th c hoặc ma tr n biến ký hi u.
ỡí dụ
>>simple(A)
ans =
[ cos(2*t), sin(2*t)]
[ -sin(2*t), cos(2*t)]

4. Tích ph}n v| đ o h|m đa th c bi n ký hi u

Đ i v i đa th c biến ký hi u, trong M‚ởỗ‚‛ ta có thể s dụng hai h|m int


v| diff khi mu n tích ph}n hay đ o h|m nh ng đa th c n|y. Chi tiết về hai l nh
n|y có thể tìm hiểu thêm trong M‚ởỗ‚‛ Help
>>help sym/int
>>help sym/diff
Cú ph{p
>>int (S, v, a, b)
>> diff(S, ‘v’, n)
>> diff(S, n, ‘v’)
ởrong đó cú ph{p th nh t, M‚ởỗ‚‛ cho phép tính tích ph}n c a S theo
v trong kho ng từ a đến b. cú ph{p th hai v| th ba, M‚ởỗ‚‛ cho phép ng i
s dụng tính đ o h|m n lần c a S theo v
ỡí dụ: Tính tích ph}n  (3x  1)dx
2

>>syms x;
>>int(3*x^2-1)
ans =
x^3 – x
ợ{c định tích ph}n trên khi biết hai gi i h n [a, b] = [2, 4]
>>int(3*x^2 – 1, 2, 4)
ans =
54
ỡí dụ: Tính đ o h|m h|m s sau f  x 3  2 x 2  4 x  3
>>syms x f
>>f = x^3 + 2*x^2 – 4*x + 3

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 78

f =
x^3 + 2*x^2 – 4*x + 3
>>diff(f)
ans =
3*x^2 + 4*x - 4
ỗ u ý: Khi mu n x{c định đ o h|m c a hằng s s dụng l nh diff, tr c
tiên cần định nghĩa hằng s đó kiểu biến ký hi u. ỡí dụ:
>>c = sym(‘5’);
>>diff(c)
ans =
0
ộếu chỉ nh p từ c a s l nh
>>diff(5)
Ỗết qu tr về sẽ có d ng
ans =
[ ]
Đ i v i đa th c có nhiều biến, cần chỉ rậ trong l nh để x{c định sẽ đ o h|m
đa th c theo biến n|o. ỡí dụ
>>syms s t
>>f = sin(s*t)
Đ o h|m theo t:
>>diff(f, t)
ans =
cos(s*t)*s
Đ o h|m theo s:
>>diff(f, s)
ans =
cos(s*t)*t
H|m diff cễng có thể nh n gi{ trị đầu v|o l| ma tr n biến ký hi u, khi đó
phép đ o h|m sẽ đ c thực hi n bằng c{ch đ o h|m từng phần t c a ma tr n
đầu v|o. ỡí dụ: Tìm đ o h|m c a ‚.
 cos(ax) sin(ax) 
A 
  sin(ax) cos(ax) 

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 79

>>syms a x
>>A = [cos(a*x) sin(a*x); -sin(a*x) cos(a*x)];
>>B = diff(A)
B =
[ -sin(a*x)*a, cos(a*x)*a]
[ -cos(a*x)*a, -sin(a*x)*a]

. ớhư ng trình vi ph}n v| h|m s bi n ký hi u

ởrong M‚ởỗ‚‛, ph ơng trình vi ph}n c a h|m s biến ký hi u có thể


đ c gi i s dụng h|m dsolve, trong đó ký tự D đ c s dụng để biểu di n c{c
biến vi ph}n, ký hi u D , D ,…, DN t ơng ng v i b c vi ph}n. ỡí dụ D2y l| biểu
di n c a d2y/dt2. Điều ki n ban đầu nếu khẫng khai b{o trong ph ơng trình,
M‚ởỗ‚‛ sẽ đ a ra đ{p {n bao gồm c{c hằng C1, C2. Cú ph{p gọi h|m nh sau
>>dsolve(‘eqn1’, eqn2’, ...)
ởrong đó eqn1, eqn2... t ơng ng l| c{c ph ơng trình biến ký hi u thể hi n
ph ơng trình vi ph}n v| c{c điều ki n ban đầu.
ỡí dụ: Gi i ph ơng trình vi ph}n sau
y  1 y2
trong đó y l| biến phụ thu c v|o biến đ c l p t
>>dsolve(‘Dy = 1 + y^2’)
ans =
tan( t + C1 )
Ỗhi điều ki n ban đầu đ c khai b{o trong ph ơng trình, kết qu tr về sẽ
l|
>>dsolve(‘Dy = 1 + y^2’, ‘y(0) = 1’)
ans =
tan (t + ¼*pi)
ỗ u ý: Trong tr ng h p n|y mặc dù y biểu di n theo t v| trong
Ợorkspace ta có thể quan s{t th y biến y nh ng khẫng có biến t, vì thế h|m diff(y,
t sẽ tr về khai b{o l i.
ỡí dụ: Ph ơng trình vi ph}n b c hai v i hai điều ki n ban đầu

 cos(2t )  y y(0)  1 (0)  0


d2y dy
dt 2 dt

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 80

>>y=dsolve(‘D2y = cos (2*t) – y’, ‘y(0) = 1’, ‘Dy(0) =


0’, ‘t’)
Ỗhẫng gi ng nh khi s dụng ph ơng ph{p s , ph ơng trình vi ph}n b c
cao khẫng cần ph i đ a về h ph ơng trình vi ph}n b c nh t để gi i, chỉ cần s
dụng ký hi u phù h p v i c{c b c vi ph}n t ơng ng.
ỡí dụ ph ơng trình vi ph}n b c ba

u u (0)  1 (0)  1 (0)  


d 3u du d 2u
dx 3 dx dx x
>>u = dsolve(‘D3u = u’, ’u(0) = 1’, ‘Du(0) = -1’,
‘D2u(0) = pi’, ‘x’)
H|m dsolve còn cho phép gi i h ph ơng trình vi ph}n v i m t hoặc nhiều
biến. ỡí dụ: Cho h ph ơng trình vi ph}n b c nh t

f  3 f  4g g  4 f  3g
>>S=dsolve(‘Df = 3*f + 4*g’, ‘Dg = -4*f + 3*g’)
Ỗết qu tr về đ c l u l i trong c u trúc Ở, để truy xu t t i f v| g có thể s
dụng l nh:
>>f = S.f
f =
exp(3*t)*(C1*sin(4*t)+C2*cos(4*t))
>>g = S.g
g =
exp(3*t)*(C1*cos(4*t)-C2*sin(4*t))

. Tóm tắt chư ng

Tóm tắt c{c h|m đ i v i bi n ký hi u


sym Ỗh i t o m t biến ký hi u
syms ở o m t hay nhiều biến ký hi u
double Chuyển biểu th c biến ký hi u về d ng s
eval Chuyển biểu th c biến ký hi u về d ng s
numden Đ a về d ng t s v| m u s c a m t đa th c d ng ph}n s
poly2sym Chuyển đa th c d ng vector h s sang đa th c biến ký hi u
sym2poly Chuyển đa th c biến ký hi u sang đa th c d ng vector h s

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 81

subs ởhay thế gi{ trị c a biến trong biểu th c


simplify Đơn gi n hóa biểu th c
simple Đơn gi n hóa ma tr n
diff Đ o h|m đa th c
int ởích ph}n đa th c
solve ởìm nghi m c a ph ơng trình, h ph ơng trình
dsolve Gi i ph ơng trình vi ph}n, h ph ơng trình vi ph}n

Bảng 4. 1. Tóm tắt các hàm sử dụng trong chương 4

. ọ|i t p chư ng

ọ|i 4.1
Cho h|m s f ( x)  2 xe x  sin( x) trên kho ng [0,  ] , x{c định nghi m
c a ph ơng trình f ( x)  0 v| cực trị h|m s trên kho ng [0,  ]

Đáp án
2 x exp(-x)-sin(x)

0.2

0
y

-0.2

-0.4
0 1 2 3
x

f ( x)  0 có hai nghi m v| h|m s có


Hình 4. 1. Hình bài 4.1

ởừ đồ thị có thể th y ph ơng trình


hai cực trị trên [0,  ] . ộh đã biết ta có thể tìm nghi m c a ph ơng trình v| cực
trị c a h|m s s dụng fzero v| fminbnd đ i v i tham s h|m có d ng chu i ký
tự.
>>syms x
>>y = 2*x*exp(-x) – sin(x)
ởìm nghi m th nh t trên kho ng ,
>>x01 = fzero( char(y), [.5, 1])

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 82

x01 =
0.8030
ởìm nghi m th hai trên kho ng . ,
>>x02 = fzero( char(y), [2.5, 3])
x02 =
2.7923
ợ{c định cực tiểu c a h|m s trên kho ng . ,
>>xmin1 = fminbnd( char(y), [1.5, 2])
xmin1 =
1.8409
ợ{c định cực đ i c a h|m s trên kho ng ,.
>>xmax2 = fminbnd( char(-y), 0, .5)
xmax2 =
0.3384
ọ|i .
Cho đa th c x 2 y 3  sin( xy) , tính gi{ trị c a đa th c khi thay x = 2 v| y = 3
t ơng ng.
Đáp án:
>>syms x y
>>z = x^2*y^3 + sin(pi*x*y)
z =
x^2*y^3 + sin(pi*x*y)
>>z23 = subs(z, {x, y}, {2, 3})
z23 =
108

ọ|i .
Ỗiểm tra kết qu c a phép tính tích ph}n b t định sau bằng c{ch đ o h|m
kết qu v| so s{nh v i biểu th c trong d u tích ph}n:

1 x
1
4
dx

Đáp án:
>>syms x

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 83

>>y = int( 1/(1+x^4),x)


Ỗết qu hiển thị trên m|n hình r t ph c t p v| khẫng thể dùng simplify để
rút gọn. Để kiểm tra tính chính x{c c a kết qu tr về, ta sẽ đ o h|m y v| so s{nh
1
1  x4
v i

>>b = diff(y, x)
>>[t, n] = numden( b – 1/(1+x^4));
>>t
t =
0

s c a phép tính b 
1
1  x4
ở nh n gi{ trị khẫng ch ng t kết qu tích

ph}n l| đúng.
ọ|i .
ởính c{c tích ph}n sau:

  
3 1
a. (cos( x 1) )dx

b. 0 e cos(3x)dx
1
x
 2 x

 log( x)dx
1

  x  2
c. 0
4 2 3
d.
0
dx

Đáp án:
a. 2.0079
b. 0.1538
c. -0.4343
d. 1.3461e+003
ỗ u ý trong M‚ởỗ‚‛, >>log(x) biểu di n loga tự nhiên c a x, mu n tính
loga cơ s c a x cần nh p >>log10(x)
ọ|i 4.5
Gi i thích ý nghĩa kết qu hi n trên m|n hình khi thực hi n l nh >>sqrt x^
Đáp án:
>>sqrt(x^2)
ans =
(x^2)^(1/2)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 84

M‚ởỗ‚‛ s dụng ký hi u tiêu chuẩn để thể hi n c{c biểu th c biến ký


hi u, trong đó phép khai căn b c hai đ c biểu di n t ơng ng v i lễy thừa b c
(1/2).
ọ|i .
Cho h|m s

ln(1  x) 
x2
f ( x) 
(1  x) 2
2

ởính f '( x) v| f '(1)


Đáp án:
>>syms x;
>>y = (log(1+x) + x^2/2)/((1+x)^2);
>>dy = diff(y);
>>dy1=subs(dy,1)
dy1 =
0.0767
ọ|i 4.7
exp(2 x)-5 exp(x)+6

2
y

0 0.5 1 1.5
x

Hình 4. 2. Hình bài 4.7

f ( x)  e2 x  5e x  6
Có đồ thị trong kho ng , . nh trong hình vẽ.
a. ởìm nghi m f(x) = 0
b. ợ{c định cực tiểu c a h|m s
ợ{c định gi{ trị h|m s v| gi{ trị đ o h|m c a h|m s t i điểm cực tiểu vừa
tính.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 85

Đáp án:
>>syms x;
>>y = exp(2*x) – 5*exp(x) + 6
ởừ đồ thị có thể th y ph ơng trình f(x) = 0 có hai nghi m t i l}n c n cực trị
c a h|m s , vì thế cực trị h|m s sẽ đ c tính tr c.
>>xmin = fminbnd(char (y), .5, 1)
xmin =
0.9163
Gi{ trị h|m s v| gi{ trị đ o h|m c a h|m s t i xmin.
>>ymin = subs(y, xmin)
ymin =
-0.2500
>>dymin=subs(diff(y), xmin)
dymin =
-6.5272e-006
ởìm hai nghi m c a ph ơng trình f(x) = 0.
>>x1 = fzero(char(y), [xmin, xmin+1])
x1 =
1.0986
>>x2 = fzero(char(y), [xmin-1, xmin])
x2 =
0.6931
Hai nghi m n|y cễng có thể x{c định bằng c{ch s dụng h|m solve.
>>nghiem = solve(y);

ọ|i .
Cho h|m s

 x2  2 x  3 
f ( x)  sin 
 x  1 
ởính đ o h|m c p v| đ a kết qu về d ng t i gi n.
Đáp án:
>>syms x;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 86

>>y = sin((x^2 + 2*x – 3)/(x-1));


>>dy = diff(y,x,10);
>>dy = simplify(dy)
dy =
-sin(x+3)
ọ|i .
Cho:
f ( x)  3 x 2  2 x  5
ởrong M‚ởỗ‚‛ gi i f(x) = 0 theo ba c{ch kh{c nhau.
ọ|i .
Cho h ph ơng trình
2 x1  2 x2  x3  2
x2  2 x3  1
x1  x2  3x3  3
Gi i h s dụng b cẫng cụ ký hi u, kiểm tra kết qu bằng m t ph ơng
ph{p kh{c.
ọ|i .
Cho h ph ơng trình:
4 x1  x2  3x4  10
2 x1  3x2  x3  5 x4  3
x1  x2  x3  2 x4  2
3 x1  2 x2  4 x3  4
Gi i h s dụng b cẫng cụ ký hi u, kiểm tra kết qu bằng m t ph ơng
ph{p kh{c.
ọ|i .
Cho h ph ơng trình:
2(Va  Vb)  5(Va  Vc)  et  0
2(Vb  Va)  2Vb  3(Vb  Vc)  0
Vc  2sin(t )
Ở dụng b cẫng cụ ký hi u gi i h , Va, Vb, Vc biểu di n theo t.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Chương 4. B CÔNG C KÝ HI U 87

ọ|i .
Cho:
y  2 x3  x 2  4 x  5
ởính y’ x v| y’ ) theo hai c{ch kh{c nhau.
ọ|i .
Gi i h ph ơng trình vi ph}n sau
x1  5x1  2 x2
x2  7 x1  4 x2
ỡ i c{c điều ki n ban đầu:
x1 (0)  2
x2 (0)  8
ọ|i .
Gi i ph ơng trình vi ph}n


 4 y v i c{c điều ki n ban đầu y(0)  1v| y '( )  0
d2y
a.
dt 3
 8  2 y  cos( x) v i c{c điều ki n ban đầu y(0)  0 v|
2
d y dy
b.

y '(0)  1
2
dx dx

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 88

Chư ng . Ộ ộỒ ồ ộ ồ ớ Vủ ỏ ỗI U C2 C U TờÚC
ỏ li u có c u trúc (data structures) l| c{c biến ch a nhiều hơn m t gi{ trị.
Có r t nhiều lo i biến nh thế n|y trong M‚ởỗ‚‛ m| vector v| ma tr n đ c gi i
thi u ch ơng l| ví dụ. ởa có thể th y m t biến vector hay m t biến ma tr n
ch a r t nhiều gi{ trị liên quan m t c{ch logic v i nhau v| có m t điểm đặc bi t l|
t t c c{c gi{ trị đó đều cùng m t lo i v| trong m t s tr ng h p n|o đó đ c s
dụng để biểu di n cùng m t đ i t ng ví dụ ma tr n ch a điểm c a c{c mẫn học
c a m t sinh viên thì c{c phần t trong ma tr n đều có thể có kiểu d li u
double .
M t m ng h n h p (cell array) cễng l| m t lo i d li u có c u trúc, tuy
nhiên có thể ch a c{c gi{ trị có c{c kiểu kh{c nhau. M ng h n h p có thể l| vector
hay ma tr n. M t ví dụ điển hình c a vi c s dụng m ng h n h p l| khi l u tr
c{c chu i ký tự có đ d|i kh{c nhau, m ng h n h p cễng có thể đ c s dụng để
l u c{c biến con tr tr t i c{c d li u đ c l u tr kh{c.
M t tr ng h p kh{c c a d li u có c u trúc đó l| c{c biến c u trúc
(structures) l u gi c{c gi{ trị có quan h logic v i nhau, tuy nhiên c{c gi{ trị n|y
khẫng nh t thiết ph i có cùng kiểu cễng nh cùng s dụng để biểu di n m t đ i
t ng. C{c gi{ trị kh{c nhau trong biến c u trúc đ c l u gi trong c{c tr ng
(fields).
M t điển hình về vi c s dụng biến c u trúc l| khi x}y dựng cơ s d li u
s dụng trong qu n lý. ỡí dụ m t gi{o viên mu n qu n lý t t c c{c sinh viên
trong l p học c a mình theo tên, mã s sinh viên v| c{c điểm th|nh phần c a mẫn
học. ởrong tr ng h p n|y, có thể s dụng M‚ởỗ‚‛ để l u gi c{c d li u trên
bằng vi c dùng biến c u trúc.
M ng h n h p v| biến c u trúc đều có thể đ c s dụng để l u gi c{c gi{
trị có kiểu kh{c nhau trong m t biến đơn lẻ. Điểm kh{c bi t l n nh t gi a m ng
h n h p v| biến c u trúc l| m ng h n h p qu n lý gi ng nh vector v| ma tr n,
nghĩa l| có thể truy xu t t i c{c phần t trong m ng bằng c{ch s dụng c{c h s
vị trí cễng nh có thể s dụng vòng lặp để duy t m ng còn biến c u trúc thì
khẫng. Đ i v i biến c u trúc, ng i s dụng có thể duy t v| truy xu t t i c{c
th|nh phần d li u trong biến s dụng tên c a c{c tr ng th|nh phần t ơng ng.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 89

. Ộ ng h n h p

M ng h n h p l| m t yếu t đặc bi t trong M‚ởỗ‚‛ m| khẫng ph i ngẫn


ng l p trình thẫng dụng n|o cễng có. ộh đã trình b|y trên, m ng h n h p
đ c định nghĩa l| m t m ng, nghĩa l| có thể truy xu t t i c{c phần t th|nh phần
s dụng tham s vị trí, tuy nhiên c{c phần t trong m ng l i có thể có c{c kiểu d
li u kh{c nhau.

. . Thi t l p m ng h n h p
Có r t nhiều c{ch để thiết l p m t m ng h n h p trong M‚ởỗ‚‛. ỡí dụ ta
sẽ t o m t m ng h n h p gồm phần t , trong đó m t phần t ch a gi{ trị l| m t
s kiểu integer, m t phần t ch a m t ký tự, m t phần t ch a m t vector, v| m t
phần t ch a m t chu i ký tự. ộh v y m ng h n h p m| ta định t o có thể l|
m t vector h|ng hoặc vector c t gồm phần t , hoặc cễng có thể l| m t ma tr n
h|ng c t. Cú ph{p thiết l p vector h|ng, c t hay ma tr n cễng ho|n to|n t ơng
tự nh ch ơng , nghĩa l| c{c gi{ trị trong cùng m t h|ng có thể đ c ph}n t{ch
v i nhau b i ký tự tr ng hoặc d u phẩy, c{c h|ng ph}n bi t v i nhau b i d u
ch m phẩy. ởuy nhiên thay vì s dụng ngoặc vuẫng, m ng h n h p sẽ đ c thiết
l p bằng c{ch s dụng ngoặc nhọn { }.
M ng h n h p l| m t vector h|ng
>>cellrowvec = {23, ‘a’, 1:2:9, ‘hello’}
cellrowvec =
[23] ‘a’ [1x5 double] ‘hello’
M ng h n h p l| m t vector c t
>>cellcolvec = {23; ‘a’; 1:2:9; ‘hello’}
cellcolvec =
[23]
‘a’
[1x5 double]
‘hello’
M ng h n h p l| m t ma tr n x
>>cellmat = {23 ‘a’; 1:2:9 ‘hello’}
cellmat =
[23 ] ‘a’
[1x5 double ] ‘hello’

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 90

M t c{ch kh{c để thiết l p m ng h n h p l| c p gi{ trị cho từng phần t


riêng bi t v| m r ng m ng theo từng phần t m t. ởuy nhiên đ}y l| c{ch l|m
khẫng hi u qu v| kh{ t n th i gian. ởrong tr ng h p chúng ta đã biết tr c
kích c c a m ng cần t o, ta có thể s dụng h|m cell. ỡí dụ s dụng h|m cell để
t o m t m ng h n h p có d ng l| m t ma tr n x nh sau
>>mycellmat = cell(2,2)
mycellmat =
[ ] [ ]
[ ] [ ]

. . Truy xu t v| hi n th thu c tính c a c{c ph n t m ng h n h p


Cễng gi ng nh khi l|m vi c v i vector hoặc ma tr n, ta có thể truy xu t t i
c{c phần t trong m ng h n h p bằng c{ch s dụng h s vị trí. ởuy nhiên trong
m ng h n h p, ta có thể truy xu t ra kiểu d li u hoặc gi{ trị c a phần t m ng
t ơng ng. Ỗhi truy xu t t i c{c phần t trong m ng, ta có thể s dụng d u ngoặc
tròn ( ) để chỉ truy xu t t i phần t m| khẫng thể hi n n i dung, gi{ trị c a phần
t đó truy xu t vị trí hoặc ngoặc nhọn { } để truy xu t t i gi{ trị c a phần t đó
truy xu t n i dung .
Ví dụ:
>>cellrowvec{2}
ans =
a
>>cellmat{1,1}
ans =
23
‛ằng c{ch truy xu t n|y, có thể g{n gi{ trị cho c{c phần t t ơng ng trong
m ng h n h p.
Ví dụ:
>> mycellmat{1,1} = 23
mycellmat =
[23] [ ]
[ ] [ ]
Ỗhi s dụng truy xu t h s vị trí bằng c{ch dùng d u ngoặc tròn, gi{ trị
c a phần t t ơng ng trong m ng h n h p sẽ khẫng đ c thể hi n nếu phần t
đó l| biến có c u trúc.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 91

Ví dụ:
>>cellcolvec (2)
ans =
‘a’
>>cellmat (2,1)
ans =
[1 x 5 double]
>>cellmat {2,1}
ans =
1 3 5 7 9
ỏo phần t truy xu t t i l| m t vector, cễng có thể s dụng kết h p ngoặc
nhọn v| ngoặc tròn để truy xu t t i phần t nằm bên trong m t phần t c a m ng
h n h p nh sau
>>cellmat{2,1}(4)
ans =
7
ở ơng tự nh đ i v i ma tr n, có thể truy xu t t i m t t p h p c{c phần t
trong m ng h n h p nh sau
>>cellcolvec {2:3}
ans =
a
ans =
1 3 5 7 9
ỗ u ý: Nếu khẫng g{n gi{ trị tr về c a l nh trên cho m t biến b t kỳ,
M‚ởỗ‚‛ sẽ s dụng biến mặc định ans, nh v y sẽ chỉ có gi{ trị c a cellcolvec }
đ c l u l i. Để tr{nh tr ng h p n|y, có thể dùng m t vector hoặc m t m ng
h n h p m i để l u gi{ trị tr về nh sau
>>[c1, c2] = cellcolvec{2:3}
c1 =
a
c2 =
1 3 5 7 9
>>cellcolvec (2:3)
ans =

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 92

‘a’
[1x5 double]
Để hiển thị c{c m ng h n h p, ta có thể s dụng l nh celldisp để hiển thị
n i dung, gi{ trị c a t t c c{c phần t hoặc s dụng l nh cellplot để hiển thị l i
c{c phần t trong m ng d i d ng đồ thị tuy nhiên khẫng hiển thị n i dung .
Ví dụ:
>>celldisp(cellrowvec)
cellrowvec{1} =
23
cellrowvec{2} =
a
cellrowvec{3} =
1 3 5 7 9
cellrowvec{4} =
hello
‛ên c nh đó, có r t nhiều h|m {p dụng cho vector, ma tr n cễng có thể
đ c s dụng trên m ng h n h p, ví dụ m t s h|m về kích th c v| chiều nh
sau:
>>length(cellrowvec)
ans =
4
>>size(cellrowvec)
ans =
4 1
>>cellrowvec{end}
ans =
hello
ởa cễng có thể xóa m t phần t trong m ng h n h p hoặc xóa c{c h|ng, c t
th|nh phần c a m ng h n h p d i d ng ma tr n s dụng tham s vị trí nh sau:
>>cellrowvec
cellrowvec =
[23] ‘a’ [1x5 double] ‘hello’
>>length(cellrowvec)
ans =

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 93

4
>>cellrowvec(2) = [ ]
cellrowvec =
[23] [1x5 double] ‘hello’
>>length(cellrowvec)
ans =
3
>>cellmat
cellmat =
[ 23] ‘a’
[ 1x5 double] ‘hello’
>>cellmat(1,:) = [ ]
cellmat =
[1x5 double] ‘hello’

. . ỗưu chu i ký t trong m ng h n h p


M t ti n ích c a vi c s dụng m ng h n h p đó l| cho phép ng i s dụng
l u c{c chu i ký tự v i đ d|i kh{c nhau. ởa cễng có thể s dụng vòng lặp for để
lần l t duy t t i c{c ký tự trong chu i.
Ví dụ:
>>names = {‘Sue’, ‘Cathy’, ‘Xavier’}
names =
‘Sue’ ‘Cathy’ ‘Xavier’
>>for i = 1 : length(names)
disp (length(names{i}))
end
3
5
6
M‚ởỗ‚‛ cễng cho phép ng i s dụng chuyển từ m ng h n h p ch a c{c
ký tự sang ma tr n ch a c{c biến kiểu char v| ng c l i. ởuy nhiên, khi s dụng
h|m char để t o ma tr n ch a c{c chu i ký tự có đ d|i kh{c nhau, M‚ởỗ‚‛ tự
đ ng thêm v|o c{c ký tự tr ng để đ m b o kích c c a ma tr n, khi chuyển sang
m ng h n h p s dụng l nh cellstr, c{c ký tự tr ng n|y sẽ bị lo i b . Cú ph{p gọi
l nh nh sau

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 94

>>C = cellstr(S)
ởrong đó Ở l| m ng ký tự. Gi{ trị tr về C sẽ bao gồm c{c h|ng c a m ng ký
tự Ở đ c l u v|o c{c phần t m ng h n h p riêng bi t.
>>greetmat = char (‘Hello’, ‘Goodbye’);
>>cellgreets = cellstr (greetmat)
cellgreets =
‘Hello’
‘Goodbye’
>>length(cellgreets{1}) + length(cellgreets{2})
ans =
12
>>whos greetmat
Name Size Byte Class Attributes
greetmat 2x7 28 char
‛ên c nh đó, ng i s dụng cễng có thể kiểm tra nếu to|n b phần t c a
m t m ng h n h p l| chu i ký tự hay khẫng s dụng h|m iscellstr, M‚ởỗ‚‛ tr
về gi{ trị logic nếu đúng v| ng c l i.
>>iscellstr(names)
ans = 1
>>iscellstr(cellcolvec)
ans = 0

. ọi n có c u trềc

‛iến có c u trúc cho phép l u tr d li u c{c kiểu kh{c nhau có quan h


logic v i nhau v|o c{c tr ng d li u c a biến. u điểm c a vi c s dụng biến
c u trúc đó l| ng i s dụng có thể qu n lý c{c tr ng d li u phụ thu c theo tên,
tuy nhiên c{c biến d li u khẫng ph i l| m ng do đó khẫng thể s dụng vòng lặp
để duy t c{c phần t trong biến.

. . Thi t l p v| hi u ch nh c{c bi n c u trềc


C{c biến c u trúc có thể thiết l p đơn gi n bằng c{ch g{n gi{ trị cho c{c
tr ng th|nh phần trong biến hoặc s dụng h|m struct, cú ph{p gọi h|m nh sau
>>S = struct(‘field1’, val1, ‘field2’, val2, ...)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 95

ởrong đó field1, field2,... l| tên c{c tr ng th|nh phần, val1, val2, ... l| c{c gi{
trị t ơng ng v i c{c tr ng th|nh phần đó. Gi{ trị tr về S sẽ l| m t biến c u trúc
bao gồm c{c tr ng field1, field2, ... v i c{c gi{ trị val1, val2, ... t ơng ng.
Ví dụ: Thiết l p m t danh s{ch c{c mặt h|ng c a m t siêu thị m{y tính,
trong đó m i m t mặt h|ng có c{c thẫng tin nh s s n phẩm, gi{ th|nh mua v|o
UỞỏ , gi{ th|nh b{n ra, mã h|ng. M t biến c u trúc ch a thẫng tin s n phẩm có
d ng nh sau có thể th|nh l p biến có tên l| package v i c{c tr ng th|nh phần
lần l t l| item_no, cost, price, code.
Package
item_no cost Price Code
123 19.99 39.95 G

ởa có thể thiết l p biến c u trúc s dụng h|m struct nh sau


>>package = struct (‘item_no’, 123, ‘cost’, 19.99,
‘price’, 39.95, ‘code’, ‘g’)
package =
item_no: 123
cost: 19.99
price: 39.95
code: ‘g’
M t c{ch kh{c để thiết l p biến c u trúc đó l| s dụng d u ch m v| g{n gi{
trị trực tiếp cho c{c tr ng th|nh phần trong biến, tuy nhiên c{ch n|y khẫng hi u
qu nh khi s dụng h|m struct.
>>package.item_no = 123;
>>package.cost = 19.99;
>>package.price = 39.95;
>>package.code = ‘g’;
ở ơng tự, cễng có thể b sung thêm tr ng th|nh phần v|o trong biến c u
trúc bằng c{ch s dụng l nh g{n, ta cễng có thể g{n c biến c u trúc cho m t biến
kh{c nh sau
>>newpack = package;
>>newpack.item_no = 111;
>>newpack.price = 34.95
newpack =
item_no: 111

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 96

cost: 19.90
price: 34.95
code: ‘g’
‛iến c u trúc có thể in ra to|n b hoặc chỉ in c{c tr ng th|nh phần bằng
c{ch s dụng h|m disp, v| chỉ có thể in ra c{c tr ng th|nh phần khi s dụng
h|m fprintf.
>>disp(package)
item_no: 123
cost: 19.90
price: 39.95
code: ‘g’
>>disp(package.cost)
19.90
>>fprintf(‘%d %c \n’, package.item_no, package.code)
123 g
ởa cễng có thể s dụng h|m rmfield để lo i b tr ng th|nh phần trong
biến c u trúc. ỗ u ý l| gi{ trị tr về c a h|m n|y sẽ l| m t biến m i có tr ng
th|nh phần đã bị lo i b ch khẫng có sự thay đ i đ i v i biến cễ, cú ph{p gọi
h|m nh sau:
>>S = rmfield(S, ‘field’)
ởrong đó field l| tr ng mu n lo i b c a biến c u trúc S. Gi{ trị tr về l|
biến c u trúc ban đầu đã lo i b tr ng field t ơng ng.
>>rmfield (newpack, ‘code’)
ans =
item_no: 111
cost: 19.90
price: 34.95
Để thay đ i gi{ trị c a biến newpack, gi{ trị tr về c a rmfield ph i đ c g{n
luẫn cho biến newpack.
>>newpack = rmfield (newpack, ‘code’)
newpack =
item_no: 111
cost: 19.90
price: 34.95

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 97

ở ơng tự nh v i m ng h n h p, M‚ởỗ‚‛ cễng cung c p cho ng i s


dụng m t s h|m liên quan để kiểm tra thu c tính c a c{c biến có c u trúc. H|m
isstruct tr về gi{ trị logic nếu biến s c a h|m đúng l| m t biến có c u trúc v|
ng c l i, h|m isfield tr về gi{ trị logic nếu m t tên tr ng l| m t tr ng th|nh
phần trong m t biến có c u trúc v| ng c l i.
>>isstruct (package)
ans =
1
>>isfield (package, ‘cost’)
ans =
1
ởa cễng có thể s dụng h|m fieldnames để li t kê c{c tr ng th|nh phần
c a m t biến có c u trúc nh sau
>>pack_fields = fieldnames (package)
pack_fields =
‘item_no’
‘cost’
‘price’
‘code’
ỏo tên c a c{c tr ng th|nh phần trong biến c u trúc th ng có đ d|i
kh{c nhau nên gi{ trị tr về c a h|m fieldnames sẽ l| m t m ng h n h p có c{c
phần t l| tên c a c{c tr ng th|nh phần t ơng ng.

. . Vector bi n c u trềc
ộh đã trình b|y trong ví dụ mục tr c, khi qu n lý c{c s n phẩm c a m t
siêu thị m{y tính, ta có thể s dụng biến c u trúc để l u thẫng tin c a m i s n
phẩm. Để qu n lý c{c s n phẩm kh{c nhau trong siêu thị n|y, ta có thể s dụng
vector biến c u trúc nh sau
packages
item_no cost price code
1 123 19.99 39.95 g
2 456 5.99 49.99 l
3 587 11.11 33.33 w

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 98

ởrong ví dụ n|y packages l| m t vector có phần t , m i phần t l| m t


biến c u trúc ch a c{c tr ng t ơng ng item_no, cost, price, code. Có nhiều c{ch để
thiết l p m t vector ch a c{c biến c u trúc nh thế n|y, trong đó đơn gi n nh t l|
t o phần t đầu tiên c a vector, rồi sau đó b sung thêm c{c phần t v|o trong
vector x ban đầu nh sau
>>packages = struct (‘item_no’, 123, ‘cost’, 19.99,
‘price’, 39.95, ‘code’, ‘g’);
>>packages (2) = struct (‘item_no’, 456, ‘cost’, 5.99,
‘price’, 49.99, ‘code’, ‘l’);
>>packages (3) = struct (‘item_no’, 587, ‘cost’, 11.11,
‘price’, 33.33, ‘code’, ‘w’);
ỗ u ý trong tr ng h p biết tr c s phần t c a vector, ph ơng ph{p
hi u qu nh t l| thiết l p vector bằng c{ch nh p phần t cu i cùng tr c để
M‚ởỗ‚‛ c p ph{t b nh cho vector n|y, sau đó ng i s dụng có thể b sung
lần l t c{c phần t từ đầu nh sau
>>packages (3) = struct (‘item_no’, 587, ‘cost’, 11.11,
‘price’, 33.33, ‘code’, ‘w’);
>>packages (1) = struct (‘item_no’, 123, ‘cost’, 19.99,
‘price’, 39.95, ‘code’, ‘g’);
>>packages (2) = struct (‘item_no’, 456, ‘cost’, 5.99,
‘price’, 49.99, ‘code’, ‘l’);
M t ph ơng ph{p thẫng dụng kh{c trong M‚ởỗ‚‛ đó l| thiết l p m t
phần t biến c u trúc rồi sau đó s dụng h|m repmat để t{i t o vector v i kích
th c mong mu n, cú ph{p gọi h|m nh sau
>>B = repmat(A, M, N)
ởrong đó B l| ma tr n, vector có kích c M x N m| c{c phần t th|nh phần
đều l| A.
ỡí dụ
>>packages = repmat (struct (‘item_no’, 123, ‘cost’,
19.99, ‘price’, 39.95, ‘code’, ‘g’), 1, 3);
>>packages (2) = struct (‘item_no’, 456, ‘cost’, 5.99,
‘price’, 49.99, ‘code’, ‘l’);
>>packages (3) = struct (‘item_no’, 587, ‘cost’, 11.11,
‘price’, 33.33, ‘code’, ‘w’);
ỗ u ý khi gọi biến c u trúc bằng c{ch nh p tên biến, M‚ởỗ‚‛ sẽ chỉ hiển
thị kích th c c a vector biến c u trúc cễng nh tên c a c{c tr ng th|nh phần
nh ví dụ sau
>>packages

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 99

packages =
1 x 3 truct array with fields:
item_no
cost
price
code
‛iến packages lúc n|y l| m t vector c u trúc, nghĩa l| m i phần t l| m t
biến c u trúc. Để hiển thị, truy xu t phần t trong vector c u trúc, ta ph i s dụng
tham s vị trí t ơng ng c a phần t đó, ví dụ truy xu t t i phần t th trong
vector c u trúc trên
>>packages (2)
ans =
item_no: 456
cost: 5.99
price: 49.99
code: ‘l’
Để truy xu t t i tr ng th|nh phần c a từng phần t , ta có thể s dụng kết
h p tham s vị trí t ơng ng c a phần t đó v| tên c a tr ng cần truy xu t,
ph}n c{ch b i d u ch m nh sau
>>packages(1).code
ans =
g
Có thể th y đ}y packages l| m t biến có c u trúc b c ba đơn gi n, trong đó
b c cao nh t l| vector có c u trúc packages, m i m t phần t c a vector n|y l| m t
biến c u trúc, c p th p nh t trong biến n|y l| c{c tr ng th|nh phần. ởa có thể s
dụng vòng lặp for để hiển thị t t c c{c phần t trong biến vector packages nh sau
>>for i = 1: length (packages)
disp (packages (i))
end
item_no: 123
cost: 19.99
price: 39.95
code: ‘g’

item_no: 456

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 100

cost: 5.99
price: 49.99
code: ‘l’

item_no: 587
cost: 11.11
price: 33.33
code: ‘w’
Để truy xu t t i c{c tr ng th|nh phần trong m t vector biến c u trúc,
M‚ởỗ‚‛ có l i thế hơn so v i phần l n c{c ngẫn ng l p trình thẫng dụng khi
khẫng cần thiết ph i s dụng vòng lặp duy t qua t t c c{c phần t kh{c trong
vector cễng nh s dụng d u ch m để truy xu t t i c{c tr ng th|nh phần. ở t c
c{c gi{ trị trong m t tr ng c a t t c c{c phần t trong m t vector c u trúc đều
có thể truy xu t trong M‚ởỗ‚‛ v i chỉ m t c}u l nh. ởuy nhiên nếu khẫng g{n
gi{ trị tr về cho m t biến cụ thể, c{c gi{ trị n|y sẽ đ c ghi đè lên nhau trong biến
ans v| ng i s dụng chỉ có thể truy xu t t i gi{ trị cu i cùng
>>packages.cost
ans =
19.99
ans =
5.99
ans =
11.11
Để khắc phục, ta có thể l u c{c gi{ trị n|y trong m t vector kh{c nh sau
>>pc = [packages.cost]
pc =
19.99 5,99 11.11
ỡ i ph ơng ph{p n|y, M‚ởỗ‚‛ cho phép {p dụng h|m lên t t c c{c
tr ng t ơng ng trong cùng m t vector c u trúc. ỡí dụ: Để tính t ng gi{ trị c a
t t c c{c tr ng có tên cost ta có thể dùng h|m sum.
>>sum([packages.cost])
ans =
37.09

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 101

Đ i v i c{c vector c u trúc, c vector hoặc phần t có c u trúc c a vector,


hoặc m t tr ng trong vector đều có thể s dụng v i vai trò l| c{c tham s trong
h|m.
ởrên đ}y l| ví dụ về vector ch a c{c biến có c u trúc. ởiếp theo ta sẽ xét
m t tr ng h p ph c t p hơn khi m t vector có c u trúc m| m t tr ng th|nh
phần l i l| m t vector. ỡí dụ khi thực hi n qu n lý d li u về sinh viên trong m t
l p học bao gồm c{c thẫng s nh tên sinh viên name , mã s sinh viên id_no),
điểm th|nh phần quiz trong đó tr ng điểm th|nh phần l| m t vector ch a
điểm th|nh phần nh sau
student
name id_no quiz
1 2 3 4
1 C, Joe 999 10.0 9.5 0.0 10.0
2 Hernandez, Pete 784 10.0 10.0 9.0 10.0
3 Brownnose, Violet 332 7.5 6.0 8.5 7.5

ởa có thể định nghĩa biến c u trúc student nh sau


>>student (3) = struct (‘name’, ‘Brownnose, Violet’,
‘id_no’, 332, ‘quiz’, [7.5 6.0 8.5 7.5]);
>>student (2) = struct (‘name’, ‘Hernandez, Pete’,
‘id_no’, 784, ‘quiz’, [10.0 10.0 9.0 10.0]);
>>student (1) = struct (‘name’, ‘C, Joe’, ‘id_no’, 999,
‘quiz’, [10.0 9.5 0.0 10.0]);
Ởau khi thiết l p biến student, ta có thể truy xu t đến từng th|nh phần trong
biến. M‚ởỗ‚‛ sẽ hiển thị thẫng tin về biến cễng nh tên c{c tr ng th|nh phần
trong biến nh sau
>>student
student =
1 x 3 struct array with fields :
name
id_no
quiz
ởa có thể truy xu t t i c{c gi{ trị th|nh phần nh sau
>>student (1)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 102

ans =
name: ‘C, Joe’
id_no: 999
quiz: [10 9.5 0 10]
>>student (1). quiz
ans =
10 9.5 0 10
>>student (1). quiz (2)
ans =
9.5
>>student (3). name (1)
ans =
B
ỡ i nh ng biến có c u trúc ph c t p, điều quan trọng nh t l| ng i s
dụng ph i nắm đ c c{c th|nh phần trong biến để x lý. ỡí dụ đ i v i biến
student l| m t biến vector c u trúc, trong đó student (1) l| m t phần t c a vector
student v| l| m t biến có c u trúc v i c{c tr ng name, id_no, quiz, trong đó student
(1). quiz l| m t vector kiểu double, student(1). quiz(2) l| m t phần t c a vector
quiz, student(3). name (1) l| ký tự đầu tiên c a tên sinh viên th ba.
ởa cễng có thể s dụng vòng lặp để duy t vector c u trúc student, qua đó
thực hi n nhi m vụ sau in ra tên v| điểm trung bình c a từng sinh viên.
>>for i = 1: length(student)
qsum = sum([student(i).quiz]);
no_quizzes = length(student(i).quiz);
ave = qsum/no_quizzes;
fprintf(‘%-20s %.1f\n’, student(i).name, ave);
end
C, Joe 7.4
Hernandez, Pete 9.8
Brownnose, Violet 7.4

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 103

. . C u trềc l ng nhau v| vector bi n c u trềc l ng nhau


C u trúc lồng nhau l| c u trúc m| trong đó ít nh t m t tr ng th|nh phần
c a nó cễng l| m t c u trúc. ợét ví dụ d i đ}y về m t c u trúc đo n thẳng có thể
bao h|m c{c tr ng ch a tọa đ c a c{c điểm mút biểu di n trong mặt phẳng
xOy.
C u trúc lineseg bao gồm hai tr ng endpoint1 v| endpoint2, trong đó m i
tr ng th|nh phần n|y l i l| m t c u trúc tr ng ch a tọa đ x v| y.
Lineseg
endpoint1 endpoint2
x Y x y
2 4 1 6

ớh ơng ph{p đơn gi n v| hi u qu nh t để thiết l p biến lineseg trong


M‚ởỗ‚‛ l| s dụng h|m struct khai b{o trực tiếp nh sau
>>lineseg = struct(‘endpoint1’, struct(‘x’, 2, ‘y’, 4),
‘endpoint2’, struct(‘x’,1,’y’,6));
ởa cễng có thể khai b{o từng b c để thiết l p biến lineseg bằng c{ch khai
b{o hai tr ng d ng c u trúc endpoint1 v| endpoint2 tr c nh sau
>>pointone = struct(‘x’, 2, ‘y’, 4);
>>pointtwo = struct(‘x’, 1, ‘y’, 6);
>>lineseg = struct (‘endpoin1’, pointone, ‘endpoint2’,
pointtwo);
C{ch kém hi u qu nh t trong M‚ởỗ‚‛ để khai b{o c{c c u trúc lồng nhau
đó l| khai b{o theo từng tr ng th|nh phần m t.
>>lineseg.endpoint1.x = 2;
>>lineseg.ednpoint1.y = 4;
>>lineseg.endpoint2.x = 1;
>>lineseg.ednpoint2.y = 6;
Ỗhi biến c u trúc lồng đã đ c thiết l p, vi c truy xu t t i c{c th|nh phần
trong biến ho|n to|n t ơng tự nh khi truy xu t t i c{c biến c u trúc thẫng
th ng.
>>lineseg
lineseg =
endpoint1: [1 x 1 struct]

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 104

endpoint2: [1 x 1 struct]
>>lineseg.endpoint1
ans =
x: 2
y: 4
>>lineseg.endpoint1.x
ans =
2
Ỗết h p vector v| biến c u trúc lồng nhau ta sẽ đ c m t vector biến c u
trúc trong đó m t s tr ng c a c{c phần t th|nh phần cễng l| kiểu c u trúc. ợét
ví dụ s dụng m t vector c u trúc lồng để biểu di n c{c s n phẩm có d ng hình
trụ tròn c a m t cẫng ty v i c{c kích th c, v t li u, kh i l ng kh{c nhau nh
sau:
Cyls
code dimensions weight
Rad height
1 x 3 6 7
2 a 4 2 5
3 c 3 6 9

ởa có thể th y l| cyls l| m t vector ch a ba phần t biến c u trúc v i c{c


tr ng code, dimensions, weight trong đó dimensions l i l| m t c u trúc v i hai
tr ng th|nh phần rad v| height. ‛iến cyls có thể đ c thiết l p nh sau
>>cyls(3) = struct (‘code’, ‘c’, ‘dimension’,
struct(‘rad’, 3, ‘height’, 6), ‘weight’, 9);
>>cyls(1) = struct (‘code’, ‘x’, ‘dimension’,
struct(‘rad’, 3, ‘height’, 6), ‘weight’, 7);
>> cyls(2) = struct (‘code’, ‘a’, ‘dimension’,
struct(‘rad’, 4, ‘height’, 2), ‘weight’, 5);
Mặt kh{c, biến cyls cễng có thể đ c thiết l p bằng c{ch g{n lần l t gi{ trị
cho c{c phần t th|nh phần:
>> cyls(3).code = 'c';
>> cyls(3).dimensions.rad = 3;
>> cyls(3).dimensions.height = 6;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 105

>> cyls(3).weight = 9;
>> cyls(1).code = 'x';
>> cyls(1).dimensions.rad = 3;
>> cyls(1).dimensions.height = 6;
>> cyls(1).weight = 7;
>> cyls(2).code = 'a';
>> cyls(2).dimensions.rad = 4;
>> cyls(2).dimensions.height = 2;
>> cyls(2).weight = 5;
Cần ph}n bi t rậ c{c l p cụ thể trong biến cyls nh sau
- cyls l| biến chính ch a to|n b thẫng tin liên quan đến s n phẩm đ c
quan t}m, đồng th i l| m t vector c u trúc.
- cyls(1) l| phần t th|nh phần trong vector cyls.
- cyls(2).code l| m t trong c{c tr ng th|nh phần trong c u trúc v| có d ng ký
tự.
- cyls(3).dimensions l| m t tr ng th|nh phần trong c u trúc nh ng b n th}n
nó cễng l| m t c u trúc v i hai tr ng th|nh phần rad v| height.
- cyls(1).dimensions.rad l| tr ng th|nh phần trong c u trúc dimensions, gi{ trị
đ c l u d ng double.

5.3 Tóm tắt chư ng

C{c h|m thông d ng đ i v i m ng h n h p v| bi n c u trềc


cell ởhiết l p m t m ng h n h p
celldisp Hiển thị n i dung c{c phần t trong m ng h n h p
cellplot Hiển thị tên c{c phần t trong m ng h n h p d i d ng đồ thị
cellstr Chuyển m ng kiểu ký tự sang kiểu m ng h n h p
iscellstr Ỗiểm tra m t m ng h n h p chỉ ch a phần t kiểu chu i ký tự
struct ởhiết l p biến c u trúc
isstruct Ỗiểm tra m t biến có ph i biến c u trúc
fieldnames Hiển thị tên c{c tr ng th|nh phần c a m t biến c u trúc
repmat ởhiết l p vector biến c u trúc v i kích th c mong mu n

Bảng 5. 1. Tóm tắt các hàm sử dụng trong chương 5

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 106

5.3 ọ|i t p chư ng

ọ|i .
ở o m t m ng h n h p ch a c{c phần t l| c{c chu i ký tự nh sau:
exclaimcell = ‛ravo , ốantastic job }
In m t phần t ng u nhiên trong m ng.
ọ|i .
ở o m ng h n h p sau
>>ca = abc , , , zeros(2)}
ở o m t m ng h n h p m i có d ng ma tr n x ch a c{c phần t c a
m ng ca vừa t o, viết l nh truy xu t t i c t cu i cùng trong m ng m i.
ọ|i .
Ở dụng h|m cell thiết l p m ng h n h p x sau đó g{n gi{ trị b t kỳ cho
c{c phần t th|nh phần. Chèn m t h|ng v|o gi a để m ng m i t o th|nh có d ng
ma tr n x .
ọ|i .
ở o m ng h n h p l u tr c{c thẫng tin sau c a m t sinh viên b t kỳ tên
sinh viên, mã s sinh viên, điểm trung bình chung v| in thẫng tin n|y ra m|n
hình.
ọ|i .
Yêu cầu t ơng tự nh b|i 5.4 nh ng l u thẫng tin v|o m t biến c u trúc
sau đó in ra m|n hình.
ọ|i .
Cho m t vector c u trúc đ c định nghĩa nh sau
>>kit(2).sub.id = 123;
>>kit(2).sub.wt = 4.4;
>>kit(2).sub.code = ‘a’;
>>kit(2).name = ‘xyz’;
>>kit(2).lens = [4 7];
>>kit(1).name = ‘rst’;
>>kit(1).lens = 5:6;
>>kit(1).sub.id = 33;
>>kit(1).sub.wt = 11.11;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 107

>>kit(1).sub.code = ‘q’;
ởrong c{c c}u l nh sau, c}u l nh n|o l| h p l v| nêu gi{ trị tr về t ơng
ng c}u l nh n|o khẫng h p l , gi i thích.
>>kit(1).sub
>>kit(2).lens(1)
>>kit(1).code
>>kit(2).sub.id == kit(1).sub.id
>>strfind(kit(1).name, ’s’)
ọ|i .
ỗ p m t vector c u trúc có d ng nh d i đ}y v i thẫng tin c a hai phần
t còn l i trong vector sinh viên tự khai b{o.
>>subjects
subjects =
1x3 struct array with fields:
name
sub_id
height
weight
>>subjects(1)
ans =
name: ‘Joey’
sub_id: 111
height: 6.7
weight: 222.2
Gi s khẫng biết tr c s phần t c a vector c u trúc subjects, viết m t
đo n ch ơng trình tìm phần t m| gi{ trị c a c{c tr ng height hoặc weight nh
hơn gi{ trị trung bình c a tr ng height hoặc weight c a t t c c{c phần t trong
vector, in ra m|n hình thẫng tin phần t tìm đ c.

ọ|i .
Cho m t file d li u có d ng sau:
44 7 7.5 8
33 5.5 6 6.5

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . M ộG H ộ H ớ ỡủ ỏ ỗI U C2 C U ởờÚC 108

37 8 8 8
24 6 7 8

Ở dụng h|m load để t i file v|o m t ma tr n trong M‚ởỗ‚‛, từ ma tr n


vừa t o, viết đo n ch ơng trình để t o vector c u trúc nh sau:
Students
id_no Quiz
1 2 3
1 44 7 7.5 8
2 33 5.5 6 6.5
3 37 8 8 8
4 24 6 7 8

ộói c{ch kh{c, students l| vector c u trúc có phần t ch a thẫng tin về mã


s sinh viên id_no v| điểm th|nh phần mẫn học quiz c a sinh viên t ơng ng,
trong đó mã s sinh viên đ c biểu di n trong c t đầu tiên, điểm th|nh phần đ c
biểu di n trong c t còn l i c a file d li u.
ỡiết đo n ch ơng trình in ra mã s sinh viên v| điểm trung bình theo c t
nh sau
44 7.5
33 6.0
37 8.0
24 7.0

ọ|i .
ở o m t biến c u trúc lồng để l u gi thẫng tin về m t c{ nh}n bao gồm
tên, địa chỉ, s đi n tho i trong đó c{c tr ng th|nh phần địa chỉ v| s đi n tho i
có c u trúc riêng.
ọ|i .
ởìm hiểu hai h|m x}y dựng sẵn trong M‚ởỗ‚‛ l| cell2struct chuyển từ
m ng h n h p sang vector c u trúc v| struct2cell chuyển từ vector c u trúc sang
m ng h n h p .

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 109

Chư ng . Đ Tồ TờỚộỒ ỘỌTLAB

6.1 Đ th trong không gian hai chi u

6.1.1 C{c l nh c b n
M‚ởỗ‚‛ cung c p cho ng i dùng th vi n gồm nhiều h|m x}y dựng sẵn
để thiết l p v| hi u chỉnh đồ họa trong khẫng gian hai chiều cễng nh ba chiều.
ỏanh s{ch nh ng c}u l nh cơ b n để l|m vi c v i chế đ đồ họa trong M‚ởỗ‚‛
có thể tham kh o v i l nh help trong c a s l nh.
C{c l nh đồ họa ỏ cơ b n
>>help graph2d
C{c l nh đồ họa ỏ cơ b n
>>help graph3d
‛ c quan trọng đầu tiên khi l|m vi c v i chế đ đồ họa trong M‚ởỗ‚‛
đó l| chuẩn bị nguồn d li u. ỏ li u nguồn đ}y có thể đ c thiết l p đơn gi n
bằng c{ch nh p từ b|n phím, s dụng gi{ trị tr về c a c{c h|m, hoặc đ c thiết
l p bằng c{ch t i từ m t hay nhiều file.
ỗ nh đồ họa ỏ cơ b n nh t trong M‚ởỗ‚‛ l| plot, h|m cho phép thể hi n
d i d ng đồ thị c a m t hay nhiều t p d li u. ỡí dụ cho y l| m t vector bao
gồm c{c phần t l| lễy thừa b c c a c{c s c{ch đều . từ - đến
>>y = (-5 : 0.1 : 4).^3;
C{c phần t c a y sẽ đ c biểu di n d i d ng đồ thị nh sau
>>plot(y)
100

50

-50

-100

-150
0 50 100

Hình 6. 1. Ví dụ lệnh plot

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 110

ỗ u ý rằng trong đồ thị trên gi{ trị t ơng ng trên trục ho|nh chính l| s
th tự c a c{c phần t trong vector y. Đồ thị trên ho|n to|n t ơng đ ơng v i đồ
thị có hai tham s đầu v|o x v| y trong đó x l| c{c phần t c{ch đều nh n c{c gi{
trị từ đến t ơng đ ơng v i s phần t c a y).
>>x = 1 : length(y);
>>plot (x, y)
Đ i v i l nh plot chỉ có m t tham s đầu v|o plot(y), y có thể l| vector hoặc
ma tr n, tùy v|o d ng c a tham s đầu v|o m| đồ thị đ c thiết l p có sự kh{c
bi t theo quy tắc sau
- ộếu y l| vector, đồ thị có d ng t p h p c a c{c điểm (xi, yi) trong đó xi l|
s th tự c a yi trong vector y.
- ộếu y l| ma tr n m x n, đồ thị thu về l| t p h p n đ ng, trong đó m i
đ ng l| t p h p c{c điểm (xi, yi) v i xi = … m, yi c{c phần t trong m i
c t ng v i xi t ơng ng.
ỡí dụ
>>A = round(10*rand(5,3))
A =
1 2 9
5 8 10
10 3 5
3 5 1
6 7 1
>>plot(A)

10

0
1 2 3 4 5

Hình 6. 2. Plot từ ma trận

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 111

Đ i v i l nh có hai tham s đầu v|o plot(x, y):


- ộếu x v| y l| hai vector có cùng đ d|i, M‚ởỗ‚‛ sẽ hiển thị đồ thị y
theo x.
- ộếu x l| vector v| y l| ma tr n, đồ thị hiển thị h|ng hoặc c t c a y theo
c{c phần t c a x tùy v|o kích c ma tr n. ỡí dụ cho vector x, ma tr n y1
v| y2.
>>x = [1 5 10];
>>y1 = [11 20 16; 15 13 12];
>>y2 = [18 17; 14 19; 15 20];
Do y1 l| ma tr n có s c t bằng v i chiều d|i c a x, c{c phần t trên m i
h|ng c a y sẽ đ c hiển thị theo c{c phần t c a x, s đ ng hiển thị bằng v i s
h|ng c a y1. ỏo ma tr n y2 có s h|ng bằng v i chiều d|i c a x, c{c phần t trên
m i c t c a y sẽ đ c thể hi n theo c{c phần t c a x, s đ ng hiển thị bằng v i
s c t c a y2.
>>plot(x, y1, ‘*-r’);
>>hold on
>>plot(x, y2, ‘o-b’);

20

18

16

14

12

10
0 2 4 6 8 10

Hình 6. 3. Đồ thị (x, y1) và (x, y2)

- ộếu x l| ma tr n v| y l| vector, đồ thị sẽ hiển thị c{c phần t c a y theo


c{c phần t h|ng hoặc c t c a x.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 112

- ộếu m t trong hai tham s l| ma tr n vuẫng, đồ thị sẽ hiển thị c{c phần
t c a tham s n|y theo c{c phần t c t c a tham s ma tr n vuẫng.
ỡí dụ
>>y3=[11 12 13; 14 15 16; 17 18 19];
>>plot(x, y3, ’*-‘)
>>hold on
>>plot(y3, x, ‘o-‘)

20

15

10

0
0 5 10 15 20
Hình 6. 4. Đồ thị (x, y3) và (y3, x)

- ộếu x v| y l| hai ma tr n có cùng kích c , đồ thị sẽ hiển thị c{c phần t


từng c t c a y theo c{c phần t c{c c t c a x t ơng ng.
H|m plot ch p nh n s tham s đầu v|o có thể l n hơn hai, tuy nhiên quy
tắc nêu trên v n {p dụng cho c{c cặp tham s t ơng ng. ỡí dụ
>>x1 = 0 : .1 : 10;
>>y1 = cos(x1);
>>x2 = 1.5*x1;
>>y2 = 2*cos(x2);
>>x3 = 2*x1;
>>y3 = 3*sin(x3);
>>plot(x1,y1,x2,y2,x3,y3);
ỗ nh plot trên t ơng đ ơng v i
>>X = [x1’ x2’ x3’];
>>Y = [y1’ y2’ y3’];
>>plot(X, Y)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 113

-1

-2

-3
0 5 10 15 20

Hình 6. 5. Plot giá trị 3 cặp vector trên cùng một đồ thị

Đồ thị c a c{c h|m trên đ c thể hi n bằng c{c m|u kh{c nhau, đó l| do
chế đ mặc định hiển thị m|u trong M‚ởỗ‚‛. Khi thể hi n nhiều đồ thị, c{c
đ ng biểu di n sẽ lần l t đ c hiển thị v i c{c m|u t ơng ng xanh da tr i
(blue , xanh l{ c}y green , đ red), lam (cyan , hồng th m magenta , v|ng
(yellow v| đen black . Quan s{t trên đồ thị ta có thể th y x , y , x , y , x ,
y đ c biểu di n bằng c{c đ ng m|u xanh da tr i, xanh l{ c}y v| đ t ơng
ng.
Ộ|u ỏ ng ký hi u
Ký tự Thể hiện Ký hiệu Thể hiện
B ợanh da tr i . Điểm
G ợanh l{ c}y o Hình tròn
R Đ x ỏ ux
C Lam + ỏ u+
M Hồng th m * ỏ u sao
Y ỡ|ng s Hình vuẫng
K Đen d Ỗim c ơng
ỏ ng đư ng v ởam gi{c xu ng
Ký tự Thể hiện ^ Tam gi{c lên
- ộét liền < ởam gi{c tr{i
: Hai ch m > ởam gi{c ph i
-. Ch m g ch p Ởao năm c{nh
-- ộét đ t h Ởao s{u c{nh

Bảng 6. 1. Màu - dạng đường - dạng ký hiệu trong đồ thị

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 114

Chế đ đồ thị trong M‚ởỗ‚‛ cho phép hiển đ ng biểu di n v i c{c m|u
sắc, d ng đ ng, v| ký hi u kh{c nhau. Để thực hi n điều n|y, trong c}u l nh plot
có thể thêm v|o m t chu i từ đến ký tự để đặt c{c thu c tính m|u-d ng
đư ng-d ng ký hi u cho đ ng biểu di n. C{c ký tự t ng tr ng cho c{c thu c
tính c a đ ng biểu di n tóm tắt trong b ng trên.
Đ i v i plot, M‚ởỗ‚‛ yêu cầu c{c tham s ph i đ c khai b{o v| đồ thị sẽ
đ c thể hi n t ơng ng v i d i gi{ trị c a c{c tham s đầu v|o. ‛ên c nh đó,
M‚ởỗ‚‛ cễng cung c p cho ng i dùng m t l nh vẽ kh{c v i nhiều ti n ích hơn,
đó l| ezplot. Đ i v i ezplot, kho ng biểu di n c a đồ thị mặc định sẽ l| - π đến π
v| có thể thay đ i phụ thu c v|o tham s đầu v|o, tên c a đồ thị sẽ l| tên c a
chu i ký tự khai b{o trong phần tham s h|m v| đ c hiển thị trên hình vẽ. Đặc
bi t, ezplot cho phép vẽ đồ thị biểu di n h|m s khai b{o d i d ng chu i ký tự.
Cú ph{p l nh nh sau
>>ezplot(fun);
>>ezplot(fun, [a, b]);
ởrong đó fun l| h|m s đ c vẽ đồ thị. cú ph{p th nh t, đồ thị h|m s
sẽ đ c thể hi n trên kho ng mặc định l| -2π đến π, cú ph{p th hai, ng i s
dụng có thể thể hi n đồ thị trên kho ng a, b tùy chọn.
ỡí dụ sau đ}y so s{nh hai h|m plot v| ezplot vẽ đồ thị h|m s y = x2 + 2x +
1.
>>x = -2*pi: .1 : 2*pi; >>ezplot(‘x^2 + 2*x + 1’);
>>y = x.^2 + 2.*x + 1;
>>plot(x,y)
Ỗhi s dụng h|m plot, đầu tiên cần khai b{o vector x, từ h|m s đã cho tìm
gi{ trị vector y, sau đó thực hi n l nh vẽ đồ thị. ởuy nhiên đ i v i ezplot chỉ cần
thực hi n m t c}u l nh đơn gi n, kết qu đồ thị thu đ c từ hai c{ch l| t ơng
đ ơng. Ở dụng h|m ezplot trong M‚ởỗ‚‛ có thể coi l| c{ch đơn gi n nh t để
thể hi n đồ thị c a m t h|m s kiểu chu i ký tự hoặc biến ký hi u, tuy nhiên về
mặt ch c năng, ezplot có nhiều h n chế hơn so v i plot.
C{c thẫng s c a đồ thị biểu di n trong M‚ởỗ‚‛ có thể đ c thay đ i s
dụng c{c l nh sau
- Điều chỉnh hai trục tọa đ axis trong đó cần l u ý cú ph{p c a hai c}u
l nh sau
 >>axis ([Xmin Xmax Ymin Ymax])
 biểu di n đồ thị trong gi i h n ợmin ≤ ợ ≤ ợmax, Ymin ≤ Y ≤

 >>axis equal
Ymax.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 115

 thiết l p đ chia bằng nhau hai trục tọa đ .


- Đặt tên cho đồ thị M‚ởỗ‚‛ cho phép đặt, thay đ i tên c a đồ thị s
dụng l nh title v i cú ph{p:
 >>title(‘Ten do thi’)
- Đặt tên cho hai trục tọa đ Hai trục tọa đ c a M‚ởỗ‚‛ có thể đ c
đặt, thay đ i tên s dụng c{c l nh
 >>xlabel(‘text’) v| >>ylabel(‘text’) trong đó text l|
tên c a c{c trục tọa đ ho|nh, tung t ơng ng.
- Hiển thị l i vùng đồ thị h|m grid trong M‚ởỗ‚‛ cho phép b t/tắt chế
đ hiển thị l i trên vùng đồ thị s dụng c{c l nh:
 >>grid on v| >>grid off t ơng ng, nếu khẫng vừa lòng v i
kích c ẫ l i trên đồ thị, có thể s dụng l nh:
 >>grid minor để thu đ c vùng đồ thị v i c{c ẫ l i d|y đặc
hơn.

6.1.2 C{c l nh tăng cư ng


ộh đã biết, kết qu tr về c a c{c l nh plot, ezplot sẽ đ c l u gi trên
c{c c a s đồ họa Figure. ởrong thực tế, nhiều khi cần ph}n tích nhiều hình vẽ, đồ
thị cùng m t lúc nh ng chế đ mặc định c a M‚ởỗ‚‛ khẫng cho phép l u gi
hình nh trên c{c c a s đồ họa Figure gi a c{c lần vẽ. Có nghĩa l| kết qu c a lần
thực hi n l nh plot hoặc ezplot hi n t i sẽ thay thế kết qu c a l nh vẽ tr c đó
trên Figure. Để kết qu c a lần vẽ tr c khẫng bị m t đi, ng i s dụng M‚ởỗ‚‛
có thể dùng l nh figure( ) để t o c a s đồ họa m i v| l u kết qu trên đó hoặc
dùng l nh hold để thể hi n kết qu c a l nh vẽ hi n h|nh v| tr c đó trên cùng
m t c a s đồ họa.
ỗ nh figure(k) cho phép t o c a s đồ họa m i có tên l| Figure k hoặc
chuyển sang l|m vi c v i Figure k nếu c a s đồ họa n|y đã tồn t i tr c đó, Figure
k khi đó sẽ tr th|nh c a s đồ họa hi n h|nh. C a s đồ họa hi n h|nh sẽ đ c
đóng bằng c{ch gậ l nh close trên c a s l nh. ỗ nh close all sẽ đóng t t c c{c
c a s đồ họa M‚ởỗ‚‛ đang hiển thị.
ỗ nh hold có thể s dụng theo ba c{ch sau
- hold on: kích ho t chế đ đóng băng, ng i dùng có thể chèn thêm hình
vẽ lên c a s đồ họa m| khẫng s nh ng hình vẽ tr c đó bị xóa đi.
- hold off: tắt chế đ đóng băng, hình vẽ hi n h|nh sẽ thay thế hình vẽ
đ c t o tr c đó trên c a s đồ họa.
- hold: chuyển gi a hai tr ng th{i b t/tắt c a chế đ đóng băng.
ỡí dụ sau cho phép vẽ lần l t ba đồ thị c a ba h|m s y1 = x/2, y2 = x2 – 5x
v| x = 8 trên cùng m t c a s đồ họa

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 116

>>x = 1:10;
>>y1 = 0.5*x;
>>y2 = x^2 – 5*x;
>>plot(x,y1);
>>hold on;
>>plot(x,y2);
>>plot([8,8],[-10,50]);

50

40

30

20

10

-10
2 4 6 8 10

Hình 6. 6. Vẽ 3 đồ thị trên cùng một cửa sổ đồ họa

Ởau đ}y l| m t ví dụ kh{c về vi c thể hi n đồ thị c a hai h|m s trên cùng


m t đồ thị tuy nhiên gi{ trị thể hi n trên trục tung l i khẫng t ơng đ ơng nhau.
>>x1 = 0 : .1 : 20;
>>y1 = x1.*sin(x1);
>>x2 = 10 : .2 : 25;
>>y2 = 50*x2;
>>plot(x1, y1);
>>hold on;
>>plot(x2, y2);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 117

1500

1000

500

-500
0 5 10 15 20 25

Hình 6. 7. Hai đồ thị sử dụng cùng một trục tung

ỏo kho ng gi{ trị c a y1 v| y2 l| khẫng gi ng nhau nên khi biểu di n trên


cùng m t đồ thị v i m t kho ng chia c a trục tung, r t khó để nh n biết d ng
đ ng c a y1. Đ i v i tr ng h p n|y, có thể s dụng h|m plotyy để thể hi n đồ
thị c a hai h|m s v i hai trục tung kh{c nhau.
>>plotyy(x1,y1,x2,y2);

20 1300
15 1200
10 1100
5 1000
0 900
-5 800
-10 700
-15 600
-20 500
0 5 10 15 20 25

Hình 6. 8. Hai đồ thị với hai trục tung tương ng khác nhau

M t c{ch kh{c để thể hi n nhiều hơn m t đồ thị trên cùng m t trục tọa đ
đó l| s dụng l nh lines, l nh n|y cho phép chèn thêm đồ thị t o b i c{c gi{ trị c a
m t cặp vector hoặc vector lên m t trục tọa đ có sẵn.
ỡí dụ

0  x  5,  1  y  5
ởhể hi n đồ thị c a c{c đ ng sau trên cùng m t trục tọa đ

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 118

y1  sin t
y2  t

y3  t   
t3 t5 t7

0  t  2
3! 5! 7!

a. Chỉ s dụng m t lần l nh plot.


b. Ở dụng l nh hold.
c. Ở dụng l nh line.
Ỗhai b{o c{c biến:
>> t=linspace(0,2*pi,100);
>> y1=sin(t);
>> y2=t;
>> y3=t- (t.^3)/6+ (t.^5)/120 - (t.^7)/5040;
ỡẽ đồ thị trên cùng trục tọa đ s dụng m t lần l nh plot:
>> plot(t,y1,t,y2,'-',t,y3,'o')
>> axis([0 5 -1 5])
5

-1
0 1 2 3 4 5

Hình 6. 9. Vẽ 3 đồ thị sử dụng một lần lệnh plot

ỡẽ đồ thị trên cùng m t trục tọa đ s dụng l nh hold:


>> plot(t,y1)
>> hold on
>> plot(t,y2,'-');
>> plot(t,y3,'o');

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 119

>> axis([0 5 -1 5]);


ỡẽ đồ thị trên cùng m t h trục tọa đ s dụng l nh line:
>> plot(t,y1)
>> line(t,y2,'linestyle','-')
>> line(t,y3,'marker','o')
>> axis([0 5 -1 5]);
M t ch c năng kh{c c a đồ họa M‚ởỗ‚‛ l| cho phép ng i s dụng chèn
m t chu i ký tự lên trên trục tọa đ t i m t điểm x{c định. ỗ nh chèn ký tự thẫng
dụng nh t l| text v i cú ph{p
>>text (X, Y, ‘string’)
ởrong đó X, Y l| ho|nh đ v| tung đ t ơng ng biểu di n vị trí c a chu i
ký tự trên trục tọa đ , string l| n i dung chu i ký tự. ỗ u ý l| nếu X, Y d ng
vector, l nh text sẽ thể hi n n i dung chu i ký tự lên trên trục tọa đ t i t t c c{c
điểm cho b i c{c phần t c a X v| Y t ơng ng. ‛ên c nh đó, M‚ởỗ‚‛ cễng cho
phép ng i dùng chèn chu i ký tự lên trục tọa đ m| vị trí c a chu i ký tự sẽ
đ c x{c định bằng c{ch dùng tr chu t.
ỡí dụ Cho h|m s f(x) = x3 – x2 – 3tan-1x + 1, tìm c{c cực trị c a h|m s trong
kho ng
[-2π, 2π v| thể hi n trên đồ thị. Đ}y l| m t ví dụ đã đ c trình b|y trong ch ơng
, h|m s có cực đ i trên - , v| cực tiểu trên , v i c{c gi{ trị t ơng ng.
>>xmin = 1.0878;
>>ymin = -1.3784;
>>xmax = -0.5902;
>>ymax = 2.0456;
>>ezplot(‘x^3–x^2–3*atan(x)+1’);
>>hold on;
>>plot(xmin,ymin,‘o’);
>>text(xmin,ymin-30,‘diem CT’);
>>plot(xmax,ymax,‘*’);
>>gtext(‘diem CD’);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 120

x 3-x 2-3 atan(x) + 1


200

100
diem cuc dai
0
diem cuc tieu
-100

-200

-300
-5 0 5
x

Hình 6. 10. Thể hiện cực trị c a hàm số trên đồ thị

6.2 Đ th trong không gian ba chi u

6. . Ở d ng plot
M‚ởỗ‚‛ cung c p cho ng i dùng m t th vi n h|m phong phú để l|m
vi c v i chế đ đồ họa trong c khẫng gian hai chiều v| ba chiều. ởrong mục n|y,
m t s l nh cơ b n để t{i hi n l i d li u trong khẫng gian ba chiều cễng nh m t
s kỹ thu t t o bề mặt sẽ đ c trình b|y v i mục đích cung c p cho ng i đọc m t
c{i nhìn t ng quan về c{c h|m đồ họa trong MATLAB.
ở ơng tự nh l nh plot nh trong khẫng gian hai chiều, ta có thể s dụng
l nh plot3 để t{i hi n l i d li u trong khẫng gian ba chiều v i c{c ch c năng
t ơng tự, kèm theo m t tham s th ba để biểu di n trục z. ợét ví dụ sau v i l nh
plot3:
>>t = 0: .1 : 10*pi;
>>x = exp(-t/20).*cos(t);
>>y = exp(-t/20).*sin(t);
>>z = t;
>>plot3(x, y, z);
>>xlabel(‘x’);
>>ylabel(‘y’);
>>zlabel(‘z’);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 121

40

20

z
0
1
1
0 0.5
0
-0.5
y -1 -1
x

Hình 6. 11. Minh họa lệnh plot3

H|m plot3 có d ng t ng qu{t


>>plot3 (x, y, z, ‘option’)
Kết qu đầu ra phụ thu c v|o c{c tham s đầu v|o nh sau
- ộếu x, y, z l| c{c vector có cùng s phần t , M‚ởỗ‚‛ t o m t đ ng
trong khẫng gian ba chiều n i c{c phần t t ơng ng c a x, y, z.
- ộếu x, y, z l| c{c ma tr n có cùng s h|ng v| s c t, M‚ởỗ‚‛ sẽ t o ra
nhiều đ ng theo s c t c a ma tr n.
- ộếu m t trong ba tham s l| ma tr n v| c{c tham s còn l i l| vector
trong đó s phần t c a vector bằng v i s h|ng hoặc s c t c a ma
tr n, M‚ởỗ‚‛ sẽ tùy thu c v|o đó để t o ra c{c đ ng kh{c nhau. ộếu
s phần t c a vector khẫng bằng v i s h|ng hoặc s c t, M‚ởỗ‚‛ sẽ
tr về thẫng b{o l i.
- C{c lựa chọn trong mục option trong cú ph{p gọi h|m plot3 cễng
gi ng nh c{c lựa chọn cho h|m plot.
ởrong khẫng gian ba chiều, góc quan s{t c a ng i dùng đ i v i hình thể
hi n trên c a s đồ họa có thể điều chỉnh s dụng cẫng cụ điều chỉnh rotate3D
trên thanh cẫng cụ hoặc s dụng h|m view. Cú ph{p t ng qu{t cho h|m view n|y
l|
>>view(az, el)
hoặc
>>view([az, el])
cho phép điều chỉnh chính x{c góc quan s{t theo c{c thẫng s azimuth v|
elevation. ởrong đó, azimuth l| góc quay trong mặt phẳng xy nhìn từ chiều }m c a
trục y, elevation thể hi n góc quan s{t so v i mặt phẳng xy, góc d ơng thể hi n
quan s{t phía trên mặt phẳng xy, góc }m thể hi n quan s{t phía d i mặt phẳng

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 122

xy. Đơn vị c a hai thẫng s azimuth v| elevation đều l| đ . ởrong M‚ởỗ‚‛, c{c
thẫng s n|y đ c mặc định lần l t l| ‚Z=-37.5o v| Ốỗ= o.

Góc quan sát

Gốc tọa đ

Hình 6. 12. Ý nghĩa hai thông số az, el trong lệnh view


ỡí dụ sau thể hi n c{c góc quan s{t kh{c nhau đ i v i đồ thị c a c{c gi{ trị
x, y, z x}y dựng trên
AZ = -9, EL = 56
40

20
z

0
1

0.5

-0.5
y 0.5 1
-1 -0.5 0
-1
x

Hình 6. 13. Đồ thị 3 chiều với (AZ, EL) = (-9, 56)

>>plot3(x,y,z,’og’);
>>xlabel(‘x’);
>>ylabel(‘y’);
>>zlabel(‘z’);
>>view(-9,56);
>>title(‘Az=-9,El=56’);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 123

AZ = 0, EL = 90
1

0.5

y
-0.5

-1
-1 -0.5 0 0.5 1
x

Hình 6. 14. Đồ thị 3 chiều với (AZ, EL) = (0,90)

>>plot3(x,y,z,’xb’);
>>xlabel(‘x’);
>>ylabel(‘y’);
>>zlabel(‘z’);
>>view(0,90);
>>title(‘Az=0,El=90’);
AZ = 90, EL = 0
35

30

25

20
z

15

10

0
-1 -0.5 0 0.5 1
y

Hình 6. 15. Đồ thị với (AZ, EL) = (90, 0)


>>plot3(x,y,z,’dr’);
>>xlabel(‘x’);
>>ylabel(‘y’);
>>zlabel(‘z’);
>>view(90,0);
>>title(‘Az=90,El=0’);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 124

6. . T o lư i v| mặt phẳng chi u


ởr ng h p th ng gặp khi x lý đồ thị trong khẫng gian chiều l| c{c d
li u phụ thu c v|o c hai gi{ trị x v| y v| th ng đ c biểu di n d i d ng
z=f(x,y). ‛ên c nh vi c s dụng vòng lặp để t o c{c biến z phụ thu c v|o cặp gi{ trị
x, y cho tr c, h|m meshgrid trong M‚ởỗ‚‛ đem l i kết qu t ơng đ ơng nếu x,
y đ c khai b{o d i d ng vector. Cú ph{p gọi h|m:
>>[X, Y]=meshgrid(x,y) sẽ t o ra c{c ma tr n X, Y t o b i c{c vector x,
y t ơng ng. Trong đó, X l| ma tr n có s h|ng bằng s phần t c a y v| c{c h|ng
l| sự lặp l i c a vector x, Y l| ma tr n có s c t bằng s phần t c a x v| c{c c t l|
sự lặp l i c a vector y. H|m meshgrid có thể minh họa cụ thể qua ví dụ sau
>>x=[-1 0 1];
>>y=[5 6 7 8 9];
>>[X, Y]=meshgrid(x,y)
X =
-1 0 1
-1 0 1
-1 0 1
-1 0 1
-1 0 1
Y =
5 5 5
6 6 6
7 7 7
8 8 8
9 9 9
ởừ c{c d li u cho tr c, m t mặt phẳng d ng l i có thể thể hi n trong
khẫng gian ba chiều s dụng l nh mesh. Gi s tồn t i ba ma tr n X, Y, Z kích c
M-N, m i m t điểm x{c định b i c{c tọa đ x i,j , y i,j , z i,j t ơng ng v i phần
t h|ng i c t j c a c{c ma tr n ợ, Y, Z l| c{c mắt l i v| sẽ đ c n i v i c{c mắt
l i c{c h|ng, c t l}n c n để t o nên mặt phẳng l i. C{c mắt l i phía trong
khẫng nằm trên c{c h|ng, c t đầu tiên hoặc cu i cùng c a ma tr n sẽ đ c n i
v i mắt l i l}n c n, c{c mắt l i nằm trên c nh c a mặt phẳng sẽ có mắt l i
l}n c n, c{c mắt l i góc mặt phẳng sẽ có mắt l i l}n c n t ơng ng. ‛ên
c nh đó, để tăng hi u qu quan s{t, l nh mesh biểu di n c{c khu vực có đ cao
kh{c nhau bằng c{c m|u sắc kh{c nhau. ợét ví dụ sau

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 125

>>[X,Y]=meshgrid(linspace(0,2*pi,50),
linspace(0,pi,50));
>>Z=sin(X).*cos(Y);
>>mesh(X, Y, Z);
>>xlabel(‘x’); ylabel(‘y’); zlabel(‘z’);
>>axis([0 2*pi 0 pi -1 1])

0.5

0
z

-0.5

-1
3
2 6
4
1
2
y 0 0
x

Hình 6. 16. Đồ thị 3 chiều vẽ bởi lệnh mesh

‛ên c nh vi c s dụng l nh mesh để t o bề mặt trong khẫng gian ba chiều


từ d li u cho tr c, M‚ởỗ‚‛ cung c p cho ng i s dụng l nh surf có tính năng
t ơng đ ơng. Tuy nhiên, c{c ẫ l i sẽ đ c tẫ m|u v| có thể lựa chọn chế đ hiển
thị s dụng l nh shading nh ví dụ sau
>>surf(X, Y, Z);
>>figure( );
>>subplot(1,2,1);
>>surf(X,Y,Z);
>>shading flat;
>>subplot(1,2,2);
>>surf(X,Y,Z);
>>shading interp;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 126

0.5

-0.5

-1
4
8
2 6
4
2
0 0

Hình 6. 17. Thể hiện màu trên các ô lưới với lệnh surf

Hình 6. 18. Shading flat và interp

ởrong đó shading flat sẽ khẫng hiển thị đ ng bao c a c{c ẫ l i nh ng


m|u sắc trong m i ẫ l| c định do đó ta v n có thể quan s{t đ c c{c đ ng
trên bề mặt nh hình trên, shading interp biến đ i m|u sắc c a c{c ẫ l i theo ẫ
l}n c n, d n đến bề mặt t o th|nh tr nên mịn hơn.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 127

6.3 Tóm tắt chư ng 6

Ộ t s l nh c b n v i đ th trong không gian hai chi u


plot ỡẽ đồ thị xy
ezplot ỡẽ nhanh đồ thị xy
line ỡẽ thêm đồ thị lên trục tọa đ hi n h|nh
figure M c a s đồ họa m i
title ở o tiêu đề cho đồ thị
xlabel Đặt tên cho trục ho|nh
ylabel Đặt tên cho trục tung
hold ‛ t tắt chế đ vẽ nhiều đồ thị trên m t trục tọa đ
grid ‛ t tắt chế đ l i
axis Hi u chỉnh hai trục tọa đ
text Chèn ký tự lên đồ thị theo tọa đ nh p từ b|n phím
gtext Chèn ký tự lên đồ thị theo tọa đ x{c định bằng chu t
legend Chèn chú thích trong đồ thị
subplot Chia c a s đồ họa th|nh nhiều c a s phụ kh{c nhau
close Đóng c a s đồ họa hi n h|nh
close all Đóng t t c c a s đồ họa
area ỡẽ v| tẫ m|u vùng đ c vẽ
bar ở o biểu đồ c t
fill ởẫ m|u phần di n tích bao b i đa gi{c
fplot ỡẽ đồ thị h|m s m t biến s
loglog ỡẽ đồ thị v i đ chia loga c hai trục x v| y
plotyy ỡẽ đồ thị v i hai trục tung
polar ỡẽ đồ thị trong h tọa đ cực
quiver ỡẽ vector, tr ng vector
stairs ỡẽ đồ thị d ng b c thang

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 128

Ộ t s l nh c b n v i đ th trong không gian ba chi u


plot3 ỡẽ đồ thị xyz
zlabel Đặt tên cho trục z
meshgrid ở ol i d li u
mesh ở o mặt phẳng l i từ d li u cho tr c
surf ở o mặt phẳng l i có đ bóng
shading Điều chỉnh đ bóng cho mặt phẳng
view Chọn góc quan s{t đồ thị

Bảng 6. 2. Tóm tắt các hàm sử dụng trong chương 6

6.4 ọ|i t p chư ng 6

ọ|i 6.1

ỡẽ đồ thị c a h|m s y( x)  e0.7 x sin(15x) v i 0  x  15 , t o vector ch a c{c


gi{ trị c a x c{ch đều nhau .
Đáp án:

y(x)=e-0.7x sin15x
1

0.5

y 0

-0.5

-1
0 5 10 15
x

Hình 6. 19. Hình bài 6.1


>> x=0:0.1:15;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 129

>> y=exp(-0.7*x).*sin(15*x);
>> plot(x,y)
>> xlabel('x')
>> ylabel('y')
>> title('y(x)=e^-^0^.^7^x sin15x');

ọ|i 6.2
ỡẽ đồ thị h|m s sau s dụng l nh polar.

r 2  5cos3t v i 0  t  2
Đáp án:
90 3
120 60
2
150 30
1

180 0

210 330

240 300
270

Hình 6. 20. Hình bài 6.2

>> t=linspace(0,2*pi,200);
>> r=sqrt(abs(5*cos(3*t)));
>> polar(t,r)
ọ|i .
ỏùng l nh fill tẫ m|u vùng gi i h n b i x, y trong đó

r 2  5cos3t 0  t  2
x  r cos t y  r sin t
Đáp án:
>> t=linspace(0,2*pi,200);
>> r=sqrt(abs(5*cos(3*t)));

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 130

>> x=r.*cos(t);
>> y=r.*sin(t);
>> fill(x,y,'k')
>> axis('square')

1.5

0.5

-0.5

-1

-1.5

-2
-4 -2 0 2 4

Hình 6. 21. Hình bài 6.3

ọ|i 6.4
Ở dụng l nh plotyy để vẽ hai đồ thị h|m s trên cùng trục tọa đ .

y1  e2 x cos x
y  e2x 0  x  20
Đáp án:
>> x=1:0.1:20;
>> y1=exp(-2*x).*cos(x);
>> y2=exp(2*x);
>> Ax=plotyy(x,y1,x,y2);
>> hy1=get(Ax(1),'ylabel');
>> hy2=get(Ax(2),'ylabel');
>> set(hy1,'string','exp(-2x).cos(x)')
>> set(hy2,'string','exp(2x)')

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 131

17
x 10
0.08 2.5

0.06 2
exp(-2x).cos(x)

0.04 1.5

exp(2x)
0.02 1

0 0.5

-0.02 0
0 2 4 6 8 10 12 14 16 18 20

Hình 6. 22. Hình bài 6.4

ọ|i 6.5
Ở dụng l nh area tẫ m|u vùng khẫng gian x{c định b i đồ thị h|m s v i trục
tung v| trục ho|nh

y 5  x  5
cos x
x

cos(x)/x) 0

-2

-4

-6

-8
-15 -10 -5 0 5 10 15
x

Hình 6. 23. Hình bài 6.5

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 132

Đáp án:
>> x=linspace(-5*pi,5*pi,100);
>> y=cos(x)./x;
>> area(x,y);
>> xlabel('x')
>> ylabel('cos(x)/x)')

ọ|i 6.6
ỏùng l nh surf để vẽ đồ thị h|m s sau trong khẫng gian chiều.
x2  y 2

z  cos( x)cos( y )e 5

x 7 y 7
Đáp án:

0.5

-0.5

-1
10
5 10
0 5
0
-5 -5
-10 -10

Hình 6. 24. Hình bài 6.6


>> u=-7:0.2:7;
>> [X,Y]=meshgrid(u,u);
>> Z=cos(X).*cos(Y).*exp(-sqrt(X.^2+Y.^2)/5);
>> surf(X,Y,Z)
ọ|i .
ỡẽ đồ thị khi x, y, z l| c{c h|m theo biến t nh sau 0  t  6 ).
x  t sin(3t ) y  t cos(3t ) z  0.8t

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 133

Đáp án:
>> t=0:0.1:6*pi;
>> x=sqrt(t).*sin(3*t);
>> y=sqrt(t).*cos(3*t);
>> z=0.8*t;
>> plot3(x,y,z)
>> grid

20

15

10

0
5
5
0
0
-5 -5

Hình 6. 25. Hình bài 6.7

ọ|i .

z
2xy 2
x2  y 2
Ở dụng l nh mesh v| surface để vẽ đồ thị h|m s trên kho ng

2  x  6 v| 2  y  8
Đáp án:
>> x=-2:0.1:6;
>> y=2:0.1:8;
>> [x,y]=meshgrid(x,y);
>> z=2*x.*y.^2./(x.^2+y.^2);
>> mesh(x,y,z)
>>figure(2)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 134

>> surf(x,y,z)

10

-5
8
6 6
4
4 2
0
2 -2

10

-5
8
6 6
4
4 2
0
2 -2

Hình 6. 26. Hình bài 6.8

ọ|i 6.9

Ở dụng l nh surf vẽ đồ thị h|m s z  21.5 x2  y 2


sin( x)cos(0.5 y) trên kho ng
4  x  4 v| 4  y  4 v| dùng hi u ng shading interp để t o đ bóng.
Đáp án:
>> x=-4:0.25:4;
>> y=-4:0.25:4;
>> [x,y]=meshgrid(x,y);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 135

>> z=2.^(-1.5*sqrt(x.^2+y.^2))*cos(0.5*y).*sin(x);
>> surf(x,y,z);
>> shading interp;

10

-5

-10
4
2 4
0 2
0
-2 -2
-4 -4

Hình 6. 27. Hình bài 6.9

ọ|i 6.10

f (t )  t cos t 0  t  10
a. ỏùng l nh fplot để vẽ đồ thị h|m s sau

b. ỏùng l nh stairs để vẽ đồ thị h|m s y  f (t )


r 3  3sin 7t y  r sin t 0t 
c. ỏùng l nh bar để vẽ đồ thị h|m s y  f (t )
r 3  3sin 4t y  r sin t 0t 
Đáp án:
a.
>> fplot('x.*cos(x)',[0,10*pi]);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 136

40

30

20

10

-10

-20

-30
0 5 10 15 20 25 30

Hình 6. 28. Hình bài 6.10a

b.

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3

Hình 6. 29. Hình bài 6.10b

>> t=linspace(0,pi,200);
>> r=sqrt(abs(3*sin(7*t)));
>> y=r.*sin(t);
>> stairs(t,y)
>> axis([0 pi 0 inf])

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . Đồ thị trong MATLAB 137

c.
>> t=linspace(0,pi,200);
>> r=sqrt(abs(3*sin(4*t)));
>> y=r.*sin(t);
>> bar(t,y)
>> axis([0 pi 0 inf])

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3

Hình 6. 30. Hình bài 6.10c

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 138

Chư ng 7. ỗ ớ TờÌộồ TờỚộỒ ỘỌTỗỌọ

7. Ồi i thi u Ộ-file

Có b n c{ch để l p trình trong M‚ởỗ‚‛. C{ch đầu tiên v| cễng l| c{ch


đơn gi n nh t đã đ c đề c p trong năm ch ơng đầu c a gi{o trình n|y l| nh p
l nh trực tiếp trong c a s l nh. Ỗhi đó M‚ởỗ‚‛ sẽ đ c s dụng nh m t m{y
tính b túi v| phù h p v i c{c b|i to{n có đ ph c t p khẫng cao. C{ch th hai l|
t o m t văn b n script M-file có ch a c{c c}u l nh, khi gọi văn b n trong c a s
l nh, c{c c}u l nh ch a trong văn b n sẽ lần l t thực hi n gi ng nh khi ta gậ
trực tiếp. C{ch th ba l| s dụng function M-file để t o c{c file h|m cho phép x
lý c{c gi{ trị đầu v|o để đ a ra c{c gi{ trị đầu ra thích h p. C{ch th t sẽ khẫng
đ c đề c p đến trong gi{o trình n|y đó l| tích h p c{c ch ơng trình đ c viết b i
ngẫn ng C hoặc ốỚờởờ‚ộ v|o trong M‚ởỗ‚‛ s dụng .mex file. Ởcript v|
function M-file đều có phần tên chung l| M-file vì c{c file n|y đều đ c l u v i
phần m r ng l| .m .
M‚ởỗ‚‛ có sự kh{c bi t l n so v i c{c ngẫn ng l p trình tiêu chuẩn kh{c
nh C, C++, ổava. ởr c tiên M‚ởỗ‚‛ có thể hiểu nh l| m t ch ơng trình phiên
dịch, có nghĩa l| t t c c{c ch ơng trình M‚ởỗ‚‛ đều đ c đọc, phiên dịch v|
thực thi theo từng dòng m t, s dụng ngẫn ng th}n thi n v i ng i dùng. Điều
n|y d n đến vi c th i gian tính to{n trong M‚ởỗ‚‛ sẽ l}u tuy nhiên sẽ r t d
d|ng trong vi c ph{t hi n l i cễng nh viết c{c ch ơng trình m u hoặc ch ơng
trình th nghi m. C{c ngẫn ng kh{c nh C, C++, ốortran, ổava l| ngẫn ng l p
trình cần đ c biên dịch. C{c ch ơng trình đ c dịch sang ngẫn ng m{y để x lý
trong file thực thi. ở c đ tính to{n đ i v i c{c ch ơng trình n|y l| r t nhanh tuy
nhiên khó tìm ra l i trong qu{ trình dịch hay thực thi. M t điểm thu n l i th hai
khi l p trình trong M‚ởỗ‚‛ đó l| khẫng cần ph i khai b{o tr c c{c biến cễng
nh kiểu d li u t ơng ng sẽ s dụng. ởrong M‚ởỗ‚‛ t t c c{c biến đều
d ng ma tr n hoặc d ng chu i ký tự trong khi nh ng ngẫn ng l p trình kh{c,
vi c định nghĩa tr c biến, kích c , kiểu d li u l| vẫ cùng quan trọng. Hai điểm
kh{c bi t kh{c r t d nh n th y khi so s{nh M‚ởỗ‚‛ v i c{c ngẫn ng l p trình
kh{c đó l| trong M‚ởỗ‚‛ khẫng s dụng d li u kiểu con tr v| M‚ởỗ‚‛
khẫng ph i l| ngẫn ng l p trình h ng đ i t ng. ỏ i đ}y l| gi i thi u hai
d ng ng dụng ph biến c a M-file trong M‚ởỗ‚‛, đó l| văn bản v| hàm do
người dùng tự định nghĩa.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 139

7. . Văn b n
Để t o m t văn b n trong M‚ởỗ‚‛ . . ờ b , nh p chu t v|o ốile,
chọn ộew sau đó chọn M-file. M t c a s m i gọi l| Editor sẽ xu t hi n. ởrong
c a s n|y, nh p chu i c{c c}u l nh mong mu n s dòng c a văn b n sẽ hiển thị
bên tr{i, khẫng có d u nhắc >> rồi l u l i v i tên có phần m r ng .m mặc định
trong M‚ởỗ‚‛ . ỡí dụ sau minh họa cho vi c t o m t văn b n có tên script1.m để
tính di n tích hình tròn v i b{n kính cho tr c. ởrong ví dụ n|y, n i dung c a văn
b n sẽ đ c thể hi n trong ẫ hình ch nh t v i tên file trên
script1.m
radius = 5
area = pi * (radius^2)

Để xem n i dung c a m t văn b n đã đ c l u, có thể s dụng m t trong


hai c{ch sau đ}y. C{ch th nh t l| s dụng l nh type, n i dung văn b n sẽ hi n
lên trong c a s l nh. C{ch th hai l| m file trong c a s Editor. ởrong c a s
l nh, khi gậ tên file c a M-file thì t t c c{c l nh ch a trong file đó sẽ đ c thực
thi.
>>type script1
radius = 5
area = pi * (radius^2)
>>script1
radius =
5
area = 78.5398
M t điều quan trọng khi l|m vi c v i c{c file văn b n v| h|m đó l| c{c văn
b n cần ph i trình b|y rậ r|ng, d hiểu để ti n cho vi c tham kh o cễng nh kiểm
tra l i trong qu{ trình ch y. M t trong nh ng c{ch l|m cho vi c trình b|y văn b n
đ c rậ r|ng l| s dụng d u % để thể hi n chú thích cho c{c đo n, c}u l nh m|
khẫng nh h ng đến kết qu . ỡí dụ văn b n tr c có thể điều chỉnh m t chút về
n i dung nh sau:
script1b.m
% Chuong trinh tinh dien tich hinh tron
% Cho truoc ban kinh hinh tron

radius = 5

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 140

area = pi * (radius^2)
ỗ nh help trong M‚ởỗ‚‛ cễng có thể s dụng đ i v i M-file v| sẽ hiển thị
kh i chú thích đầu tiên đ c hiểu l| nh ng dòng chú thích kế tiếp nhau trên c a
s l nh. ỡí dụ đ i v i văn b n script1b.m vừa l u
>>help script1b
Chuong trinh tinh dien tich hinh tron
ởr ng h p gi a hai dòng chú thích %Chuong trinh v| %Cho truoc
khẫng ph i l| m t dòng tr ng, M‚ởỗ‚‛ sẽ hiểu hai dòng n|y thu c cùng m t
kh i chú thích v| sẽ hiển thị lên m|n hình khi l nh help cho văn b n n|y đ c gọi.
ởrong l p trình, vi c xu t nh p d li u c{c d ng kh{c nhau l| r t quan
trọng. C{c l nh cơ b n về xu t nh p d li u đã đ c gi i thi u ch ơng m đầu
v| sẽ đ c nhắc l i cụ thể hơn ch ơng n|y trong c{c b|i t p t ơng ng. ỡí dụ:
Từ file script1b.m viết ch ơng trình tính di n tích hình tròn v i b{n kính nh p từ
b|n phím.
script2.m
%Chuong trinh tinh dien tich hinh tron
%Dua vao ban kinh duoc nhap tu ban phim
%Yeu cau nhap ban kinh hinh tron tu ban phim
fprintf(‘Luu y: Don vi ban kinh la centimet\n’)
radius = input(‘Nhap ban kinh: ‘);
area = pi * (radius^2);

%In ra cac gia tri ban kinh va dien tich hinh tron
fprintf(‘Ban kinh hinh tron la %.2f cm, \n’, radius)
fprintf(‘Dien tich hinh tron la %.2f cm2\n’, area)
Ỗhi ch y ch ơng trình, m|n hình sẽ hi n ra c{c n i dung sau
>> script2
Luu y: Don vi ban kinh la centimet
Nhap ban kinh: 3.9
Ban kinh hinh tron la 3.90 cm,
Dien tich hinh tron la 47.78 cm2

7. . ồ|m do ngư i dỂng t đ nh nghĩa


ởrong M‚ởỗ‚‛, bên c nh c{c h|m đã x}y dựng sẵn, c{c h|m vẫ danh,
ng i dùng còn có thể tự định nghĩa c{c h|m s dụng M-file đ c gi i thi u sau

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 141

đ}y. ỏo h|m t o trong Ốditor nên c{c b c m c a s Ốditor cễng t ơng tự nh


đ i v i văn b n cho M‚ởỗ‚‛ phiên b n . . ốile  New  M-file , c{c phiên
b n m i hơn, có thể chọn File  New  ốunction cho h|m v| ốile  New 
Ởcript cho văn b n. C{c h|m do ng i dùng tự định nghĩa có thể có m t hay nhiều
tham s , tr về m t hay nhiều gi{ trị, tuy nhiên về cơ b n, mọi h|m trong
M‚ởỗ‚‛ cần ph i có nh ng yếu t sau
ỏòng đầu tiên c a h|m v i c{c thẫng tin
 ởừ khóa function.
-

 ởên c{c gi{ trị tr về c a h|m nếu có .


 ởên h|m.
 ởên c{c tham s c a h|m nếu có .
- Ỗh i dòng chú thích trình b|y ý nghĩa c a h|m, kh i n|y sẽ hi n ra khi
s dụng l nh help.
- ởh}n h|m bao gồm t t c c{c l nh x lý c a h|m.
- ởừ khóa end dòng cu i cùng c a h|m.
ỡí dụ: H|m calcarea tính v| tr về gi{ trị di n tích hình tròn l u trong file
calcarea.m nh sau
calcarea.m
function area = calcarea(rad)
% Ham calcarea tinh dien tich hinh tron neu biet ban
kinh
% Cu phap goi ham: calcarea(ban_kinh)
% Tra ve gia tri dien tich cua hinh tron co ban kinh
tuong ung

area = pi * rad * rad;


end
‛{n kính hình tròn sẽ đ c l u v|o tham s rad, h|m sẽ tính di n tích hình
tròn v| l u v|o biến area. ỗ u ý: do h|m có gi{ trị tr về nên phần th}n h|m ph i
có l nh để truyền gi{ trị cho biến đầu ra area c a h|m. Để xem n i dung c a h|m
bên c nh vi c s dụng Editor có thể dùng l nh type nh đã gi i thi u trên.
Gọi h|m từ c a s l nh Ởau đ}y l| ví dụ c a vi c gọi h|m calcarea trong đó
gi{ trị tr về l u trong biến mặc định ans:
>>calcarea (4)
ans =
50.2655

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 142

ộói chung vi c gọi h|m sẽ thực thi th|nh cẫng khi nh p tên c a file ch a
h|m tuy nhiên để tr{nh rắc r i v| d qu n lý, nên chọn tên file v| tên h|m trùng
nhau. Ỗết qu tr về c a h|m có thể l u trong m t biến có tên trùng hoặc kh{c v i
tên c a gi{ trị tr về trong h|m.
Gi{ trị tr về c a h|m cễng có thể in ra m|n hình hoặc xu t ra file s dụng
l nh disp hoặc fprintf:
>>disp(calcarea(4))
50.2655
>>fprintf(‘Dien tich hinh tron la %.1f\n’, calcarea(4))
Dien tich hinh tron là 50.3
C{c h|m do ng i dùng định nghĩa cễng có thể đ c gọi từ văn b n gi ng
nh c{c h|m x}y dựng sẵn trong M‚ởỗ‚‛. ỡí dụ tính di n tích hình tròn trên đ}y
l| m t tr ng h p đơn gi n chỉ cần s dụng m t tham s đầu v|o. ởuy nhiên
trong thực tế chúng ta th ng gặp ph i c{c b|i to{n ph c t p yêu cầu nhiều tham
s đầu v|o cễng nh c{c tính to{n trung gian đ i v i biến cục b để có thể đ a ra
gi{ trị tr về mong mu n nh ví dụ sau ởính tiền cẫng bằng UỞỏ cho vi c gia
cẫng m t hình trụ tròn biết c{c kích th c c a hình trụ cễng nh gi{ th|nh gia
cẫng cho m t m2 tính bằng ỡộỏ v| tỉ gi{ UỞỏ = ? ỡộỏ. Chúng ta có thể gi i b|i
to{n bằng c{ch tính to{n di n tích xung quanh c a hình trụ từ đó tính ra gi{ th|nh
gia cẫng bằng ỡộỏ rồi quy đ i ra UỞỏ v i tỉ gi{ cho tr c. ỏi n tích xung quanh
c a hình trụ đ c tính theo cẫng th c
dt  2 rh  2 r 2
giacong.m
function chiphi=giacong(r, h, giaVND, tigia)
% Ham tinh so tien tra cho viec gia cong mot hinh tru
tron bang USD
% Cu phap goi ham: giacong(ban kinh, chieu cao, gia
theoVND, ti gia quy doi)
% Ham tra ve chi phi tinh bang USD
% Ban kinh va chieu cao tinh bang m
% Chi phi co don vi USD/m2
% Tinh dien tich xung quanh cua hinh tru
dt = 2*pi*r*h + 2*pi*r^2;
% Tinh chi phi gia cong bang VND
cpVND = dt*giaVND;
% Tinh chi phi gia cong bang USD

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 143

chiphi = cpvnd/tigia;
end
H|m có thể đ c gọi nh sau, ví dụ hình trụ b{n kính . m, chiều cao . m,
tiền cẫng l| ỡộỏ/m2 v| ỡộỏ đ i đ c UỞỏ.
>>giacong(.1, .5, 200000, 20000)
ans =
3.7699
>>fprintf('Tien gia cong hinh tru la: %.2f
USD\n',giacong(.1,.5,200000,20000))
Tien gia cong hinh tru la 3.77 USD
H|m do ng i dùng tự định nghĩa trong M‚ởỗ‚‛ có thể đ c ph}n bi t
theo s l ng biến đầu v|o v| kết qu đầu ra nh sau
- H|m tính to{n v| tr về m t gi{ trị
- H|m tính to{n v| tr về nhiều hơn m t gi{ trị
- H|m chỉ thực hi n m t s nhi m vụ nh t định m| khẫng tr về gi{ trị n|o
ỡề t ng quan, nh đã trình b|y trên, mọi h|m do ng i dùng tự định
nghĩa trong M‚ởỗ‚‛ đều có từ khóa function đầu, trong tr ng h p h|m có
tr về gi{ trị thì t p h p c{c tên c a gi{ trị tr về sẽ đ c thể hi n trên cùng dòng
v i từ khóa function, theo sau l| phép g{n = . ởham s đầu v|o đ c biểu di n
trong ngoặc đơn, trong tr ng h p có nhiều tham s đầu v|o, s dụng d u , để
ph}n bi t.
ỡí dụ trên l| m t minh họa cho h|m tr về m t gi{ trị, đ i v i h|m tr về
nhiều hơn m t gi{ trị, cú ph{p t ng qu{t c a m t h|m d ng n|y nh sau
ten_ham.m
function [tap hop cac gia tri tra ve] = ten_ham(tap hop
cac tham so vao)
%Dong chu thich mo ta noi dung ham
Cac cau lenh thanh phan
Tat ca cac gia tri tra ve liet ke o dong dau deu phai
duoc gan gia tri
end
ỗ u ý l| đ i v i d ng h|m n|y, trong phần th}n h|m bắt bu c ph i có l nh
g{n gi{ trị cho t t c c{c gi{ trị tr về đã đ c li t kê phần khai b{o h|m.
ỡí dụ h|m sau sẽ tính v| tr về hai gi{ trị chu vi v| di n tích c a hình tròn
v i tham s đầu v|o l| b{n kính c a hình tròn t ơng ng.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 144

areacirc.m
function [area, circum] = areacirc(rad)
% ham areacirc tra ve gia tri chu vi va dien tich hinh
% tron
% cu phap goi ham: areacirc(radius)
area = pi * rad .* rad;
circum = 2 * pi * rad;
end
ỏo h|m có hai gi{ trị tr về, dòng khai b{o h|m, hai gi{ trị tr về n|y sẽ
đ c biểu di n trong ngoặc vuẫng, ph}n bi t v i nhau b i d u phẩy. ỗ u ý l| do
h|m có hai gi{ trị tr về nên cần ph i l u c{c gi{ trị n|y v|o c{c biến riêng bi t
kh{c nhau, trong ví dụ n|y, di n tích sẽ đ c l u v|o biến a v| chu vi đ c l u
v|o biến c
>>[a c] = areacirc(4)
a =
50.2655
c =
25.1327
ởrong tr ng h p khẫng l u v|o c{c biến riêng lẻ, chỉ có gi{ trị đầu tiên
c a h|m đ c tr về, ví dụ
>>disp(areacirc(4))
50.2655
Ởinh viên cần l u ý về th tự l u c{c gi{ trị tr về nh trong dòng khai b{o
h|m, trong tr ng h p n|y, gi{ trị tr về đầu tiên sẽ l| di n tích, tiếp theo l| chu
vi, tuy nhiên th tự g{n kết qu cho c{c gi{ trị tr về trong th}n h|m khẫng quan
trọng. b|i n|y, sinh viên có thể kiểm tra kết qu khi tham s đầu v|o khẫng
ph i l| m t s m| l| m t vector.
ở ơng tự nh c{c h|m x}y dựng sẵn trong M‚ởỗ‚‛, khi dùng h|m help
đ i v i h|m vừa t o, m|n hình sẽ hiển thị n i dung trong c{c dòng chú thích ngay
phía d i dòng khai b{o h|m, ví dụ
>>help areacirc
ham areacirc tra ve gia tri chu vi va dien tich hinh
tron
cu phap goi ham: areacirc(radius)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 145

ỡi c gọi h|m cễng ho|n to|n t ơng tự nh đ i v i c{c h|m x}y dựng sẵn
trong M‚ởỗ‚‛, nghĩa l| ng i s dụng có thể gọi trực tiếp trong c a s l nh hoặc
trong văn b n
Đ i v i c{c h|m khẫng có gi{ trị tr về m| chỉ thực hi n m t s nhi m vụ
nh t định, cú ph{p t ng qu{t nh sau
ten_ham.m
function ten_ham(tap hop cac tham so vao)
%Dong chu thich mo ta noi dung ham
Cac cau lenh thanh phan
end
ỗ u ý dòng khai b{o h|m, ta có thể th y khẫng có khai b{o c{c gi{ trị tr
về cễng nh khẫng có phép g{n =, ví dụ h|m sau chỉ thực hi n nhi m vụ in c{c
tham s đầu v|o đã nh p trong cùng m t c}u
printem.m
function printem(a,b)
% printem in hai tham so dau vao trong cung mot cau
% cu phap goi ham: printem(so1, so2)
fprintf(‘So thu nhat %.1f va so thu hai %.1f\n’,a,b)
end

ỡí dụ gọi h|m
>>printem(3.3, 2)
So thu nhat 3.3 va so thu hai 2.0
ỗ u ý do h|m khẫng có gi{ trị tr về nên nếu g{n kết qu c a h|m cho m t
biến, M‚ởỗ‚‛ sẽ hiển thị thẫng b{o l i, ví dụ
>>x = printem(3, 5) %Error!!
??? Error using ==> printem
Too many output arguments.
Đ i v i c{c ví dụ trên, ta đều th y c{c h|m đều có tham s đầu v|o, tuy
nhiên trong m t s tr ng h p, tùy v|o b|i to{n cụ thể, sự xu t hi n c a tham s
đầu v|o l| khẫng cần thiết, ví dụ h|m sau sẽ in ra m t s ng u nhiên v i hai ch
s phần th p ph}n

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 146

printrand.m
function printrand()
% printrand in ra man hinh mot so ngau nhien
% cu phap goi ham: printrand hoac printrand()
fprintf(‘So ngau nhien la %.2f\n’,rand)
end

ỡí dụ gọi h|m nh sau


>>printrand()
So ngau nhien la 0.94
ỏo khẫng có tham s đ a v|o h|m nên khẫng có tham s trong d u ngoặc
khi khai b{o hoặc gọi h|m, nói c{ch kh{c, đ i v i nh ng d ng h|m n|y, khẫng
cần s dụng d u ngoặc đơn trong dòng khai b{o h|m hoặc khi gọi h|m.

7. C{c l nh l a ch n

Hai c}u l nh lựa chọn cơ b n trong M‚ởỗ‚‛ l| if v| switch trong đó if còn


có c{c l nh rẽ nh{nh else v| elseif. ỗ nh if sẽ kiểm tra c{c gi{ trị đềng hoặc sai c a
điều ki n để thực hi n c{c c}u l nh tiếp theo trong đó điều ki n đ c biểu di n
b i c{c phép to{n logic v| c{c phép to{n so s{nh đ c gi i thi u d i đ}y.

7. . C{c phép to{n quan h


C{c phép to{n quan h có thể l| c{c phép to{n so s{nh gi a hai biểu th c
cùng kiểu d li u hoặc l| c{c phép to{n logic, gi{ trị tr về c a chúng l| đềng hoặc
sai. C{c phép to{n so s{nh trong M‚ởỗ‚‛ đ c biểu di n trong b ng sau:
> ỗ n hơn
< ộh hơn
>= ỗ n hơn hoặc bằng
<= ộh hơn hoặc bằng
== ‛ằng
~= Ỗh{c
Cú ph{p biểu di n c{c phép to{n so s{nh l| gi ng nhau c{c ngẫn ng l p
trình, có thể có sự kh{c nhau về ký hi u. ỗ u ý đ}y phép so s{nh bằng s dụng
ký hi u == do ký hi u = đã đ c s dụng cho phép g{n. ởrong M‚ởỗ‚‛ cễng
nh c{c ngẫn ng l p trình kh{c, đềng đ c biểu di n b i gi{ trị logic 1 , sai
đ c biểu di n b i gi{ trị logic 0 , xem ví dụ d i đ}y

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 147

>>3 < 5
ans =
1
>>2 > 9
ans =
0
Gi{ trị tr về c a phép to{n so s{nh mặc dù l| c{c gi{ trị logic nh ng v n có
thể s dụng trong tính to{n to{n học v i c{c gi{ trị v| . ỡí dụ
>>5 < 7
ans =
1
>>ans + 3
ans =
4
C{c phép to{n logic th ng gặp l|:
| hoặc || Logic OR
& hoặc && Logic AND
~ Logic NOT
‛ên c nh đó M‚ởỗ‚‛ còn có phép to{n xor chỉ nh n hai tham s đầu v|o
v| tr về gi{ trị logic đềng khi m t v| chỉ m t tham s l| đềng. ỡí dụ:
>>xor(3<5, ‘a’ > ‘c’)
ans =
1
>>xor(3<5, ‘a’ < ‘c’)
ans =
0
‛ ng gi{ trị cho c{c phép to{n logic đ c gi i thi u trong ch ơng n|y đ i
v i hai biến x, y đ c trình b|y trong b ng d i
x y ~x x || y x && y xor (x, y)
1 1 0 1 1 0
1 0 0 1 0 1
0 0 1 0 0 0

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 148

7.2.2 IF
If cho phép lựa chọn thực hi n hoặc khẫng thực hi n m t hoặc nhóm c}u
l nh. Cú ph{p t ng qu{t cho c}u l nh điều ki n n|y l|
if dieu_kien
hanh_dong
end
ởrong đó dieu_kien l| biểu th c quan h chỉ nh n gi{ trị đềng hoặc sai,
hanh_dong l| m t hoặc nhóm c}u l nh sẽ đ c thực hi n khi dieu_kien nh n gi{ trị
đềng. ỡí dụ sau đ}y sẽ kiểm tra m t gi{ trị l| d ơng hay }m, sau đó chuyển gi{ trị
}m sang gi{ trị d ơng bằng c{ch l y gi{ trị tuy t đ i.
if num < 0
num = abs(num)
end
Có thể s dụng if trong c a s l nh tuy nhiên t t nh t v n nên thực hi n
trong M-file để d kiểm so{t cễng nh thực hi n l nh. M r ng ví dụ trên, ta có
thể kiểm tra m t s nh p v|o từ b|n phím l| }m hay d ơng v| thực hi n phép
tính khai căn v i s nh p v|o nếu đó l| s d ơng, hoặc khai căn v i trị tuy t đ i
c a s đó nếu s nh p v|o }m.
vidukhaican.m
% Yeu cau nhap vao mot so tu ban phim, tra ve gia tri
can bac hai
num = input(‘Hay nhap mot so: ‘);
% Neu so duoc nhap vao nhan gia tri am, tim tri tuyet
doi cua so do
if num<0
disp(‘Ban da nhap vao so am, chuong trinh se khai
can gia tri tuyet doi’);
num = abs (num)
end
fprintf(‘Can bac hai cua %.1f la %.1f
\n’,num,sqrt(num))
Ch y th ch ơng trình v i c{c s nh p v|o l| v| - , cho biết kết qu .
ởrong khi l nh if chỉ cho phép lựa chọn có hay khẫng thực thi m t hay
nhóm c}u l nh, để lựa chọn gi a nhiều hay c{c nhóm c}u l nh ta có thể s dụng
if-else, c{c c}u l nh if lồng nhau, switch.
Cú ph{p cho c}u l nh if-else nh sau

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 149

if dieu_kien
hanh_dong_1
else
hanh_dong_2
end
C{c hanh_dong sẽ đ c thực hi n dựa trên vi c kiểm tra dieu_kien. ộếu
dieu_kien nh n gi{ trị đềng, hanh_dong_1 sẽ đ c thực thi v| sau khi ho|n th|nh,
c}u l nh if-else sẽ kết thúc. ộếu dieu_kien nh n gi{ trị sai, ch ơng trình sẽ b qua
hanh_dong_1 để thực hi n hanh_dong_2 v| sau đó kết thúc c}u l nh if-else. ỡí dụ
testifelse.m
a=rand;
fprintf('So ngau nhien vua nhan: %.1f\n',a);
if a<=.5
fprintf('la mot so nho hon hoac bang 0.5\n')
else
fprintf('la mot so lon hon 0.5\n')
end
M t trong nh ng ng dụng c a if-else l| để kiểm tra l i nh p d li u trong
văn b n. ỡí dụ đầu ch ơng chúng ta có ch ơng trình nh p b{n kính hình tròn
rồi tính di n tích, b}y gi ta sẽ chèn thêm dòng l nh để kiểm tra xem b{n kính
nh p v|o có h p l hay khẫng ví dụ b{n kính nh hơn khẫng l| khẫng h p l .
checkradius.m
% Chuong trinh tinh dien tich hinh tron
% Kiem tra tinh hop le cua gia tri ban kinh nhap vao
radius = input(‘Hay nhap vao ban kinh: ‘);
if radius <= 0
fprintf(‘Xin loi, %.2f khong phai la ban kinh hop
le\n’,radius)
else
area = calcarea(radius);
fprintf(‘Hinh tron co ban kinh %.2f,’,radius)
fprintf(‘ co dien tich la %.2f\n’,area)
end
Qua ví dụ trên có thể th y vi c s dụng if-else cho phép lựa chọn thực hi n
gi a hai c}u l nh hay hai nhóm c}u l nh, trong tr ng h p s l nh, nhóm l nh

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 150

ph i lựa chọn nhiều hơn hai, có thể s dụng c{c c}u l nh if lồng nhau. ợét ví dụ
v i h|m s y=f(x) d i đ}y
y  1 nếu x  1
y  x 2 nếu 1  x  2
y  4 nếu x  2
‛iểu di n t ơng ng trong M‚ởỗ‚‛
if x < -1
y = 1;
else
Đến đ}y chỉ xét tr ng h p x>=-1
S dụng if-else để lựa chọn gi a hai kho ng còn l i
if x <= 2
y = x^2;
else
Chỉ còn l i tr ng h p x>
y = 4;
end
end
ởrong phần l n c{c ngẫn ng l p trình, khi có nhiều c}u l nh, nhóm c}u
l nh để lựa chọn, ta có thể s dụng c{c c}u l nh if lồng nhau. Tuy nhiên,
M‚ởỗ‚‛ cho phép gi i quyết v n đề trên bằng m t c}u l nh kh{c elseif, khi có
trên hai lựa chọn tr lên.
if dieu_kien_1
hanh_dong_1
elseif dieu_kien_2
hanh_dong_2
elseif dieu_kien_3
hanh_dong_3
else
hanh_dong_khac
end
ợét ví dụ viết h|m đ i điểm s ra điểm ch sau đ}y, trong đó điểm s l| s
nguyên đ c nh p từ b|n phím, điểm trên đến t ơng ng v i điểm ‚ , điểm

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 151

trên đến t ơng ng v i điểm ‛ , điểm trên đến t ơng ng v i điểm C ,


điểm trên đến t ơng ng v i điểm ỏ , d i t ơng đ ơng v i ố , nếu điểm
nh p v|o l n hơn hoặc nh hơn thì tr về gi{ trị ợ .
function doidiem.m
function diemchu = doidiem(diemso)
%Ham doidiem cho phep doi diem chu ra diem so
%Trong do diem so duoc tu ban phim
%Cu phap goi ham: doidiem(diem so)
%Gia tri tra ve la chu cai

%Kiem tra xem diem nhap vao co hop le


if diemso < 0 || diemso > 10
diemchu = 'X';
%Doi diem nhap vao ra diem chu tuong ung
elseif diemso > 9 && diemso <= 10
diemchu = 'A';
elseif diemso > 8 && diemso <= 9
diemchu = 'B';
elseif diemso > 7 && diemso <=8
diemchu = 'C';
elseif diemso > 6 && diemso <=7
diemchu = 'D';
else
diemchu = 'F';
end
end
M t s ví dụ gọi h|m vừa t o:
>>diemso = 8.2;
>>diemchu = doidiem(diemso)
diemchu =
B
>>diemchu = doidiem(5.8)
diemchu =
F

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 152

>>diemchu = doidiem(11)
diemchu =
X

7.2.3 SWITCH
ỗ nh switch th ng s dụng trong tr ng h p c{c c}u l nh if lồng nhau
hoặc s dụng nhiều c}u l nh elseif. Switch đ c s dụng khi so s{nh xem m t
biểu th c có gi{ trị bằng c{c gi{ trị cụ thể cho tr c.
Cú ph{p c a switch:
switch bieu_thuc
case truong_hop_1
hanh_dong_1
case truong_hop_2
hanh_dong_2
case truong_hop_3
hanh_dong_3
otherwise
hanh_dong_n
end
M t c}u l nh switch bắt đầu v i từ khóa switch v| kết thúc v i từ khóa
end. ởr c tiên biểu th c trong switch sẽ đ c so s{nh theo th tự v i c{c gi{ trị
c a (trường hợp , trường hợp , trường hợp … . ộếu gi{ trị c a biểu th c trùng v i
gi{ trị c a trường hợp , hành động sẽ đ c thực thi v| sau đó kết thúc c}u l nh
switch. ộếu gi{ trị c a biểu th c trùng v i tr ng h p i, hành động i sẽ đ c thực
thi v| kết thúc c}u l nh switch. ộếu gi{ trị c a biểu th c khẫng trùng v i tr ng
h p n|o, hành động n phía d i từ khóa otherwise sẽ đ c thực thi. ợét ví dụ sau
đ}y nếu ng i s dụng chỉ nh p v|o từ b|n phím c{c gi{ trị , , thì M‚ởỗ‚‛ sẽ
in ra m|n hình m t , ba , năm t ơng ng, tr ng h p gi{ trị nh p v|o khẫng
ph i l| , , M‚ởỗ‚‛ sẽ hiển thị thẫng b{o l i.
otherwisetest.m
%Vi du su dung otherwise trong switch de hien thi thong
bao loi
sonhap=input('Nhap vao mot trong cac gia tri 1, 3, 5:
');

switch sonhap

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 153

case 1
disp('So nhap vao la so mot!!');
case 3
disp('So nhap vao la so ba!!');
case 5
disp('So nhap vao la so nam!!')
otherwise
disp('So nhap vao khong dung, lam theo huong
dan lan sau!!')
end

7. Vòng lặp

Đ i v i b|i to{n tính di n tích hình tròn v i b{n kính cho tr c nh đã ví


dụ trên, có thể khẫng cần s dụng đến M-file để l p trình m| có thể thực hi n
phép tính đơn gi n trong M‚ởỗ‚‛ S = πr3. ởuy nhiên, ví dụ nh khi b|i to{n yêu
cầu tính di n tích c{c hình tròn có b{n kính lần l t từ . , . , . , cm cễng
nh khi gặp ph i nh ng b|i to{n yêu cầu thực hi n l i nhiều lần m t phép tính, ta
cần s dụng đến vòng lặp.
ỡòng lặp trong l p trình cho phép thực hi n l i nhiều lần m t hay m t
nhóm c{c h|nh đ ng. Có hai lo i vòng lặp cơ b n th ng gặp vòng lặp gi i h n
v| vòng lặp có điều ki n. ỡòng lặp gi i h n l| vòng lặp m| trong đó c{c h|nh
đ ng đ c lặp l i v i m t s lần x{c định tr c. ỡòng lặp có điều ki n cho phép
lặp l i c{c h|nh đ ng cho đến khi điều ki n khẫng còn nh n gi{ trị đềng. Trong
M‚ởỗ‚‛ hai lo i vòng lặp trên t ơng ng v i c{c vòng lặp for vòng lặp gi i
h n v| while vòng lặp có điều ki n .

7.3.1 FOR
ỡòng lặp for th ng s dụng khi cần lặp l i nhiều lần m t l nh hay nhóm
c}u l nh trong M-file văn b|n hay h|m v| s lần lặp x{c định tr c, trong đó lần
lặp th n đ c x{c định b i gi{ trị c a bi n lặp. C{c biến lặp th ng gặp trong c{c
ngẫn ng l p trình l| i, j, k, l… tuy nhiên trong M‚ởỗ‚‛ do i v| j đã đ c s
dụng để biểu di n s ph c nên cần l u ý khi s dụng i v| j l|m biến lặp.
Cú ph{p cho vòng lặp for:
for bien_lap = khoang_lap
hanh_dong

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 154

end
ởrong đó khoảng_lặp ch a c{c gi{ trị từ nh nh t đến l n nh t c a biến_lặp.
khoảng_lặp có thể đ c định nghĩa bằng vector tuy nhiên thẫng th ng khoảng_lặp
đ c biểu di n s dụng d u hai ch m :
ỡí dụ: In m t c t s nh n c{c gi{ trị từ đến :
for i = 1 : 5
fprintf(‘%d \n’, i)
end
Đầu tiên biến lặp i sẽ đ c g{n gi{ trị đầu tiên c a khoảng_lặp l| , sau đó
hành_động c a vòng lặp for sẽ đ c thực thi đ}y l| l nh fprintf in ra gi{ trị c a i,
sau đó xu ng dòng . ởiếp đó i sẽ đ c g{n gi{ trị , M‚ởỗ‚‛ in gi{ trị t ơng ng
c a i ra m|n hình, xu ng dòng cho đến khi hành_động thực hi n xong v i i nh n
gi{ trị cu i cùng bằng , vòng lặp kết thúc.
M t trong nh ng ng dụng ph biến c a vi c s dụng vòng lặp for l| tính
t ng hoặc tích. M‚ởỗ‚‛ có h|m sum v| prod để tính t ng v| tích c a c{c phần t
trong m t vector, ta có thể s dụng for để thực hi n cẫng vi c t ơng đ ơng m|

A  [1 2 3 4 5 6 7 8 9 10] , tính t ng v| tích c a t t c c{c phần t trong vector ‚.


khẫng cần dùng đến c{c h|m x}y dựng sẵn. ỡí dụ: Cho vector

>>A = 1:10;
>>sumA = 0;
>>prodA = 1;
>>for i = 1 : length(A)
sumA = sumA + i;
prodA = prodA * I;
end
Ởo s{nh sumA v| prodA v i kết qu c{c phép tính sum(A) v| prod(A).
ỡòng lặp for cễng có thể kết h p v i c}u l nh lựa chọn if nh trong ví dụ
d i đ}y Chỉ tính t ng nh ng phần t trong ‚ nh n gi{ trị nh hơn v| tính tích
c a c{c phần t còn l i c a ‚.
>>sum5 = 0;
>>postrest = 1;
>>for i = 1 : length(A)
if i < 5
sum5 = sum5 + i;
else

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 155

postrest = postrest * i;
end
end
ộh đã th y ví dụ trên, hành_ động trong vòng lặp for có thể l| b t kì
c}u l nh h p l n|o, vì thế ta có thể nhiều vòng lặp for lồng trong nhau theo cú
ph{p sau
for bien_lap_1 = khoang_lap_1
%hanh dong 1 tuong duong voi viec khai bao them
vong lap
for bien_lap_2 = khoang_lap_2
hanh_dong_2
end
end
C{c vòng lặp for lồng nhau th ng gặp trong ma tr n khi ph i duy t c{c
phần t theo h|ng v| c t. ỡí dụ hãy in ra m|n hình ngẫi sao xếp theo h|ng
liên tiếp m i h|ng ngẫi
>>h = 3; c = 5;
>>for i = 1 : h
for j = 1 : c
fprintf(‘*’);
end
fprintf(‘\n’);
end
*****
*****
*****

7.3.2 WHILE
C}u l nh while l| c}u l nh cho phép lặp có điều ki n trong M‚ởỗ‚‛, đ c
s dụng để lặp l i m t h|nh đ ng khi khẫng biết chính x{c s lần lặp. Cú ph{p
t ng qu{t
while dieu_kien
hanh_dong
end

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 156

ởr c tiên dieu_kien sẽ đ c kiểm tra, nếu dieu_kien nh n gi{ trị logic đềng,
hanh_dong sẽ đ c thực thi. Ởau đó M‚ởỗ‚‛ thực hi n l i phép kiểm tra, nếu
dieu_kien v n nh n gi{ trị đềng, hanh_dong l i tiếp tục đ c thực thi ỡòng lặp có
thể tr th|nh vòng lặp vẫ cùng nếu dieu_kien khẫng nh n gi{ trị sai nh ví dụ sau
đ}y
>>dieu_kien=1;
>>while dieu_kien
fprintf(‘Su dung to hop phim Ctrl+C de thoat khoi vong
lap\n’)
end
Để tr{nh tr ng h p vòng lặp vẫ cùng nh trên, hanh_dong ph i d n đến
sự thay đ i trong dieu_kien để gi{ trị logic c a nó tr th|nh sai. ỡí dụ cho m t
chu i vẫ h n c{c s sau trong đó phần t đầu tiên c a chu i nh n
gi{ trị , phần t th hai nh n gi{ trị , phần t th n nh n gi{ trị bằng tích c a
phần t th n-1 nh}n v i vị trí c a phần t đó trong chu i n. ỡiết h|m tìm phần t
đầu tiên c a chu i l n hơn gi{ trị tham s đầu v|o c a h|m đó.
timso.m
function a = timso(b)
%Tim so tra ve gia tri phan tu dau tien cua chuoi lon
hon tham so dau vao cua ham
i = 1;
so = 1;
while so <= b
i = i + 1;
so = so * i;
end
a = so;
end
ỡí dụ: Cho tham s đầu v|o c a h|m bằng .
>>timso(700)
ans =
720
ởrong ch ơng trình n|y ta s dụng hai biến i v| so, trong đó i biểu di n s
th tự c a phần t trong chu i, so đ i di n cho c{c phần t trong chu i bắt đầu từ
phần t th nh t, dieu_kien đ c chọn cho h|m l| phần t th nh t nh hơn gi{ trị
đầu v|o c a h|m. Ch y vòng lặp while lần đầu tiên, dieu_kien v n nh n gi{ trị

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 157

đềng (1 < 700), so đ c g{n gi{ trị c a phần t th hai trong chu i theo cẫng th c
(1 * 2 = 2),dieu_kien m t lần n a đ c kiểm tra v| v n tr về gi{ trị đềng. Qu{ trình
kiểm tra điều ki n v| g{n đ c lặp l i đến khi so nh n gi{ trị l n hơn tham s đầu
v|o c a h|m, ch ơng trình kết thúc.
M t ví dụ kh{c về vi c ng dụng vòng lặp while đó l| lặp l i vi c nh p gi{
trị từ b|n phím theo định d ng cho tr c.

% Chuong trinh yeu cau nguoi dung nhap mot so duong tu


ban phim,
% neu do la mot so duong, thuc thi vong lap bao gom cac
hanh dong: in so do ra
% man hinh va yeu cau nhap mot so duong khac cho den
khi so nhap vao am
inputnum=input('Nhap vao mot so duong: ');
while inputnum >= 0
fprintf('Ban da nhap vao so: %d\n\n',inputnum)
inputnum = input('Nhap vao mot so duong: ');
end
fprintf('So nhap vao khong hop le!\n')

7.4 Tóm tắt chư ng 7

C{c phép to{n quan h v| c{c phép to{n logic


== ‛ằng
~= Ỗh{c
< ộh hơn
<= ộh hơn hoặc bằng
> ỗ n hơn
>= ỗ n hơn hoặc bằng
& hoặc Logic AND
&&
| hoặc || Logic OR
~ Logic NOT

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 158

Xor Logic EXCLUSIVE OR

C{c h|m đi u khi n chư ng trình


break ộgắt vòng lặp
case C}u l nh rẽ nh{nh trong c u trúc switch
else C}u l nh rẽ nh{nh trong c u trúc if
elseif C}u l nh rẽ nh{nh trong c u trúc if
end Ỗết thúc c{c c u trúc l nh for, while, end
error Hiển thị thẫng b{o l i
for ỗặp l i t p h p l nh theo m t s lần cho tr c
if ởhực hi n c}u l nh theo điều ki n
otherwise ớhần mặc định c a c u trúc switch
switch C u trúc cho phép thực hi n l nh khi so s{nh v i c{c điều ki n cho
tr c
warning Hiển thị l i c nh b{o
while ỗặp l i t p h p l nh theo m t s lần khẫng x{c định

Bảng 7. 1. Tóm tắt các hàm sử dụng trong chương 7

7.5 ọ|i t p chư ng 7

ọ|i 7.1
ỡiết h|m sumstep tính v| tr về gi{ trị t ng c a c{c s từ đến n v i kho ng
c{ch gi a c{c s l| k, trong đó n v| k l| tham s đầu v|o c a h|m. Ỗiểm tra kết qu
bằng c{ch gọi h|m v i n = 11, k = 3 nh sau
>>sumstep(11, 3)
ọ|i 7.2
ỡiết h|m prodby nh n v|o gi{ trị c a m t s nguyên d ơng n, tr về gi{ trị
tích c a c{c s lẻ trong kho ng , n .
ọ|i 7.3
ỡiết ch ơng trình printE yêu cầu nh p v|o m t vector, in ra theo th tự c{c
phần t c a vector đó theo m u sau:
Nhap vao mot vector: vec

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 159

Phan tu thu 1 la
Phan tu thu 2 la
Phan tu thu 3 la
Phan tu thu 4 la
ọ|i 7.4
ở o file sp.txt ch a ma tr n x trong đó c t th nh t ch a c{c s thực
ng u nhiên trong kho ng , , c t th hai ch a c{c s thực ng u nhiên trong
kho ng , , c{c phần t c a ma tr n l u v|o file v i hai ch s phần th p
ph}n.
ọ|i 7.5
File sp.txt ch a c{c thẫng s về chiều d|i L v| c}n nặng W c a lo t s n
phẩm cần kiểm tra. ởrong đó c{c s n phẩm đ t yêu cầu có chiều d|i trong kho ng
. , . v| c}n nặng trong kho ng . , . . ỡiết ch ơng trình kiểm tra
thẫng s s n phẩm theo d li u trong file sp.txt, in ra m|n hình c{c s n phẩm bị
lo i theo m u
STT L W
ọ|i 7.6
ớh{t triển ch ơng trình c a b|i 7.5, n i dung in ra m|n hình có d ng sau:
Danh sach cac san pham bi loai
**************************
STT L W
Ket_luan
ởrong đó n i dung c a Ỗet_luan phụ thu c v|o s s n phẩm bị lo i, nếu
khẫng có s n phẩm n|o hoặc t t c c{c s n phẩm đều bị lo i, dòng STT L
W sẽ khẫng in ra v| Ỗet_luan có n i dung Khong co san pham nao bi
loai!!! hoặc Tat ca cac san pham deu bi loai!!! , nếu s s n phẩm n bị lo i trong
kho ng , , in ra theo c u trúc trên v| Ỗet_luan có n i dung Co n san pham bi
loai!!! .
ọ|i 7.7
ở o m t vector ‚ gồm m i phần t l| c{c s nguyên ng u nhiên trong
kho ng [- , . Ở dụng vòng lặp v| if nếu cần thực hi n c{c yêu cầu sau
a. ởrừ m i phần t cho .
b. Ỗiểm tra xem vector có bao nhiêu phần t nh n gi{ trị d ơng.
c. ở o vector ‛ có c{c phần t l| trị tuy t đ i c a c{c phần t t ơng ng ‚.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 160

d. ởìm phần t l n nh t, phần t có gi{ trị tuy t đ i l n nh t trong ‚.


ọ|i 7.8
ở o ma tr n ng u nhiên x , c{c phần t l| c{c s nguyên trong kho ng [0,
, s dụng vòng lặp v| if nếu cần thực hi n c{c yêu cầu sau:
a. ởìm phần t l n nh t trong m i c t.
b. ởìm phần t l n nh t trong m i h|ng.
c. ởìm phần t l n nh t trong c ma tr n.
ọ|i 7.9
ỡiết ch ơng trình in ra chính x{c n i dung d i đ}y, s dụng vòng lặp.
1x8+1=9
12 x 8 + 2 = 98
123 x 8 + 3 = 987
1234 x 8 + 4 = 9876
12345 x 8 + 5 = 98765
123456 x 8 + 6 = 987654
1234567 x 8 + 7 = 9876543
12345678 x 8 + 8 = 98765432
123456789 x 8 + 9 = 987654321
ọ|i 7.10
ỡiết ch ơng trình in ra chính x{c n i dung d i đ}y, s dụng vòng lặp.
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
ọ|i 7.11
ỡiết ch ơng trình tính thể tích hình nón trong đó yêu cầu ng i dùng nh p

 2
v|o b{n kính v| chiều cao c a hình nón, kiểm tra xem s nh p v|o có ph i l| s

d ơng hay khẫng, tính v| in ra thể tích hình nón theo cẫng th c V  rh
3

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 161

ọ|i 7.12
ỡiết h|m dtcv yêu cầu nh p v|o b{n kính, tr về di n tích v| chu vi đ ng
tròn, b{o l i nếu b{n kính nh p v|o có gi{ trị }m.
ọ|i 7.13
ỡiết h|m recpol nh n v|o hai gi{ trị x, y( x, y > 0 ) trong tọa đ Đê c{c, tr về

r  ( x 2  y 2 ) ,   arctan( )
y
gi{ trị tọa đ cực r, θ theo cẫng th c
x
ọ|i 7.14
‛iết kho ng c{ch gi a hai điểm (x1, y1), (x2, y2) tính theo cẫng th c

d  ( x  x1 )2  ( y  y1 )2
ỏi n tích tam gi{c tính theo cẫng th c

A  s( s  a)(s  b)(s  c)
ởrong đó a, b, c l| c{c c nh c a tam gi{c, s l| n a t ng c a ba c nh tam gi{c.
ỡiết h|m tính kho ng c{ch c a hai điểm b t kỳ theo cẫng th c trên. ỡiết ch ơng
trình yêu cầu ng i dùng nh p v|o tọa đ ba đỉnh c a m t tam gi{c, tính v| in ra
m|n hình di n tích tam gi{c, trong đó s dụng h|m vừa viết để tính đ d|i c{c
c nh.
ọ|i 7.15
Cho ma tr n mat
mat =
4 2 4 3 2
1 3 1 0 5
2 4 4 0 2
ỡiết h|m sumprint trong đo n code sau để có n i dung in ra m|n hình theo
m u
[r, c] = size(mat);
for i = 1 : r
sumprint(mat(i, :))
end

để có n i dung in ra m|n hình theo m u sau:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng 7. ỗ p trình trong M‚ởỗ‚‛ 162

Tong bay gio la 15


Tong bay gio la 25
Tong bay gio la 37

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 163

ớồ ộ II. ỘỌTỗỌọ ộỒ ỏ ộỒ

Chư ng . ớồỨộ TÍCồ Đ ộỒ ồ C C C U


Mục n|y gi i thi u c{c b|i to{n x{c định vị trí kh}u, kh p trong cơ c u,
kh o s{t chuyển đ ng c a cơ c u khi kh}u d n quay theo m t góc cho tr c, kh o
s{t v n t c, gia t c t c th i c a c{c kh}u, kh p c a cơ c u. C{c b|i to{n sẽ đ c
h ng d n v i ví dụ cơ c u tay quay con tr t. ‛ên c nh đó sinh viên có thể tham
kh o b|i t p v i c{c cơ c u kh{c có đ{p s đi kèm.

8.1 ợ{c đ nh v trí c{c kh}u, kh p trong c c u

Cho cơ c u tay quay con tr t nh trong hình d i trong đó ‚‛ = . m,


‛C= m. Ỗh}u d n t o v i ph ơng ngang m t góc   1  45o . ợ{c định vị trí c{c
kh p ‛, C v| góc t o b i kh}u v| ph ơng ngang.

B 2
1
y
3
A � C

x 0
0

Hình 8. 1. Cơ cấu tay quay con trượt

Hướng dẫn.
Ỗhi bắt đầu m t ch ơng trình M‚ởỗ‚‛, nên đ a v|o nh ng dòng l nh sau
để xóa t t c c{c biến hi n h|nh, xóa n i dung trên c a s l nh, đóng c{c c a s đồ
họa đang m để tr{nh nh h ng đến kết qu tính to{n cễng nh d ph{t hi n l i
trong qu{ trình l p trình.
clear all %xoa tat ca cac bien hien hanh

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 164

clc %xoa noi dung hien thi tren cua so lenh


close all %dong tat ca cua so do hoa dang mo
Ỗhai b{o c{c gi{ trị đầu v|o, l u ý s đo góc t o b i kh}u v| ph ơng
ngang cần đ i ra radian.
%Khai bao tham so dau vao
AB = 0.5;
BC = 1;
phi1 = pi/4;
Vị trí khớp “
H trục tọa đ xỚy đ c đặt nh hình vẽ, do ‚ trùng v i g c tọa đ nên vị
trí kh p ‚ t ơng ng l|
xA = 0;yA = 0;
%Vi tri khop A
xA = 0;
yA = 0;
Vị trí khớp ”
ỡị trí c a kh p ‛ có thể x{c định qua hai ẩn xB v| yB. ỏo đ d|i ‚‛ c định
v| góc t o b i kh}u v| ph ơng ngang đã biết, hai ẩn trên đ c tính theo cẫng
th c
xB = ABcos  = (0.5)cos45o = 0.353533m
yB = ABsin  = (0.5)sin45o = 0.353533m
%Vi tri khop B
xB = AB*cos(phi1);
yB = AB*sin(phi1);
Vị trí khớp C
ỡị trí c a kh p C đ c x{c định qua hai ẩn xC v| yC, trong đó yC = 0. ỏo đ
d|i c a ‛C khẫng đ i ta có ph ơng trình

( xB  xC )2  ( yB  yC )2  BC 2
Đ}y l| ph ơng trình b c có ẩn xC ch a biết. ớh ơng trình n|y sẽ có hai
nghi m trong đó chỉ có m t nghi m l| đ{p {n c a b|i to{n. Yêu cầu đặt ra l| tìm

0    90 , xC luẫn l n hơn x‛. ớh ơng trình để x{c định tọa đ c a C trong
điều ki n để lo i nghi m c a ph ơng trình trên. Có thể th y l| trong tr ng h p

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 165

M‚ởỗ‚‛ có thể gi i bằng l nh solve v i ẩn khai b{o l| xCn, b c chọn nghi m có


thể s dụng c}u l nh ifelse để gi i nh sau

Đư ng tròn bán kính BC

B
y

C2 C1
x
A

Hình 8. 2. Hai phương án giá trị c a C

%Vi tri khop C


yC = 0;
ptC = ‘(xB-xCn)^2+(yB-yC)^2-BC^2’;
nghiemC = solve(ptC,’xCn’);
%Hai nghiem cua phuong trinh
xC1 = eval(nghiemC(1));
xC2 = eval(nghiemC(2));
%Tim C thoa man dieu kien xC > xB
if xC1 > xB
xC = xC1;
else
xC = xC2;
end
Ởau khi ch y ch ơng trình ta thu đ c ho|nh đ điểm C:
xC = 1.2890
Xác định góc tạo bởi khâu với phương ngang

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 166

Ởau khi x{c định đ c tọa đ điểm C, góc  2 t o b i kh}u v i ph ơng


ngang có thể x{c định theo tọa đ hai điểm đầu cu i c a kh}u
yB  yC
2  arctan
xB  xC
C{c b c tính ฀2 đ c thực hi n trong M‚ởỗ‚‛ nh sau:
%Tinh phi2
phi2r = atan((yB-yC)/(xB-xC));%Tinh theo radian
phi2 = phi2r*180/pi;%Tinh theo do
Ỗết qu thu đ c có thể đ c in ra m|n hình theo c{c c}u l nh sau:
%In ket qua ra man hinh
fprintf('xB = %g (m) \n', xB)
fprintf('yB = %g (m) \n', yB)
fprintf('xC = %g (m) \n', xC)
fprintf('yC = %g (m) \n', yC)
fprintf('phi2 = %g (do) \n',phi2)
Vẽ lại cơ cấu
Cơ c u có thể đ c vẽ l i trên M‚ởỗ‚‛ bằng c{ch s dụng l nh plot v| c{c
l nh h tr kh{c nh sau:
%Ve lai co cau
hold on
axis equal
title('Co cau tai vi tri phi = 45 do');
xlabel('x (m)');
ylabel('y (m)');
plot([xA-.2,xC+.2],[yA,yC],'--','LineWidth',2);
plot([xA,xB],[yA,yB],'-o','LineWidth',2);
plot([xB,xC],[yB,yC],'-o','LineWidth',2);
text(xA,yA+.1,'A');
text(xB,yB+.1,'B');
text(xC,yC+.1,'C');

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 167

Co cau tai vi tri phi = 45 do


0.8

0.6

0.4 B

y (m) 0.2
A C
0

-0.2

-0.4
0 0.5 1
x (m)

Hình 8. 3. Biểu diễn lại vị trí c a cơ cấu

8.2 Ỗh o s{t chuy n đ ng v| t o phim mô ph ng chuy n đ ng c a c c u

8. . Ỗh o s{t chuy n đ ng
Để kh o s{t chuyển đ ng c a cơ c u khi kh}u d n quay trọn vẹn m t
vòng, có thể s dụng vòng lặp để tính to{n vị trí c{c kh p t i c{c góc t ơng ng.
Ỗhi l p trình cần chú ý điều ki n để chọn nghi m đ m b o điều ki n đơn gi n d

quay con tr t quay trọn vẹn m t vòng 0    360 có thể th y x‛ nh n c{c gi{
thực hi n nh ng có tính chính x{c cao. ợét ví dụ khi kh}u d n c a cơ c u tay

trị d ơng khi 0    90 hoặc 270    360 v| nh n gi{ trị }m v i c{c gi{ trị
còn l i c a  . ởuy nhiên ta cễng có thể s dụng m t điều ki n kh{c đơn gi n hơn
đó l| v i mọi gi{ trị c a  , xB luẫn nh hơn xC.
ởrong ví dụ n|y, ta s dụng vòng lặp for v i b c nh y c a vòng lặp l|
pi/4. Để ti n cho vi c quan s{t đồ thị, sinh viên có thể thay thế bằng c{c b c nh y
có gi{ trị nh hơn.
%Khao sat chuyen dong cua co cau
for phi=0:pi/4:2*pi
xB = AB*cos(phi);
yB = AB*sin(phi);
yC = 0;
ptC = '(xB-xCn)^2+(yB-yC)^2-BC^2';
nghiemC = solve(ptC,'xCn');
%Hai nghiem cua phuong trinh

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 168

xC1 = eval(nghiemC(1));
xC2 = eval(nghiemC(2));
%Tim C thoa man dieu kien xC > xB
if xC1 > xB
xC = xC1;
else
xC = xC2;
end
hold on
axis equal
plot([xA,xB],[yA,yB],'-o','LineWidth',2);
plot([xB,xC],[yB,yC],'-o','LineWidth',2);
text(xA,yA+.1,'A');
text(xB,yB+.12,'B');
text(xC,yC-.08,'C');
end
title('Khao sat chuyen dong cua co cau')
xlabel('x(m)')
ylabel('y(m)')
Ỗhi đã x{c định đ c vị trí c{c kh p c a cơ c u trong chuyển đ ng, ta
cễng có thể suy ra quỹ đ o c a m t điểm b t kỳ trên kh}u trong chuyển đ ng đó.
ỡí dụ xét điểm ớ l| trọng t}m c a thanh ‛C, t i mọi th i điểm kh}u chuyển đ ng,
tọa đ c a ớ đ c tính t ơng ng theo tọa đ c a hai đầu ‛, C l|
xP ( )  xB ( )  xC ( )
yP ( )  yB ( )  yC ( )
ởrong vòng lặp, ta có thể thêm v|o m t s dòng l nh để tính tọa đ trọng
t}m ớ v| l u c{c tọa đ n|y v|o m t m ng gi{ trị.
i = i+1; %i la bien chay nhan gia tri 0 o ngoai vong
lap
xP(i) = (xB + xC)/2;
yP(i) = (yB + yC)/2;
plot(xP(i),yP(i),’*’,’MarkerSize’,10);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 169

Khao sat chuyen dong cua co cau

0.6 B

B B
0.4

0.2
B A B
y(m 0
C C C C C
-0.2
B B

-0.4 B

-0.6

-0.5 0 0.5 1 1.5


x(m)

Hình 8. 4. Khảo sát chuyển động c a cơ cấu

ởọa đ trọng t}m ớ c a kh}u ‛C trong chuyển đ ng c a cơ c u có thể đ c


thể hi n riêng nh sau hình vẽ đ c thể hi n v i b c nh y vòng lặp l| pi/10):
Quy dao chuyen dong trong tam khau 2
0.4

0.2

y(m) 0
-0.2

-0.4
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x(m)

Hình 8. 5. Quỹ đạo chuyển động c a trọng tâm khâu BC

plot(xP,yP,'*-','MarkerSize',10);
axis([0 1 -.4 .4]);
title('Quy dao chuyen dong trong tam khau 2');
xlabel('x(m)');
ylabel('y(m)');

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 170

. . T o clip mô ph ng chuy n đ ng
M t trong nh ng c{ch thẫng dụng để t o nh ng đo n phim ngắn trong
M‚ởỗ‚‛ l| s dụng h|m getframe để chụp l i n i dung thể hi n trên c a s đồ
họa hi n h|nh rồi sau đó s dụng h|m movie để cho c{c khung hình đã đ c
chụp l i lần l t thể hi n ra trên m|n hình t o nên chuyển đ ng.
H|m getframe th ng đ c s dụng trong vòng lặp, gi{ trị tr về c a h|m
l| vector m t h|ng, vì thế c hai cú ph{p gọi h|m d i đ}y đều h p l :
>>M(i) = getframe;
hoặc
M(:, j) = getframe;
ởrong đó M l| vector ch a c{c khung hình c a phim thể hi n chuyển đ ng,
i, j l| s th tự c a khung hình trong vector.
Một số lưu ý khi sử dụng hàm getframe
Đ m b o h trục tọa đ c{c khung hình kh{c nhau l| khẫng đ i, nếu
khẫng c{c hình vẽ sẽ đ c thể hi n trên c{c h trục tọa đ có gi i h n cễng nh đ
chia kh{c nhau d n đến kết qu c a phim sẽ khó theo dậi.
Ở dụng d u ; cu i l nh getframe để khẫng hiển thị c{c gi{ trị th|nh phần
c a M khi ch y vòng lặp.
Ỗhi vòng lặp đang đ c ch y, b o đ m c a s đồ họa hi n h|nh khẫng bị
che khu t b i c{c c a s kh{c c a s l nh, c a s đồ họa kh{c nếu khẫng n i
dung c a c{c c a s đồ họa n|y cễng sẽ đ c l u v|o c{c khung hình c a phim.
Đ i v i cơ c u tay quay con tr t trong ví dụ n|y, ngo|i vòng lặp %khao
sat chuyen dong cua co cau đã trình b|y trên có thể t o m t biến ch y incr = 1 ngo|i
vòng lặp, v| thêm v|o bên trong vòng lặp phía d i c{c l nh vẽ dòng l nh sau:
axis ([-1.5 1.5 -.6 .6]);
M(incr) = getframe;
close;
incr = incr +1;

Ởau khi biến M đã l u c{c khung hình c a phim thể hi n chuyển đ ng c a


cơ c u, h|m movie có thể đ c s dụng để trình chiếu l i đo n phim theo cú ph{p
sau
>>movie(M, n)
ởrong đó n l| s lần ng i s dụng mu n ch ơng trình lặp l i đo n phim,
ví dụ v i n = 10, ch ơng trình sẽ chiếu đo n phim lặp đi lặp l i lần.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 171

8.3 V n t c v| gia t c

th i c a kh}u lần l t l|   rad/s ,    rad/s2 , tính v n t c v| gia t c d|i


Đ i v i b|i to{n tay quay con tr t đang xét, v n t c góc v| gia t c góc t c

c a c{c kh p ‛, C, tính v n t c góc v| gia t c góc c a kh}u .

B
α
y 2

1
ω C 3
A
x

Hình 8. 6. Bài toán vận tốc, gia tốc với cơ cấu tay quay con trượt

Vận tốc c a khớp ”


ỡ n t c c a điểm ‛ trên kh}u có thể đ c tính nh sau
vB  vB1  vA  vBA  vA    rBA
ởrong đó vB1 l| v n t c c a điểm ‛ trên kh}u , vBA l| v n t c c a ‛ trong
chuyển đ ng quay t ơng đ i so v i điểm ‚,  l| v n t c góc c a kh}u , rBA

th c rBA  rB  rA trong đó rA   x A y A 0 ,
T

rB   xB 0 , rA v| rB lần l
đ c tính theo cẫng
T
yB t l| tọa đ c a ‚, ‛

Vận tốc khớp C


ỏo điểm C thu c hai kh}u v| nên vC  vC

t theo ph ơng ngang nên vCy  0 , do đó v n


2 3

Mặt kh{c do kh}u chỉ tr

c biểu di n theo vC  vC  vC  vCx 0 0


T
t c điểm C có thể đ
2 3

ỡ n t c điểm C tính theo ph ơng trình


vC2  vB  vCB  vB  2  rCB  vB  2  (rC  rB )

vCx  vBx  0   xC  xB 
0   v   0    y  y 
   By     C B
0  0  2  0 

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 172

Qua đó ta có hai ph ơng trình v i hai ẩn l| vCx v| 2 ch a biết


vCx  vBx  2 ( yC  yB )
0  vBy  2 ( xC  xB )
Sau khi tìm đ c 2 , v n t c quay t ơng đ i gi a C v| ‛ có thể đ c tính
theo cẫng th c:
vCB  2  rCB
Để gi i b|i to{n trong M‚ởỗ‚‛ tr c tiên ta cần khai b{o c{c biến rA, rB, rC theo
tọa đ xA, xB, xC v| c{c biến ký hi u vCx v| omega2z.

rA=[xA yA 0]';
rB=[xB yB 0]';
rC=[xC yC 0]';
omega1=[0 0 1]'; %rad/s
syms vCx omega2z real;
vC=[vCx 0 0]'; %m/s
omega2=[0 0 omega2z]'; %rad/s
%Tinh van toc diem B
vB=cross(omega1,rB-rA); %m/s
%Tinh van toc diem C
%Lap phuong trinh
ptvC=vC - vB - cross(omega2,rC-rB);
%Tach ra hai phuong trinh chua cac an vCx va omega2z
ptvC1=ptvC(1);
ptvC2=ptvC(2);
nv=solve(ptvC1,ptvC2);
vCxs=eval(nv.vCx);
omega2s=eval(nv.omega2z);
vC=[vCxs 0 0]’; %m/s
omega2=[0 0 omega2s]’; %rad/s
%Tinh van toc quay tuong doi giua C va B
vCB=cross(omega2, rC-rB); %m/s
”iểu diễn họa đồ vận tốc trong M“TL“”
ởrong M‚ởỗ‚‛, ng i s dụng có thể biểu di n c{c vector s dụng h|m
quiver theo cú ph{p sau:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 173

>>quiver(x, y, u, v, S)
ởrong đó x, y l| điểm đặt c a g c vector u, v l| đ d|i vector chiếu xu ng
trục ho|nh v| trục tung, Ở l| tỉ l xích biểu di n vector trên c a s đồ họa. Đ i v i
ví dụ tay quay con tr t n|y, họa đ v n t c có thể đ c biểu di n nh sau
hold on
axis equal %dam bao the hien quan he vuong goc tren
hinh
title('Bieu dien quan he van toc vB, vC');
xlabel('x (m)');
ylabel('y (m)');
plot([xA-.2,xC+.2],[yA,yC],'--','LineWidth',2);
plot([xA,xB],[yA,yB],'-o','LineWidth',2);
plot([xB,xC],[yB,yC],'-o','LineWidth',2);
%Ve vector vB, vC co goc dat tai diem B va C tuong ung
quiver(xB,yB,vB(1),vB(2),1,'LineWidth',2);
quiver(xB,yB,vC(1),vC(2),1,'LineWidth',2);
%Ve vector vBC co goc trung voi ngon cua vector vB
quiver(xB+vB(1),yB+vB(2),vCB(1),vCB(2),1,'LineWidth',2)
;

vCB  BC
vB  AB
vC AC
B

A C

Hình 8. 7. Họa đồ vận tốc c a cơ cấu

Gia tốc khớp ”


Gia t c điểm ‛ trên kh}u tính theo cẫng th c

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 174

aB  aB1  aB2  aA  1  rBA  1  (1  rBA )


t
ỡ i hai th|nh phần tiếp tuyến a B vuẫng góc v i ‛‚ v| có h ng x{c định
n
theo h ng c aαv| th|nh phần ph{p tuyến a B song song v i ‛‚ v| h ng từ ‛
đến t}m quay ‚
C{c b c tính gia t c kh p ‛ trong M‚ởỗ‚‛ trình b|y nh sau:
alpha1=[0 0 -1]'; %rad/s^2
aA=[0 0 0]'; %m/s^2
aB=cross(alpha1,rB-rA)+cross(omega1,cross(omega1,rB-
rA));
aBt=cross(alpha1,rB-rA);
aBn=cross(omega1,cross(omega1,rB-rA));
Gia tốc khớp C
Gia t c điểm C có thể tính đ c khi kh o s{t chuyển đ ng trên kh}u
aC  aC2  aB2   2  rCB  2  (2  rCB )
ởrong đó gia t c góc  2 c a kh}u l| ẩn s ch a biết, do kh}u chỉ
chuyển đ ng tr t theo ph ơng ngang

aC  aC2   aCx 0 0
T

‛iểu di n ph ơng trình tính gia t c điểm C d i d ng vector

 aCx   aBx  0   xC  xB  0   0   xC  xB  
0    a   0    yC  yB   0    0    yC  yB  
   By           
 
0  0   2  0 
 2   2   0  
ởa đ c h hai ph ơng trình v i hai ẩn aCx v| 2 :
aCx  aBx   2 ( yC  yB)  22 ( xC  xB)
0  aBy   2 ( xC  xB)  22 ( yC  yB)
Ởau khi tính đ c  2 ta có thể suy ra hai th|nh phần tiếp tuyến v| ph{p
tuyến c a gia t c t ơng đ i gi a C v| ‛
t
aCB   2  rCB
n
aCB  2  (2  rCB )

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 175

C{c b c tính to{n trong M‚ởỗ‚‛ đ c thực hi n nh sau


syms alpha2zaCxreal;%Khai bao cac an aCx va alpha2z
alpha2=[0 0 alpha2z]';
aC=[aCx 0 0]';
%Lap phuong trinh
ptaC=aC-aB-cross(alpha2,rC-rB)-
cross(omega2,cross(omega2,rC-rB));
%Tach hai phuong trinh chua aCx va alpha2z
ptaC1=ptaC(1);
ptaC2=ptaC(2);
na=solve(ptaC1,ptaC2);
aCxs=eval(na.aCx);
alpha2s=eval(na.alpha2z);
aC=[aCxs 0 0]';
alpha2=[0 0 alpha2s]';
aCBt=cross(alpha2,rC-rB);
aCBn=cross(omega2,cross(omega2,rC-rB));

”iểu diễn họa đồ gia tốc trong M“TL“”


Họa đồ gia t c biểu di n m i quan h gi a gia t c c a điểm ‛ v| gia t c c a
điểm C có thể đ c biểu di n nh sau

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 176

aC aCBn
A C
aCBt

aBt

aBn

Hình 8. 8. Họa đồ gia tốc c a cơ cấu

hold on
axis equal
title('Bieu dien quan he gia toc aB, aC');
xlabel('x (m)');
ylabel('y (m)');
%Ve lai co cau
plot([xA,xC],[yA,yC],'--','LineWidth',2);
plot([xA,xB],[yA,yB],'-o','LineWidth',2);
plot([xB,xC],[yB,yC],'-o','LineWidth',2);
%Ve vector aBt tai diem C
quiver(xC,yC,aBt(1),aBt(2),1,'k','LineWidth',2);
%Ve vector aBn tai ngon cua vector aBt
xs=xC+aBt(1);
ys=yC+aBt(2);
quiver(xs,ys,aBn(1),aBn(2),1,'k','LineWidth',2);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 177

%Ve vector aCBt tai ngon cua vector aBn


xs=xs+aBn(1);
ys=ys+aBn(2);
quiver(xs,ys,aCBt(1),aCBt(2),1,'m','LineWidth',2);
%Ve vector aCBn tai ngon cua vector aCBt
xs=xs+aCBt(1);
ys=ys+aCBt(2);
quiver(xs,ys,aCBn(1),aCBn(2),1,'m','LineWidth',2,'MaxHeadSi
ze',.8);
%Ve vector aC tai C
quiver(xC,yC,aC(1),aC(2),1,'r','LineWidth',2,'MaxHeadSize',
.8);

8.4 ọ|i t p chư ng 8

ọ|i 8.1 Cơ c u kh p quay


Cho cơ c u nh hình vẽ.

CD=0.30m, CE = 0.15m, xA = yA = 0, xD = yD = 0.30m, 1  45 , kh}u d n quay


C{c thẫng s c a cơ c u đ c cho nh sau ‚‛ = . m, ‛C = . m,

v i v n t c góc khẫng đ i vòng/phút.


ởính xB, yB, xC, yC, xE, yE,  2 , 3
ởính v n t c, gia t c c{c kh}u, kh p t i th i điểm 1  45

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 178

C 3

y
D

1 B

1
A x

Hình 8. 9. Cơ cấu 4 khớp quay

Đáp án

rB  0.106066 0.106066 0 m
T

rC  0.0400698 0.449788 0 m
T

rE   0.0898952 0.524681 0 m
T

2  -79.1312 
3  -29.9532 

1  0 0 6.28319 rad / s
T

2  0 0 3.43639 rad / s
T

3  0 0 3.43639 rad / s
T

1  0 0 0 rad / s 2
T

 2  0 0 8.97883 rad / s 2
T

3  0 0 22.6402 rad / s 2
T

vB  vB1  vB2   0.666432 0.666432 0 m / s


T

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 179

vC  0.514728 0.893221 0 m / s
T

vE  0.772092 1.33983 0 m / s
T

aB  aB1  aB2   4.18732 4.18732 0 m / s 2


T

aC   0.321767 7.65368 0 m / s 2
T

aE   0.48265 11.4805 0 m / s 2
T

Ộ t s b|i t p ng d ng ỘỌTỗỌọ trong môn c h c lý thuy t


ọ|i 8.2
Để rút m t chiếc đinh ra kh i g cần t{c dụng m t lực theo ph ơng ngang,
do bị v ng v t c n ‚ nên cần bu c c{p v|o đinh v| t{c dụng m t lực ộ v|
m t lực ớ nh hình vẽ. ợ{c định ớ để h p lực ở t{c dụng lên đinh chỉ theo ph ơng
ngang, đồng th i tính h p lực ở. ỡẽ đồ thị biểu di n ớ v| ở theo d v i d nằm trong
kho ng từ cm đến cm

d
d
10 cm 10 cm

15 cm 15 cm

180 N

180 N

Đáp án:
Hình 8. 10. Hình đề bài 8.2
Đáp án:
C{c lực kéo d}y c{p v| h p lực ở biểu di n nh hình trên. ớh ơng trình

T   Fx  P cos  180cos 
c}n bằng lực có thể viết nh sau

0   Fy  P sin   180sin 

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 180

C{c b c tính trong M‚ởỗ‚‛


>>syms d P T
>>theta = atan(10/d);
>>beta = atan(15/d);
>> pt1='P*cos(theta)+180*cos(beta)-T';
>> pt2='P*sin(theta)-180*sin(beta)';
>> ds=solve(pt1,pt2,'P,T');
>>ds.P
ans =
180*sin(beta)/sin(theta)
>>ds.T
ans =
180*(sin(beta)*cos(theta)+cos(beta)*sin(theta))/sin(thet
a)

Hình 8. 11. Đồ thị bài 8.2

ỡẽ đồ thị c a ớ v| ở theo d
>>d = 5: .5: 60;
>> beta=atan(15./d);
>> theta=atan(10./d);
>>P = 180*sin(beta)./sin(theta);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 181

>>T =
180*(sin(beta).*cos(theta)+cos(beta).*sin(theta))./sin(t
heta);
>>plot(d, P, d, T);
>>xlabel(‘d (cm)’); ylabel(‘Luc (N)’);

ọ|i .
ởrong điều ki n khẫng t i, xe có trọng l ng ộ đặt t i trọng t}m G.
Đặt t i ỢL có trọng t}m phía sau c a b{nh xe sau m t đo n l| x cm . ởìm m i
quan h gi a Ợ L v| x nếu biết ph n lực lên b{nh tr c v| b{nh sau l| bằng nhau.
ỡẽ đồ thị biểu di nỢ L theo x v i x nằm trong kho ng đến cm. ‛iết a =
cm, b = 170 cm.

16000N

a b a b

Hình 8. 12. Hình bài 8.3

Đáp án:
ớh ơng trình c}n bằng moment v| ph ơng trình c}n bằng lực t{c dụng lên

 M B  0  16000.170  N.285  WL x
xe có thể viết nh sau

 Fy  0  N  N  16000  WL
C{c b c gi i trong M‚ởỗ‚‛ nh sau
>>syms x N W
>> pt1 = '16000*170 - N*285 - W*x';
>> pt2 = 'N + N - 16000 - W';
>> ds=solve(pt1, pt2, 'W,N');
>>ds.W

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 182

ans =
880000/(285+2*x)
>>x = 0: .5: 100;
>>W = 880000./(285 + 2*x);
>>plot(x,W);
>> ylabel('Tai trong (N)'); xlabel('x (cm)');

3200

3000

2800
Tai trong (N)

2600

2400

2200

2000

1800
0 20 40 60 80 100
x (cm)

Hình 8. 13. Đồ thị bài 8.3

ọ|i 8.4

c a góc  từ -90o đến o. ởính c{c lực t i ‚ v| ‛ theo  , x{c định gi{ trị cực đ i
Cho cơ c u nh hình vẽ, cơ c u có thể chịu t i đến kộ t i C v i mọi gi{ trị
Hình 8. 14. Hình bài 8.4

c a c{c lực n|y v i góc  t ơng ng.


Đáp án:
ớh ơng trình c}n bằng lực v| moment cho h viết nh sau

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 183

 M A  5 B.(0.6)  3cos (1.2)  0


4

 Fx  Ax  5 B  3sin   0
3

 Fy Ay  5 B  3cos  0
4

C{c b c tính trong M‚ởỗ‚‛ nh sau


>> syms Ax Ay B theta
>> pt1='0.8*B*0.6-3*cos(theta)*1.2';
>> pt2='Ax-0.6*B+3*sin(theta)';
>> pt3='Ay+0.8*B-3*cos(theta)';
>> ds=solve(pt1,pt2,pt3,'Ax,Ay,B');

Ax  cos  3sin 
9

Ay  3cos
2

B cos
15
2
ỡẽ đồ thị c a ‛, ‚ theo 
>> theta=-pi/2:0.1:pi/2;
>> B=15/2*cos(theta);
>> Ax=9/2*cos(theta)-3*sin(theta);
>> Ay=-3*cos(theta);
>> A=sqrt(Ax.^2+Ay.^2);
>> plot(theta,B,theta,A)
>> xlabel('theta (rad)');
>> ylabel('Luc (kN)');

ởừ gi{ trị B  cos có thể d d|ng th y đ  0


15
c ‛ đ t cực đ i khi
2
 sao cho
đ o h|m c a ‚ nh n gi{ trị , kết h p v i đồ thị để suy ra  cần tìm.
Gi{ trị cực đ i c a ‚ có thể đ c tìm nh sau tìm c{c gi{ trị c a

>> fA=sqrt(ds.Ax^2+ds.Ay^2);
>> dfA=diff(fA);
>> ntheta=solve(dfA)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 184

ntheta =
2.6779450445889871222483871518183
-.46364760900080611621425623146121
-2.0344439357957027354455779231010
1.1071487177940905030170654601785

  0.5
Hình 8. 15. Đồ thị bài 8.4
Quan s{t đồ thị ta có thể th y đ c ‚ đ t cực đ i t i l}n c n c a
>> Amax=subs(fA,ntheta(2))
Amax =
6.0000
>> thetaA=double(ntheta(2)*180/pi)
thetaA =
-26.5651
>> Bmax=subs(ds.B,0)
Bmax =
7.5000
ọ|i 8.5
M t v t nặng đ c gi c}n bằng trên mặt phẳng nghiêng m t góc  so v i
ph ơng ngang. ởính lực căng ở v| ph n lực ộ c a đ t t{c dụng lên v t theo  .
ỡ i gi{ trị n|o c a  thì ở = ộ. ‛iết v t có kh i l ng kg.
Đáp án:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 185

C{c lực t{c dụng lên v t đ c biểu di n nh hình d i. ớh ơng trình c}n
bằng lực chiếu lên c{c mặt phẳng song song v| vuẫng góc v i mặt phẳng nghiêng
lần l t có d ng

θ
N P

Hình 8. 16. Hình bài 8.5

 Fi  P sin  T  0
 Fk N  P cos  0
C{c b c gi i trong M‚ởỗ‚‛ nh sau
>> syms P N T theta
>> pt1='P*sin(theta)-T';
>> pt2='N-P*cos(theta)';

ởính gi{ trị c a ở v| ộ t i   30


>> ds=solve(pt1,pt2,'N,T');

>> N=subs(ds.N,{P,theta},{100,pi/6});

 để ở = ộ
>> T=subs(ds.T,{P,theta},{100,pi/6});
ởìm gi{ trị c a
>> pt3=ds.N-ds.T;
>> ntheta=solve(pt3,'theta')
ntheta =
1/4*pi

ọ|i .

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 186

H s ma s{t tr t  đ c x{c định theo cẫng th c   F / mg , trong đó


F (N) l| lực kéo t{c dụng lên v t, m (kg) l| kh i l ng c a v t, g = 9.81 m/s2 l| gia
t c trọng tr ng. ‛ ng d i đ}y li t kê kết qu c{c lần thí nghi m v i c{c lực t{c
dụng v| kh i l ng v t kh{c nhau. ợ{c định h s ma s{t trong m i lần kiểm tra
v| h s ma s{t trung bình c a t t c c{c lần kiểm tra.
ỗần 1 2 3 4 5
Ỗh i l ng m kg 2 4 5 10 20
ỗực kéo ố ộ 12.4 23.2 30.5 60.8 116.5

Đáp án:
Hình 8. 17. Hình bài 8.6

Ỗhai b{o kh i l ng v| lực theo vector


>>m = [2 4 5 10 20];
>>F = [12.4 23.2 30.5 60.8 116.5];
H s ma s{t tr t mu:
>>mu = F./(9.81 * m)
mu =
0.6320 0.5912 0.6218 0.6198 0.5938
H s ma s{t tr t trung bình:
>>mutb = mean(mu)
mutb =
0.6117
ọ|i 8.7

m t ch t l ng v i v n t c ban đầu l| v  30(m / s) . ỏo lực c n c a ch t l ng, ch t


M t ch t điểm đ c ném xu ng theo ph ơng thẳng đ ng v|o trong lòng

điểm có gia t c a  (0.7v3 )(m / s 2 ) . ỡẽ đồ thị v n t c theo th i gian v| quãng


đ ng theo th i gian c a ch t điểm.
Đáp án:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 187

ớh ơng trình biểu di n v n t c v| quãng đ ng di chuyển c a ch t điểm


theo th i gian có thể đ c tính bằng vi c gi i c{c ph ơng trình vi ph}n b c nh t
sau:

 (0.7v3 ) v(0)  30
dv
dt

 v s(0)  0
ds
dt
C{c b c gi i trong M‚ởỗ‚‛ nh sau
>> v=dsolve('Dv + 0.7*v^3','v(0)=30')
v =
30/(1260*t+1)^(1/2)
>> s = dsolve('Ds - 30/(1260*t+1)^(1/2)','s(0)=0')
s =
1/21*(1260*t+1)^(1/2)-1/21

Hình 8. 18. Đồ thị bài 8.7


ỡẽ đồ thị biểu di n v n t c, quãng đ ng c a ch t điểm theo th i gian
0  t  1.5
>>t = 0: 0.05: 1.5;
>>vt = 30./(1260*t+1).^(1/2);
>>st = (1/21)*(1260*t+1).^(1/2)-1/21;
>> plot(t,vt)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 188

>> grid
>> xlabel('Thoi gian (s)');
>> ylabel('Van toc (m/s)');
>>figure(2);
>>plot(t,st);
>>grid
>> xlabel('Thoi gian (s)');
>> ylabel('Quang duong(m)');

ọ|i .
ỡị trí c a m t ẫ tẫ đ c biểu di n b i h|m theo th i gian nh sau
s  5t  3t 2 , vẽ đồ thị biểu di n vị trí, v n t c v| gia t c c a ẫ tẫ trong kho ng th i
gian 0  t  10 (s).
Đáp án:
>> s=sym('5*t - 3*t^2');
>> v=diff(s,'t');
>> a=diff(v);
>> st=inline(s)
st =
Inline function:
st(t) = 5.*t - 3.*t.^2
>> vt=inline(v)
vt =
Inline function:
vt(t) = 5-6.*t
>> at=inline(a)
at =
Inline function:
at(x) = -6
>> t=0:0.5:10;
>> subplot(3,1,1)
>> plot(t,st(t))
>> ylabel('Vi tri (m)');

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 189

>> subplot(3,1,2)
>> plot(t,vt(t))
>> ylabel('Van toc (m/s)');
>> subplot(3,1,3)
>> plot(t,at(t),'*')
>> ylabel('Gia toc (m/s^2)');
>> xlabel('Thoi gian (t)');

Hình 8. 19. Đồ thị bài 8.8

ọ|i 8.9
Chuyển đ ng c a m t v t ném xiên đ c biểu di n nh trong hình vẽ.
Trong đó, v n t c ban đầu v| góc nghiêng t o b i v n t c ban đầu v i ph ơng

Ở dụng h|m để tính hmax v| dmax khi v0  250m / s   40


ngang đã biết. ỡiết h|m tính đ cao v| đ xa cực đ i c a chuyển đ ng ném xiên.

Đáp án:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 190

function [hmax, dmax] = nemxien(v0,theta)


syms t td
%Doi gia tri goc nhap vao tu do sang radian
theta = theta*pi/180;
%Tinh gia tri ban dau v0 theo hai phuong x, y
v0x =v0*cos(theta);
v0y = v0*sin(theta);
%Viet phuong trinh tinh van toc hai phuong x, y theo t
vy = v0y - 9.81*t;
vx = v0x;
%Phuong trinh bieu dien chuyen dong tren hai phuong x, y
theo t
y = v0y*t - 1/2*9.81*t^2;
x = v0x*t;
%Tim thoi gian vat dat do cao cuc dai
thmax = solve(vy,'t');
hmax = double(subs(y,'t',thmax));
%Tim thoi gian vat dat do xa cuc dai
td = solve(y,'t');
if double(td(1)) > 0
tdmax = td(1);
else
tdmax = td(2);
end
dmax = double(subs(x,'t',tdmax));
end

Hình 8. 20. Hình bài 8.9

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 191

ởh l i h|m v i v0  250m / s   40


>>>> [h,d]=nemxien(250,40)
h =
1.3162e+00
d =
6.2743e+003
ọ|i 8.10
M t ch t điểm kh i l ng kg đ c ném từ d i đ t theo ph ơng thẳng
đ ng v i v n t c ban đầu m/s. ởìm đ cao cực đ i m| ch t điểm có thể đ t đ c
biết lực c n khẫng khí t i mọi th i điểm l| 0.01v2 trong đó v l| v n t c t c th i c a
ch t điểm. ỡẽ đồ thị biểu di n đ cao đ t đ c theo v n t c c a ch t điểm.
Đáp án:

Hình 8. 21. Hình


bài 8.10

[p dụng định lu t II ộewton theo ph ơng thẳng đ ng

 Fy  ma y   F  mg  0.01v2  mg
dv 0.01v 2  mg
ay  
dt m
Ởinh viên có thể gi i b|i to{n theo ph ơng ph{p đã s dụng trong b|i II. .
s dụng l nh dsolve để tìm c{c h|m v(t) v| s(t), sau đó vẽ đồ thị s(t) theo v(t) v i t
l| vector có c{c phần t ch y từ đến tmax (tmax l| th i điểm v t đ t đ cao cực
đ i, v n t c t c th i theo ph ơng thẳng đ ng c a ch t điểm bằng khẫng .
ởrong b|i t p n|y sinh viên có thể s dụng ph ơng ph{p s dùng h|m
ode45 để gi i nh sau

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ớh}n tích đ ng học cơ c u 192

v , a
ds dv
dt dt

  ds    
ds dv vdv ds v mv
v a a dv a 0.01v 2  mg
Do a l| h|m theo v theo đầu b|i , ta có thể s dụng h|m ode45 để gi i nh
sau:
>> s0=0;
>> v0=50;
>> vspan = [v0 : -1 : 0];
>> ptvs=@(v,s) 10*v/(-0.01*v^2 - 10*9.81);
>> [v,s]=ode45(ptvs,vspan,s0);
>>grid
>>xlabel(‘Do cao (m)’); ylabel(‘Van toc (m/s)’);

50

40
Van toc (m/s)

30

20

10

0
0 20 40 60 80 100 120
Do cao (m)

Hình 8. 22. Đồ thị bài 8.10

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 193

Chư ng . ỗÝ TồUỤ T ĐI U ỖồI ộ T Đ ộỒ


ởrong ch ơng n|y, sinh viên sẽ đ c gi i thi u m t s ph ơng ph{p để
gi i c{c v n đề cơ b n trong lý thuyết điều khiển tự đ ng s dụng c{c l nh đ c
x}y dựng sẵn trong M‚ởỗ‚‛ v| b cẫng cụ kh o s{t, thiết kế h th ng điều
khiển.

9.1 ọi n đ i ỗaplace

‛ên c nh l nh root đã đ c gi i thi u ch ơng dùng để tìm nghi m c a


đa th c đ c khai b{o d i d ng vector m| c{c phần t c a vector l| c{c h s c a
ma tr n. ởrong mục n|y, chúng ta sẽ l|m quen v i m t l nh kh{c c a M‚ởỗ‚‛
đ c {p dụng để gi i c{c b|i to{n biến đ i ỗaplace trong lý thuyết điều khiển tự
đ ng, đó l| l nh residue. ỗ nh residue cho phép khai triển ph}n th c c a đa th c
t s B(s) v| đa th c m u s A(s) th|nh t ng c a c{c ph}n th c th|nh phần. Cú
ph{p
>>[R, P, K] = residue(B, A)
ởr ng h p khẫng có nghi m lặp

   ...   K ( s)
B( s ) R(1) R(2) R ( n)
A( s) s  P(1) s  P(2) s  P ( n)
ởrong đó R l| vector h s c a c{c ph}n th c th|nh phần, K l| vector h s
B(s)
c a ph}n th c khi b c c a đa th c B(S) l n hơn hoặc bằng b c c a đa th c
A( s )
A(S), P l| vector ch a nghi m m u s c a c{c ph}n th c th|nh phần.
ởr ng h p tồn t i nghi m lặp P( j )  ...  P( j  m  1) v i m l| s lần lặp,
khi đó c{c ph}n th c th|nh phần sẽ bao gồm
R( j  1) R( j  m  1)
...    ...   ...
R( j )
s  P( j ) ( s  P( j )) 2
( s  P(n)) m
ỗ nh residue cễng đ c s dụng để biến đ i t ng c a c{c ph}n th c th|nh
phần biểu di n b i c{c vector R, P, K th|nh ph}n th c c a đa th c ‛ v| ‚.
>>[B, A] = residue(R, P, K)

c c a h|m L( f (t ))( s)  2
1
s 1
Ví dụ: ởìm biến đ i ng

ởr c khi s dụng l nh residue ta cần khai b{o hai đa th c ‚, ‛.


>>B = 1;
>>A = [1 0 -1];

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 194

>>[R, P, K] = residue(B, A)
R =
-0.5000
0.5000
P =
-1
1
K =
[ ]
Ỗết qu tr về cho th y Ỗ l| m t m ng r ng, ph}n th c đã cho t ơng
đ ơng v i:
0.5000
 
1 0.5000
s  1 s  (1.0000) s  1.0000
2

et  e  t
Qua đó ta suy ra đ c biến đ i ng c c a h|m ỗaplace đã cho l|
2
‛ên c nh vi c s dụng l nh residue, biến đ i ỗaplace cễng có thể đ c tính
to{n trong M‚ởỗ‚‛ s dụng b cẫng cụ biến ký hi u v i hai l nh laplace v|
ilaplace.
Ví dụ:
ởìm biến đ i ỗaplace c a h|m f(t) sau đ}y

f (t )  1.25  3.5te2t  1.25e2t


>>syms t s;
>>f = -1.25 + 3.5*t*exp(-2*t) + 1.25*exp(-2*t);
>>F = laplace(f, t, s)
F =
(s-5)/s/(s+2)^2
s 5
ở ơng đ ơng v i F ( s ) 
s( s  2)2
F(s) cễng có thể biểu di n d i d ng d quan s{t nh trên trong M‚ởỗ‚‛
s dụng h|m pretty.
>>pretty(F)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 195

s - 5
----------
2
s (s + 2)
Ỗhi cần tìm biến đ i ng c c a h|m F(s) ta có thể s dụng l nh ilaplace.
>> Ft=ilaplace(F)
Ft =
-5/4+1/4*exp(-2*t)*(14*t+5)
>> simplify(Ft)
ans =
-5/4+7/2*t*exp(-2*t)+5/4*exp(-2*t)
>> pretty(ans)
- 5/4 + 7/2 t exp(-2 t) + 5/4 exp(-2
t)
ng dụng biến đổi Laplace để giải phương trình vi phân.
Cho h th ng cơ khí nh hình d i

K
b

m y(t)

r(t)

Hình 9. 1. Hệ thống lò xo vật nặng

ởrong đó v t nặng chịu t{c đ ng c a m t lực r(t) = 1 v i t  0 , đ c gắn v i

theo th i gian t biểu di n b i y(t). Gi s y(0)  0 , y '(0)  2 , m  1 , b  3 , k  2


m t lò xo có h s k, h s ma s{t gi a t ng v| v t nặng l| b, vị trí c a v t nặng

Định lu t II ộewton viết cho h có d ng

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 196

m 2 y (t )  b y (t )  ky (t )  r (t )
d2 d
dt dt

 y(t )  2 y(t )  1(t )


d2 d
y (t ) 3
dt 2 dt
H|m 1(t)(unit step function) trong M‚ởỗ‚‛ có thể đ c biểu di n b i h|m
heaviside(t)
Đ{p ng y(t)c a h có thể gi i trong M‚ởỗ‚‛ {p dụng biến đ i ỗaplace
nh sau
%Khai bao cac bien
syms Y s t;
%Khai bao ham rt
rt=heaviside(t);
%Bien doi Laplace cua rt
Rs=laplace(rt);
%Bien doi Laplace cua D2y=s^2*Y(s)-s*Y(0)-Dy(0)
Y2=s^2*Y-s*0-2;
%Bien doi Laplace cua Dy=s*Y(s)-y(0)
Y1=s*Y-0;
%Bieu dien Laplace cua dap ung y(t)
Ys=solve(Y2 + 3*Y1 + 2*Y – Rs, Y);
yt=ilaplace(Ys);

Ỗết qu tính: y (t )   e  e t
1 3 2t
2 2

9.2 ọi n đ i z

‛ cẫng cụ biến ký hi u trong M‚ởỗ‚‛ cho phép ng i s dụng thực hi n


c{c phép biến đ i tín hi u r i r c sang miền Z v| ng c l i v i c{c l nh ztrans v|
iztrans.
Cú pháp
>>Fz = ztrans(f)
ởrong đó Fz l| biến đ i z c a h|m ký hi u f
Ví dụ: ởìm biến đ i z c a h|m sau.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 197

x ( n) 
1
u ( n)
4n
Ỗhai b{o biến ký hi u n:
>>syms n
Ỗhai b{o h|m f:
>>f = (1/4^n)*heaviside(n);
ởìm biến đ i z c a f:
>>Fz=ztrans(f)
Fz=
4*z/(4*z-1)
Ví dụ: Tìm tín hi u x(n) biết

X ( z) 
2z
2z  1
C{c b c gi i b|i to{n trong M‚ởỗ‚‛ nh sau
>>syms z;
>>Xz = (2*z)/(2*z-1);
>>xn = iztrans(Xz)
xn =
(1/2)^n
ớhép biến đ i Z ng c cễng có thể đ c thực hi n trong M‚ởỗ‚‛ v i h|m
residuez cho phép khai triển ph}n th c c a đa th c t s B(z) v| đa th c m u s
A(z) th|nh c{c ph}n th c sơ c p, cú ph{p t ơng tự l nh residue.

    k (1)  k (2) z 1  ...


B( z ) r (1) r ( n)
A( z ) 1  p(1) z 1
1  p ( n) z 1
...

ỗ uý đ}y B(z) v| A(z) biểu di n chiều gi m dần h s lễy thừa c a z.

B( z )  b0  b1z 1  b2 z 2  ...  bm z m
A( z )  a0  a1z 1  a2 z 2  ...  an z n
Ví dụ: Tìm biến đ i Z ng c c a tín hi u sau:

X ( z) 
1
(1  z )(1  0.5 z 1)
1

ỡiết l i X(z)d i d ng lễy thừa khẫng }m c a z:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 198

X ( z) 
z2
( z  1)( z  0.5)
C{c b c gi i b|i to{n trong M‚ởỗ‚‛ nh sau
Ỗhai b{o biến ký hi u z:
>>syms z;
Ỗhai b{o đa th c t s v| m u s d i d ng vector ch a c{c h s :
>>B = 1;
>>A = [1 -1.5 0.5];
>>[R, P, K] = residuez(B, A)
R =
2
-1
P =
1.0000
0.5000
K =
[ ]
ộh v y X(z)có thể đ c khai triển th|nh t ng c a c{c ph}n th c sơ c p
nh sau

X ( z)  
2 1
1 z 1
1  0.5 z 1
Ỗh lễy thừa }m trong biểu th c:

X ( z)  
2z z
z  1 z  0.5
ởra b ng để suy ra tín hi u cần tìm:

x(n)  2u(n)  (0.5)n u(n)


Ỗiểm tra l i kết qu bằng l nh ztrans:
>>syms n
>>ztrans(2*heaviside(n) – (1/2)^n*heaviside(n))
ans =
2*z/(z-1)-2*z/(2*z-1)
Vẽ đồ thị điểm cực – điểm không trong M“TL“”

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 199

ỗ nh zplane trong M‚ởỗ‚‛ cho phép ng i s dụng đồ thị điểm cực –


điểm khẫng c a ph}n th c trong đó đa th c t s v| đa th c m u s đ c khai
b{o d i d ng vector ch a c{c h s c a đa th c, c{c điểm cực đ c ký hi u trên
đồ thị bằng điểm x, c{c điểm khẫng đ c ký hi u trên đồ thị bằng điểm o.
ỡí dụ Vẽ đồ thị điểm cực – điểm khẫng.

z 1  z 2
1
H ( z)  2
1  z 1  z 2
3 2
5 25
C{c b c gi i trong M‚ởỗ‚‛ nh sau
Ỗhai b{o đa th c t s ‛ v| đa th c m u s ‚.
>>B = [1 1/2];
>>A = [2 3/5 2/25];
Ở dụng l nh zplane để vẽ đồ thị điểm cực – điểm khẫng
>>zplane(B, A)

Hình 9. 2. Đồ thị điểm cực điểm không

9.2 ợ}y d ng c{c h tuy n tính – dừng

ởrong mục n|y, ng i đọc sẽ đ c gi i thi u c{c ph ơng th c mẫ t h


tuyến tính dừng trong điều khiển t đ ng v i c{c mẫ hình t ơng ng v| c{c phép
biến đ i từ mẫ hình n|y sang mẫ hình kh{c

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 200

- Mẫ hình h|m truyền.


- Mẫ hình điểm khẫng – điểm cực.
- Mẫ hình khẫng gian tr ng th{i.

9.2.1 Ộô hình h|m truy n


a. H có m t đầu v|o v| m t đầu ra
H|m truyền đ c x}y dựng d i d ng m t ph}n th c bao gồm đa th c t
s ‛ v| đa th c m u s ‚ s dụng l nh tf theo m t trong c{c cú ph{p sau
>>sys = tf(B, A);
>>sys = tf(B, A, ‘variable’, ‘p’);
>>sys = tf(B, A, Ts);
>>S = tf(‘s’);
định nghĩa d i d ng h|m h u tỉ c a s
>>Z = tf(‘z’,Ts);
định nghĩa d i d ng h|m h u tỉ c a z
ởrong đó sys l| h tuyến tính dừng
B v| A l| c{c đa th c t s v| m u s có d ng

B(s)  bms m  bm1s m1  ...  b1s  b0


A(s)  an s n  an1s n 1  ...  a1s  a0
v| đ c biểu di n d i d ng vector c a c{c h s th|nh phần.
Ts l| chu kỳ l y m u c a h r i r c.
variable định nghĩa biến biểu di n.
Ví dụ:
>>B1 = [1 2 2];
>>A1 = [1 2 2 1];
>>B2 = [1 -1];
>>A2 = [1 3 2 1];
>>B3 = [1 0];
>>A3 = [1 -1.5 0.5];
>>s1 = tf(B1, A1)
Transfer function:

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 201

s^2 + 2 s + 2
---------------------
s^3 + 2 s^2 + 2 s + 1
>>s2 = tf(B2, A2,’variable’,’p’)
Transfer function:
p - 1
---------------------
p^3 + 3 p^2 + 2 p + 1
>>s3 = tf(B3, A3, 1)
Transfer function:
z
-----------------
z^2 - 1.5 z + 0.5
Sampling time: 1
ỡí dụ: Định nghĩa h|m truyền d i d ng h|m h u tỉ c a s hoặc z.
>>s = tf(‘s’)
Transfer function:
s
>> hs=(s^2+2*s+2)/(s^3+2*s^2+2*s+1)
Transfer function:
s^2 + 2 s + 2
---------------------
s^3 + 2 s^2 + 2 s + 1
>>z = tf(‘z’, 1)
Transfer function:
z
Sampling time: 1
>> hz=z/(z^2-1.5*z+0.5)
Transfer function:
z
-----------------
z^2 - 1.5 z + 0.5
Sampling time: 1

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 202

Đ i v i c{c h đã đ c định nghĩa bằng l nh tf nh trên, ta có thể s dụng


l nh tfdata để tr về c{c vector biểu di n đa th c m u s A v| đa th c t s B theo
cú ph{p:
>>[B, A] = tfdata(sys, ‘v’);
Ví dụ:
>>[B1n, A1n] = tfdata(s1, ‘v’)
B1n =
0 1 2 2
A1n =
1 2 2 1
>>[B2n, A2n] = tfdata(s2, ‘v’)
B2n =
0 0 1 -1
A2n =
1 3 2 1
b. H có nhiều đầu v|o v| nhiều đầu ra
Đ i v i h có nhiều đầu v|o v| nhiều đầu ra, ng is dụng có thể khai
b{o h trong M‚ởỗ‚‛ nh sau
>>sys = tf(num, den)
>>sys = tf(num, den, ‘variable’, ‘p’)
>>sys = tf(num, den, Ts)
ởrong đó num, den l| hai tr ng kích c Ny × Nu v i Ny l| s đầu ra, Nu l|
s đầu v|o, num ch a c{c đa th c t s , den ch a c{c đa th c m u s . C{c tr ng
đ c khai b{o theo c u trúc sau
}
ỡí dụ: Xét h có hai đầu v|o v| hai đầu ra.
>>nums2 = {2 [1 0.5]; [1 0] 2};
>>denum2 = {[4 4 1] [2 1 2]; [1 1] [1 2 1]};
>>Gp22 = tf(nums2, denum2)
Transfer function from input 1 to output...
2
#1: ---------------
4 s^2 + 4 s + 1

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 203

s
#2: -----
s + 1
Transfer function from input 2 to output...
s + 0.5
#1: -------------
2 s^2 + s + 2
2
#2: -------------
s^2 + 2 s + 1

9.2.2 Ộô hình đi m không – đi m c c


a. H có m t đầu v|o v| m t đầu ra
M t h tuyến tính cễng có thể đ c biểu di n theo mẫ hình điểm khẫng –
điểm cực s dụng l nh zpk theo cú ph{p sau
>>sys = zpk(Z, P, K);
>>sys = zpk(Z, P, K, Ts);
>>S = zpk(‘s’)
mẫ hình điểm khẫng – điểm cực v i biến ỗaplace
>>Z = zpk(‘z’, Ts)
mẫ hình điểm khẫng – điểm cực v i biến z
ởrong đó sys l| h tuyến tính.
Z, P, K lần l t l| c{c vector điểm khẫng Z, điểm cực ớ v| h s khuếch đ i
K.
Ts l| chu kỳ l y m u.
ỡí dụ
>> Z1 = [ ];
>> P1 = [-1 -.5 -2];
>> K1 = [2];
>> sz1 = zpk(Z1, P1, K1)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 204

Zero/pole/gain:
2
-------------------
(s+1) (s+0.5) (s+2)
>> Z2 = [-0.5];
>> P2 = [-1+i -1-i -0.5];
>> K2 = 10;
>> sz2 = zpk(Z2, P2, K2)
Zero/pole/gain:
10 (s+0.5)
----------------------
(s+0.5) (s^2 + 2s + 2)
ở ơng tự nhu đ i v i mẫ hình h|m truyền, ta có thể s dụng l nh zpkdata
để tr về c{c gi{ trị điểm khẫng, điểm cực v| h s khuếch đ i c a mẫ hình theo
cú ph{p sau
>>[Z, P, K] = zpkdata(sys, ‘v’)
Ví dụ:
>> [Z2n, P2n, K2n] = zpkdata(sz2, 'v')
Z2n =
-0.5000
P2n =
-1.0000 + 1.0000i
-1.0000 - 1.0000i
-0.5000
K2n =
10
b. H có nhiều đầu v|o v| nhiều đầu ra
Cú ph{p t ơng tự nh đ i v i h có m t đầu v|o v| m t đầu ra, l u ý
đ}y Z v| P l| hai tr ng có kích c Ny × Nu trong đó Z{i, j} v| P{i, j} biểu di n c{c
điểm khẫng v| điểm cực c a h|m truyền từ đầu v|o j t i đầu ra i; K l| ma tr n hai
chiều ch a c{c h s khuếch đ i cho m i kênh v|o/ra.
ỡí dụ: Xét mẫ hình ZPK có hai đầu ra v| m t đầu v|o.
>>H = zpk({[ ]; [2 3]}, {1; [0 -1]}, [-5; 1])
Zero/pole/gain from input to output...

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 205

-5
#1: -----
(s-1)

(s-2) (s-3)
#2: -----------
s (s+1)

9.2.3 Ộô hình không gian tr ng th{i


Mẫ hình tr ng th{i t ng qu{t viết d i d ng ma tr n

x  Ax  Bu
d
dt
y  Cx  Du
ỗ nh ss trong M‚ởỗ‚‛ cho phép biểu di n h th ng theo mẫ hình khẫng
gian tr ng th{i s dụng cú ph{p sau
>>sys = ss(A, B, C, D)
>>sys = ss(M, N, C, D, Ts)
ởrong đó A, M l| ma tr n tr ng th{i c a h liên tục v| r i r c
B, N l| ma tr n đầu v|o c a h liên tục v| r i r c
C l| ma tr n đầu ra
D l| ma tr n liên thẫng c a mẫ hình tr ng th{i
Ts l| th i gian quét m u
ỡí dụ ợét h ph ơng trình vi ph}n tuyến tính v i c{c biến tr ng th{i h1, h2,
biến đầu v|o u v| biến đầu ra q.

 2h1  3h2  2v
dh1
dt

 4h1  h2  v
dh2
dt

q  h1  2h2  v
1
2
H có thể đ c viết l i d i d ng ma tr n

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 206

x  Ax  Bu
d
dt
y  Cx  Du
v i c{c vector đầu v|o u, vector đầu ra y v| vector tr ng th{i x

u  v y  q
h 
x 1
 h2 

C  1 2
 2 3  2 
A  B  D
1
 4 1  1 2
ởrong M‚ởỗ‚‛ ta có thể thiết l p mẫ hình khẫng gian tr ng th{i nh sau
>>A = [-2 3; 4 -1];
>>B = [2; -1];
>>C = [1 -2];
>>D = [1/2];
>>ht_ss = ss(A, B, C, D)
a =
x1 x2
x1 -2 3
x2 4 -1

b =
u1
x1 2
x2 -1

c =
x1 x2
y1 1 -2
d =
u1
y1 0.5
Continuous-time model.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 207

Ỗhi đã có mẫ hình khẫng gian tr ng th{i, ng i dùng có thể truy xu t l i


c{c ma tr n th|nh phần A, B, C, Ds dụng l nh ssdata theo cú ph{p:
>>[A, B, C, D] = ssdata(sys, ‘v’];
>>[M, N, C, D, Ts]

. . Chuy n đ i gi a c{c mô hình


Trong M‚ởỗ‚‛, vi c chuyển đ i từ mẫ hình n|y sang mẫ hình kh{c gi a
c{c mẫ hình gi i thi u trong ch ơng n|y l| kh{ d d|ng, xét ví dụ sau Chuyển
đ i từ mẫ hình khẫng gian tr ng th{i sang mẫ hình h|m truyền.
ợét mẫ hình khẫng gian tr ng th{i gi i thi u mục 2.2.2, mẫ hình n|y có
thể chuyển đ i sang mẫ hình h|m truyền s dụng l nh ss2tf theo cú ph{p sau
>>[num, den] = ss2tf(A, B, C, D);
ởrong đó gi{ trị tr về num, den lần l t l| c{c vector đa th c t s v|
m u s c a mẫ hình h|m truyền.
num =
0.5000 5.5000 -18.0000
den =
1 3 -10
>>F = tf(num, den)
Transfer function:
0.5 s^2 + 5.5 s - 18
--------------------
s^2 + 3 s – 10
‛ên c nh đó M‚ởỗ‚‛ cễng cho phép chuyển đ i tự đ ng đ i t ng từ
d ng mẫ hình n|y sang mẫ hình kh{c s dụng c{c l nh định nghĩa mẫ hình gi i
thi u trên ts, zpk, ss.
Ví dụ:
>> F2 = tf(ht_ss)
Transfer function:
0.5 s^2 + 5.5 s - 18
--------------------
s^2 + 3 s – 10

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 208

9.2.5 Đặc tính th i gian tr trong h|m truy n


Để thể hi n đặc tính th i gian tr trong c{c h|m truyền ta có thể đ a thêm
tham s v|o l nh tf hoặc thay đ i thu c tính c a mẫ hình bằng c{ch s dụng l nh
set nh trong hai ví dụ sau
ỡí dụ: S dụng tham s trong l nh tf.
>>Q = tf(num, den, ‘Inputdelay’, 2)
Transfer function:
0.5 s^2 + 5.5 s - 18
exp(-2*s) * --------------------
s^2 + 3 s – 10
ỡí dụ: S dụng l nh set để thay đ i thu c tính h|m truyền.
>>set(Q, ‘Inputdelay’, 0.5)
>>Q
Transfer function:
0.5 s^2 + 5.5 s - 18
exp(-0.5*s) * --------------------
s^2 + 3 s - 10

9.2.6 Ồhép n i c{c mô hình


C{c mẫ hình h th ng tuyến tính – dừng có thể đ c ghép n i trong
M‚ởỗ‚‛ theo c{c ph ơng th c n i tiếp l nh series , song song l nh parallel),
ghép có ph n hồi l nh feedback).
ỡí dụ: Ghép n i tiếp hai mẫ hình G v| G .
>>G1 = tf([1], [10, 1])
Transfer function:
1
--------
10 s + 1
>> G2 = tf([1, 2], [2, 3, 2])
Transfer function:
s + 2
---------------
2 s^2 + 3 s + 2
>>G3 = series(G1, G2)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 209

Transfer function:
s + 2
--------------------------
20 s^3 + 32 s^2 + 23 s + 2
‛ên c nh đó M‚ởỗ‚‛ cễng cho phép ng i dùng s dụng m t s phép
to{n cơ b n để thực hi n vi c ghép n i c{c mẫ hình nh phép c ng l nh + , phép
trừ l nh - , phép nh}n l nh * , phép đ o l nh inv).
ỡí dụ: So s{nh kết qu phép nh}n ghép n i G , G v i l nh series.
>>G3m = G1*G2
Transfer function:
s + 2
--------------------------
20 s^3 + 32 s^2 + 23 s + 2
ỡí dụ: So s{nh kết qu tính hồi tiếp }m khi s dụng phép nh}n, phép đ o,
phép c ng v| khi s dụng l nh feedback.
>> G4=G1*inv(1+G1*G2)
Transfer function:
20 s^3 + 32 s^2 + 23 s + 2
--------------------------------------
200 s^4 + 340 s^3 + 272 s^2 + 64 s + 4
%Dua ve dang rut gon
>> G4 = zpk(G4)
Zero/pole/gain:
0.1 (s+0.1) (s^2 + 1.5s + 1)
------------------------------------------
(s+0.2244) (s+0.1) (s^2 + 1.376s + 0.8913)
% Su dung lenh feedback
>> G4m=zpk(feedback(G1, G2))
Zero/pole/gain:
0.1 (s^2 + 1.5s + 1)
----------------------------------
(s+0.2244) (s^2 + 1.376s + 0.8913)
Có thể th y l| khi s dụng feedback thì M‚ởỗ‚‛ tự đ ng rút gọn (s + 0.1) c đa
th c t s v| đa th c m u s .

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 210

9.2.7 Ồi n đ ọode, ộyquist, ộichols v| đ{p ng c a h


ởrong M‚ởỗ‚‛, ng i s dụng có thể vẽ gi n đồ ‛ode, ộyquist, ộichols
c a h bằng c{ch s dụng c{c l nh bode(G1), nyquist(G1), nichols(G1) t ơng ng.
Trong đó, G1 l| h cần kh o s{t, đ{p ng xung v| đ{p ng b c nh y c a h có
thể tìm đ c thẫng qua c{c l nh impuls(G1) v| step(G1).
ỡí dụ: Vẽ gi n đồ ‛ode v| ộyquist c a h sau
>>Gp=zpk([-10],[-0.01],1)
Zero/pole/gain:
(s+10)
--------
(s+0.01)
%Gian do Nyquist
>>nyquist(Gp)
%Gian do Bode
>>bode(Gp)
Nyquist Diagram
500

400

300

200

100

Imaginary Axis 0

-100

-200

-300

-400

-500
-200 0 200 400 600 800 1000
Real Axis

Hình 9. 3. Đồ thị Nyquist c a Gp

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 211

Bode Diagram
60

40

Magnitude (dB)
20

0
0

Phase (deg) -45

-90
-4 -2 0 2
10 10 10 10
Frequency (rad/sec)

Hình 9. 4. Đồ thị Bode c a Gp

ỡí dụ: X{c định đ{p ng xung.


Step Response
0.7

0.6

0.5

Amplitude 0.4

0.3

0.2

0.1

0
0 2 4 6 8 10 12
Time (sec)

Hình 9. 5. Đáp ng bước nhảy c a PROCESS

>>PROCESS = tf([1], [1 4 4 2])

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 212

Transfer function:
1
---------------------
s^3 + 4 s^2 + 4 s + 2
>>step(PROCESS)

9.3 Tóm tắt chư ng 9


ọi n đ i ỗaplace v| bi n đ i z
laplace ‛iến đ i ỗaplace thu n
ilaplace ‛iến đ i ỗaplace ng c
heaviside(t) ‛iểu di n h|m 1(t)
residue ớh}n tích đa th c h u tỉ th|nh t ng c{c đa th c th|nh phần
ztrans ‛iến đ i z thu n
iztrans ‛iến đ i z ng c
residuez Ỗhai triển đa th c ẩn z th|nh t ng c{c đa th c th|nh phần
zplane ‛iểu di n đồ thị điểm cực – điểm khẫng
ợ}y d ng c{c h tuy n tính – dừng
tf Mẫ hình h|m truyền
zpk Mẫ hình điểm khẫng – điểm cực – h s khuếch đ i
ss Mẫ hình khẫng gian tr ng th{i
tfdata ởr về c{c yếu t th|nh phần c a mẫ hình tf
zpkdata ởr về c{c yếu t th|nh phần c a mẫ hình zpk
ssdata ởr về c{c yếu t th|nh phần c a mẫ hình ss
ss2tf Chuyển đ i từ mẫ hình khẫng gian tr ng th{i sang h|m
truyền
ss2zp Chuyển đ i từ mẫ hình khẫng gian tr ng th{i sang điểm
khẫng – cực
tf2ss Chuyển đ i từ mẫ hình h|m truyền sang khẫng gian tr ng
th{i

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 213

tf2zp Chuyển đ i từ mẫ hình h|m truyền sang điểm khẫng - cực


zp2ss Chuyển đ i từ mẫ hình điểm khẫng – cực sang khẫng gian
tr ng th{i
zp2tf Chuyển đ i từ mẫ hình điểm khẫng – cực sang h|m truyền
series Ghép n i tiếp hai mẫ hình
parallel Ghép song song hai mẫ hình
feedback Ghép n i có hồi tiếp
nyquist ỡẽ gi n đồ ộyquist
bode ỡẽ gi n đồ ‛ode
nichols ỡẽ gi n đồ ộichols
impulse ởìm đ{p ng xung c a h
step ởìm đ{p ng b c nh y c a h

Bảng 9. 1. Tóm tắt các hàm sử dụng trong chương 9

9.4 ọ|i t p chư ng 9

ọ|i 9.1
ớh}n tích đa th c h u tỉ th|nh t ng c{c đa th c th|nh phần, tìm biến đ i
ỗaplace ng c c a

F1 ( s) 
1
s 4  5s 3  7 s 2
Đáp án:
>>b = [0 0 0 0 1];
>>a = [1 5 7 0 0];
>>[r, p, k] = residue(b,a)
r =
0.0510 - 0.0648i
0.0510 + 0.0648i
-0.1020
0.1429

p =

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 214

-2.5000 + 0.8660i
-2.5000 - 0.8660i
0
0
k =
[ ]
ởừ kết qu tính trong M‚ởỗ‚‛ ta có thể biểu di n l i F1(s) nh sau

F1 ( s)   2  3  4
r1 r r r
s  p1 s  p2 s  p3 s  p4
0.0510  0.0648i 0.0510  0.0648i 0.1020 0.1429
F1( s)    
s  (2.5000  0.8660i) s  (2.5000  0.8660i ) s0 s0

‛iến đ i ỗaplace ng c c a F1(s) có thể tính nh sau


>>syms s
>>f1 = 1/(s^4 + 5*s^3 + 7*s^2);
>>ilaplce(f1)
ans =
-5/49+1/7*t+1/147*exp(-
5/2*t)*(15*cos(1/2*3^(1/2)*t)
+11*3^(1/2)*sin(1/2*3^(1/2)*t))
ọ|i .
ởìm biến đ i ỗaplace c a c{c h|m sau

a. f1(t )  7t 3 cos(5t  60)


f 2 (t )  7te5t
c. f3 (t )  3cos(5t )
b.

d. f 4 (t )  t sin(7t )
e. f5 (t )  5e2t cos(5t )
Đáp án:
a.
>>syms t
>>f1t = 7*t^3*cos(5*t + (pi/3));
>>f1s = laplace(f1t)

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 215

f1s =
21*(s^4+625-150*s^2-
20*3^(1/2)*s^3+500*3^(1/2)*s)/(s^2+25)^4
b.
>>f2t = -7*t*exp(-5*t);
>>f2s = laplace(f2t)
f2s =
-7/(s+5)^2
c.
>>f3t = -3*cos(5*t);
>>f3s = laplace(f3t)
f3s =
-3*s/(s^2+25)
d.
>>f4t = t*sin(7*t);
>>f4s = laplace(f4t)
f4s =
14*s/(s^2+49)^2
e.
>>f5t = 5*exp(-2*t)*cos(5*t);
>>f5s = laplace(f5t)
f5s =
5*(s+2)/(s^2+4*s+29)
ọ|i 9.3
ởìm biến đ i Z c a c{c h|m sau:

1
a. x1 (n)   
n

2
b. x2 (n)  e
2n

c. x3 (n)  n

Đáp án:
a.
>>syms n

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 216

>>x1n = (1/2)^n;
>>X1Z = ztrans(x1n)
X1Z =
2*z/(2*z-1)
b.
>>x2n = exp(2*n);
>>X2Z = ztrans(x2n)
X2Z =
z/exp(2)/(z/exp(2)-1)
c.
>>x3n = n;
>>X3Z = ztrans(x3n)
X3Z =
z/(z-1)^2

ọ|i 9.4

a. Cho: X1 ( Z )  
5z 2z
( z  1) ( z  0.5)2
2
tìm biến đ i Z ng c.

b. Cho: X 2 ( Z )  2
10 z
z  z 1
tìm biến đ i Z ng c.

c. X 3 ( Z ) 
z2
( z  1)( z  0.5)2
s dụng l nh residuez ph}n tích X3(Z) th|nh c{c

đa th c h u tỉ th|nh phần rồi tìm biến đ i Z ng c.


z ( z  1)
d. X 4 ( Z ) 
2

( z  1)( z 2  z  0.5)
s dụng l nh residuez ph}n tích X4(Z) th|nh

c{c đa th c h u tỉ th|nh phần.


Đáp án:
a.
>>syms z
>>X1Z = 5*z/(z-1)^2 – 2*z/(z-0.5)^2;
>>x1n = iztrans(X1Z)
x1n =

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 217

5*n-4*(1/2)^n*n

x1(n)  5nu(n)  4n(0.5)n u(n)


b.
>>X2Z = 10*z/(z^2 – z + 1);
>>xn2 = iztrans(X2Z)
x2n =
20/3*3^(1/2)*sin(1/3*pi*n)
x2 (n)  11.547sin(n.60)
c.
>>a = conv(conv([1, -0.5], [1, -0.5]), [1, -1]);
>>b = [0, 1];
>>[r, p, k] = residuez(b, a)
r =
4.0000
-2.0000 - 0.0000i
-2.0000 + 0.0000i
p =
1.0000
0.5000 + 0.0000i
0.5000 - 0.0000i
k =
[ ]
>>X3Z = 4/(1-z^(-1))-2/(1-0.5*z^(-1))-2/((1-0.5*z^(-
1))^2);
>>x3n = iztrans(X3Z)
>>x3n =
4-4*(1/2)^n-2*(1/2)^n*n
2 2
X 3 (Z )   
4
1 z 1
1  0.5 z 1
(1  0.5 z 1) 2
x3 (n)  4u(n)  4(0.5)n u(n)  2n(0.5) n u(n)
d.
>> b=conv([1 0 0],[1,1]);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 218

>> a=conv([1 -1],[1 -1 0.5]);


>> [r,p,k]=residuez(b,a)
r =
4.0000
-1.5000 - 0.5000i
-1.5000 + 0.5000i
p =
1.0000
0.5000 + 0.5000i
0.5000 - 0.5000i
k =
0
1.5  0.5i 1.5  0.5i
X 4 (Z )   
4
1  z 1 1  (0.5  0.5i) z 1 1  (0.5  0.5i) z 1
ọ|i 9.5
ởìm h|m truyền cho c{c h sau K = 10, K1 = 100, K2 = 150).
a.

R(s) + 1 Y(s)
s ( s  1)
K
-

Hình 9. 6. Hình bài 9.5a

b.

R(s) + 10 Y(s)
- s( s  1)  20

K1  K 2 s
s
Hình 9. 7. Hình bài 9.5b
c.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 219

R(s) + s 1 Y(s)
s  s2
3
-

Hình 9. 8. Hình bài 9.5c

Đáp án:

G(s)  K 
1 K
s( s  1) s( s  1)
a. Gọi

ởa có Y (s)  ( R(s)  Y (s))G(s)

s( s  1)
K
    2
Y ( s) G( s) K K
R( s) 1  G ( s ) 1  K s ( s  1)  K s  s  K
s( s  1)
C{c b c gi i trong M‚ởỗ‚‛ nh sau
>>syms s
>>Gs = tf(10, sym2poly(s*(s+1)));
>>Hs = feedback(Gs, 1)
Transfer function:
10
------------
s^2 + s + 10
b. H|m truyền h
>>Gs = tf(10, sym2poly(s*(s+1)+20));
H|m truyền hồi tiếp
>>Ms = tf([150, 100], [1, 0]);
H|m truyền c a h
>>Hs = feedback(Gs, Ms)

Transfer function:
10 s

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 220

-------------------------
s^3 + s^2 + 1520 s + 1000
c. H|m truyền h
>>Gs = tf([1, 1], [1, 1, 0, 0]);
H|m truyền c a h
>>Hs = feedback(Gs, 1)
Transfer function:
s + 1
-----------------
s^3 + s^2 + s + 1
ọ|i 9.6
ợ{c định vị trí c{c điểm cực c a h có h|m truyền nh sau

s3  6s 2  7 s  15
H ( s) 
s5  s 4  5s3  9s 2  11s  12
Đáp án:
C{c điểm cực l| nghi m c a đa th c m u s
>>den = [1 1 -5 -9 11 -12];
>>A = roots(den)
A =
-2.1586 + 1.2396i
-2.1586 - 1.2396i
2.3339
0.4917 + 0.7669i
0.4917 - 0.7669i
ọ|i 9.7
ợ{c định vị trí c{c điểm cực c a h|m truyền đơn vị có h|m truyền h

G( s) 
150
( s  5)( s  7)( s  9)( s  11)
Đáp án:
Ỗhai b{o h|m truyền h
>>syms s
>>Gs = tf(150, sym2poly((s+5)*(s+7)*(s+9)*(s+11)))

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 221

Transfer function:
150
--------------------------------------
s^4 + 32 s^3 + 374 s^2 + 1888 s + 3465
H|m truyền c a h
>>Hs = feedback(Gs, 1)
Transfer function:
150
--------------------------------------
s^4 + 32 s^3 + 374 s^2 + 1888 s + 3615
ợ{c định c{c điểm cực
>>pole(Hs)
ans =
-10.9673 + 1.9506i
-10.9673 - 1.9506i
-5.0327 + 1.9506i
-5.0327 - 1.9506i
ọ|i .
ởìm đ{p ng đ i v i h|m b c đơn vị c a h sau

s 1
R(s) + 10 Y(s)

- s2

Hình 9. 9. Hình bài 9.8

Đáp án:
>>syms s t
>>G1 = tf([1, 1], [1]);
>>G2 = tf([10], [1, 0, 0]);
H|m truyền vòng h
>>Gs = series(G1, G2);

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 222

H|m truyền c a h
>>Hs = feedback(Gs, 1)
Transfer function:
10 s + 10
---------------
s^2 + 10 s + 10
Đ{p ng c a h
>>step(Hs)
Ởinh viên có thể tự kiểm tra bằng c{ch tìm h|m ỗaplace c a h|m b c đơn vị
để suy ra gi{ trị c a đầu v|o R(s).
>>Rs = laplace(heaviside(t))
Rs =
1/s
ởính Y s theo H s v| ờ s đã biết:
Y (s)  R(s) H (s)

Step Response
1.4

1.2

1
Amplitude

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2 2.5 3 3.5
Time (sec)

Hình 9. 10. Đồ thị bài 9.8

Đồ thị đ{p ng c a h chính l| đồ thị c a h|m y(t) v i y(t) l| biến đ i Laplace


ng c c a Y s .
ỗ u ý đ}y mu n thực hi n b c tính Y s theo ờ s v| H s sau đó biến đ i
ỗaplace ng c để ra y t cần khai b{o l i biến Ys l| biểu th c biến ký hi u.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 223

ọ|i 9.9
ỏùng M‚ởỗ‚‛ vẽ biểu đồ ‛ode c a c{c h cho b i h|m truyền nh sau

a. G ( s ) 
1
2s  1
b. G ( s)  2
4
s s4
Đáp án:
a.
Ỗhai b{o h|m truyền c a h
>>syms s
>>G = tf([1], [2 1])
Transfer function:
1
-------
2 s + 1
ỡẽ đồ thị ‛ode
>>bode(G)

Bode Diagram
0
Magnitude (dB)

-10

-20

-30
0
Phase (deg)

-45

-90
-2 -1 0 1
10 10 10 10
Frequency (rad/sec)

Hình 9. 11. Đồ thị bài 9.9a

b.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 224

Bode Diagram
20

Magnitude (dB)
-20

-40

-60

-80
0

-45
Phase (deg)

-90

-135

-180
-1 0 1 2
10 10 10 10
Frequency (rad/sec)

Hình 9. 12. Đồ thị bài 9.9b


>>G = tf([4], [1 1 4])

Transfer function:
4
-----------
s^2 + s + 4
>>bode(G)

ọ|i 9.10
ỏùng M‚ởỗ‚‛ vẽ đồ thị ộyquist v| ộichols c a h cho b i h|m truyền sau
k ( s  1)( s  3  7i)( s  3  7i)
G(s) 
( s  1)( s  3)( s  5)( s  3  7i)( s  3  7i)
(k = 30)

Đáp án:
ỗ uýh đ}y cễng có thể đ c khai b{o theo vector điểm khẫng, điểm cực
rồi đ a về mẫ hình h|m truyền bằng l nh zp2tf.
Ỗhai b{o theo mẫ hình h|m truyền v i c{c đa th c t s v| đa th c m u s
>>syms s

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 225

>>nG = sym2poly(30*(s+1)*(s+3+7i)*(s+3-7i));
>>dG = sym2poly((s+1)*(s+3)*(s+5)*(s+3+7i)*(s+3-7i));
>>G = tf(nG, dG)

Nyquist Diagram
1.5

0.5
Imaginary Axis

-0.5

-1

-1.5
-1 -0.5 0 0.5 1 1.5 2
Real Axis

Hình 9. 13. Đồ thị Nyquist c a hệ

Nichols Chart
40
0 dB
0.25 dB
0.5 dB
20 1 dB -1 dB
3 dB
6 dB -3 dB
Open-Loop Gain (dB)

0 -6 dB
-12 dB
-20 -20 dB

-40 -40 dB

-60 -60 dB

-80 dB
-80
-360 -315 -270 -225 -180 -135 -90 -45 0
Open-Loop Phase (deg)

Hình 9. 14. Đồ thị Nichols c a hệ

Ỗhai b{o theo điểm khẫng, điểm cực rồi đ a về mẫ hình h|m truyền, đa th c
t s v| đa th c m u s đ c biểu di n d i d ng c{c vector h s
>>z = [-1 -3-7i -3+7i]’;
>>p = [-1 -3 -5 -3-7i -3+7i]’;
>>k = 30;

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
Ch ơng . ỗý thuyết điều khiển tự đ ng 226

>>[num, den] = zp2tf(z, p, k)


num =
0 0 30 210 1920
1740
den =
1 15 135 675 1424
870
Ởo s{nh h|m truyền khai b{o bằng l nh tf.
>>G
Transfer function:
30 s^3 + 210 s^2 + 1920 s + 1740
-----------------------------------------------
s^5 + 15 s^4 + 135 s^3 + 675 s^2 + 1424 s + 870
ỡẽ đồ thị ộyquist:
>>nyquist(G)
Hoặc có thể s dụng l nh
>>nyquist(num, den)
ỡẽ đồ thị ộichol:
>>nichol(G)
>>ngrid
Hoặc cễng có thể s dụng l nh
>>nichols(num, den).

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ớhụ lục. M t s b cẫng cụ ng dụng chuyên s}u trong MATLAB 227

Ộ T Ở ọ C4ộỒ C ộỒ ỏ ộỒ CồUỤÊộ ỞỨU


TRONG MATLAB

1. Simulink

Ởimulink l| mẫi tr ng sơ đồ kh i cho phép mẫ ph ng v| thiết kế c{c mẫ hình.

‛ên c nh ch c năng mẫ ph ng, Ởimulink h tr ng i dùng trong vi c thiết l p tự

đ ng c{c đo n mã, kiểm th liên tục v| x{c nh n c{c h th ng nhúng.

Ởimulink cho phép x lý đồ họa d i d ng sơ đồ kh i, thiết l p c{c th vi n kh i

cễng nh cung c p gi i ph{p mẫ hình, mẫ ph ng h đ ng lực. Ởimulink đ c tích

h p v i M‚ởỗ‚‛ v| cho phép ng i s dụng kết h p c{c thu t to{n M‚ởỗ‚‛

v|o c{c mẫ hình cễng nh xu t kết qu mẫ ph ng ra M‚ởỗ‚‛ cho c{c b c ph}n

tích kh{c.

M t s tính năng chính c a Ởimulink

- ợ}y dựng mẫ hình h th ng phụ ph}n c p v i c{c kh i định nghĩa sẵn.


- Mẫ ph ng đ ng lực mẫ hình v| kiểm tra kết q a d i d ng ch y mẫ
ph ng.
- ớh}n tích kết qu mẫ ph ng xem v| g l i mẫ ph ng
- Qu n lý c{c dự {n d d|ng qu n lý c{c file cễng nh d li u th|nh phần
c a c{c dự {n.
- Ỗết n i v i phần c ng v i mẫ hình cho c{c b c kiểm tra th i gian thực v|
ph{t triển c{c h th ng nhúng.

Hình P. 1. Thư viện Simulink

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ớhụ lục. M t s b cẫng cụ ng dụng chuyên s}u trong MATLAB 228

2. SimMechanics

ỞimMechanics cung c p mẫi tr ng mẫ ph ng h nhiều v t cho c{c h th ng cơ

khí ỏ nh robot, h th ng gi m xóc xe, c{c thiết bị x}y dựng cễng nh c{c h

th ng h c{nh c a m{y bay. ộg i s dụng mẫ hình hóa h nhiều v t v i c{c kh i

đ i di n cho c{c kh}u, kh p, liên kết, v| c{c lực th|nh phần, phần vi c tiếp theo

c a ỞimMechanics l| thiết l p v| gi i c{c ph ơng trình đ ng học cho to|n b cơ

h . Mẫ hình x}y dựng từ c{c ch ơng trình thiết kế v i sự h tr c a m{y tính

C‚ỏ bao gồm c{c yếu t nh kh i l ng, qu{n tính, kh p, liên kết v| thiết kế

hình học ỏ đều có thể đ c đ a v|o v| x lý trong ỞimMechanics. M t mẫ

ph ng ỏ c a mẫ hình đ ng lực học đ c thiết l p m t c{ch tự đ ng cho phép

ng i s dụng quan s{t chuyển đ ng c a mẫ hình.

ộg i s dụng có thể thiết l p c{c thẫng s đặc tr ng cho mẫ hình v i c{c biến

cễng nh c{c ph ơng ph{p biểu di n trong M‚ởỗ‚‛, đồng th i thiết kế h điều

khiển cho mẫ hình h nhiều v t trong Ởimulink. ‛ên c nh đó, c{c th|nh phần đi n,

th y lực, khí nén cễng có thể đ c đ a v|o mẫ hình cơ khí bằng Ởimscape v|

kiểm tra t t c c{c th|nh phần trong m t mẫ hình mẫ ph ng riêng. Để triển khai

c{c mẫ hình thiết kế trong c{c mẫi tr ng mẫ ph ng kh{c, bao gồm c kỹ thu t

phần c ng trong vòng lặp HIỗ hardware-in-the-loop , ỞimMechanics h tr

ng i dùng thiết l p c{c đo n mã C v i ỞimulinkCoder.

Hình P. 2. Mô hình bộ phận hạ cánh c a máy bay trong SimMechanics

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ớhụ lục. M t s b cẫng cụ ng dụng chuyên s}u trong MATLAB 229

3. SimElectronics

ỞimỐlectronics cung c p c{c th vi n th|nh phần cho phép mẫ hình v| mẫ ph ng

c{c h th ng đi n t v| cơ đi n t . C{c th vi n bao gồm mẫ hình b{n d n, đ ng

cơ, c m biến v| c{c cơ c u ch p h|nh C{c mẫ hình n|y có thể đ c s dụng để

ph{t triển c{c h cơ đi n ch p h|nh cễng nh x}y dựng c{c mẫ hình h|nh vi để

đ{nh gi{ kiến trúc m ch t ơng tự trong Ởimulink.

C{c mẫ hình ỞimỐlectronics có thể đ c s dụng để ph{t triển c{c thu t to{n điều

khiển trong c{c h th ng đi n t v| cơ đi n t , bao gồm c đi n t th}n xe, cơ c u

tùy đ ng m{y bay, h th ng khuếch đ i. C{c mẫ hình b{n d n bao gồm c{c nh

h ng phi tuyến v| nhi t đ ng lực, cho phép ng i s dụng lựa chọn c{c yếu t

trong c{c b khuếch đ i, b biến đ i t ơng tự - s , giai đo n khóa lặp, v| c{c m ch

kh{c ở ơng tự nh ỞimMechanics, ỞimỐlectronics cễng h tr ng i dùng

trong vi c đ a v|o c{c th|nh phần bên ngo|i nh đi n, th y lực, khí nén v|

triển khai c{c mẫ hình thiết kế trong c{c mẫi tr ng mẫ ph ng kh{c v i Ởimscape

v| ỞimulinkCoder.

Hình P. 3. Mô hình cơ điện

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ớhụ lục. M t s b cẫng cụ ng dụng chuyên s}u trong MATLAB 230

4. Symbolic Math Toolbox

‛ cẫng cụ biến ký hi u cung c p c{c h|m để gi i v| biến đ i c{c biểu th c to{n

học biểu t ng v| c{c phép to{n s học. ộg i dùng có thể thực hi n c{c phép

tính tích ph}n, đ o h|m, t i gi n, biến đ i v| gi i ph ơng trình. ộg i dùng đồng

th i cễng có thể viết c{c đo n mã cho M‚ởỗ‚‛, Ởimulink, v| Ởimscape từ c{c

biểu th c to{n học v i sự tr giúp c a b cẫng cụ n|y.

‛ cẫng cụ biến ký hi u s dụng ngẫn ng MuPAD, đ c t i u hóa cho c{c thao

t{c v| x lý c{c biểu th c to{n học ký hi u. ộó cung c p c{c th vi n h|m c a

MuPAD trong c{c lĩnh vực to{n học thẫng dụng nh gi i tích v| đ i s tuyến tính

v| trong c{c lĩnh vực chuyên ng|nh nh lý thuyết s v| t h p. Ta cễng có thể viết

tùy chỉnh ch c năng biểu t ng v| c{c th vi n bằng ngẫn ng Muớ‚ỏ. ng

dụng MuPAD Notebook cho phép ng i dùng thiết l p c{c văn b n to{n học c{c

đo n ký tự nhúng, đồ họa, v| b ký hi u to{n học. ộh ng văn b n n|y có thể

đ c chia sẻ d i d ng HởMỗ hoặc ớỏố. giao di n Muớ‚ỏ ộotebook

Hình P. 4. Giao diện MuPAD Notebook

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ớhụ lục. M t s b cẫng cụ ng dụng chuyên s}u trong MATLAB 231

5. Control System Toolbox

‛ cẫng cụ h th ng điều khiển cung c p c{c thu t to{n tiêu chuẩn cẫng nghi p v|

c{c ng dụng cho h th ng ph}n tích, thiết kế, v| điều chỉnh c{c h th ng điều

khiển tuyến tính. ộg i s dụng có thể định nghĩa h th ng d i d ng h|m

truyền, khẫng gian tr ng th{i, mẫ hình điểm khẫng – điểm cực, hoặc mẫ hình đ{p

ng tần s . C{c ng dụng v| h|m đi kèm nh đ{p ng b c v| gi n đồ ‛ode, cho

phép ng i s dụng hình dung h th ng trong miền th i gian v| miền tần s . ‛

cẫng cụ cễng cho phép điều chỉnh c{c thẫng s bù s dụng b điều chỉnh PID,

quỹ tích nghi m s , thiết kế LQR/LQG, c{c kỹ thu t t ơng t{c v| tự đ ng kh{c.

ộg i dùng có thể kiểm th thiết kế c a mình bằng c{ch kiểm tra th i gian qu{

đ , đ vọt l , th i gian x{c l p, đ dự tr biên đ v| biên pha cễng nh c{c yêu

cầu kh{c.

Hình P. 5. Giao diện Control and Estimation Tools Manager

6. Image Processing Toolbox

‛ cẫng cụ x lý nh cung c p m t t p h p to|n di n c{c thu t to{n tham kh o

tiêu chuẩn, h|m v| c{c ng dụng phục vụ x lý nh, ph}n tích, trực quan, v| ph{t

triển thu t to{n. ộg is dụng có thể thực hi n c{c b c tăng c ng nh, xóa

m , ph{t hi n c{c đặc điểm, gi m nhi u, ph}n vùng nh, biến đ i hình học v| kết

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ớhụ lục. M t s b cẫng cụ ng dụng chuyên s}u trong MATLAB 232

h p đa nh. ộhiều ch c năng c a b cẫng cụ đ c đa luồng để t n dụng u điểm

c a c{c m{y tính đa lậi v| đa vi x lý.

‛ cẫng cụ x lý nh h tr l|m vi c trên m t t p h p đa d ng c a c{c lo i nguồn

nh, bao gồm c gi i t ơng ph n đ ng m r ng, đ ph}n gi i m c gigapixel, chụp

cắt l p Ch c năng trực quan cho phép ng i dùng quan s{t hình nh, kiểm tra

c{c vùng c a c{c điểm nh, điều chỉnh đ t ơng ph n, t o đ ng nét hoặc biểu

đồ, thao t{c trên c{c vùng quan t}m Region of Interests ROIs . ỡ i c{c thu t to{n

m| b cẫng cụ h tr , ta có thể khẫi phục l i hình nh bị suy tho{i, ph{t hi n v| đo

l ng c{c thu c tính, ph}n tích hình d ng v| kết c u cễng nh điều chỉnh c}n

bằng m|u sắc.

Hình P. 6. ng dụng Image Processing Toolbox trong việc xác định ô tô từ video giao thông

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ở|i li u tham kh o 233

TủI ỗI U TồỌỘ Ỗồ Ớ

ộguy n ớhỂng Quang. M“TL“”&SIMULINK dành cho kỹ sư điều khiển tự động,

ộh| xu t b n Ỗhoa học v| Ỗỹ thu t, H| ộ i, .

Stormy Attaway. MATLAB: A Practical Introduction to Programming and Problem

Solving, 2nd Edition. Butterworth - Heinemann Newton, MA, USA, 2011.

Patrick Marchand, O. Thomas Holland. Graphics and GUIs with MATLAB. CRC

Press, Inc. Boca Raton, FL, USA, 2003.

Dan B. Marghitu. Mechanisms and Robots Analysis with MATLAB. Springer

Publishing Company, Incorporated, 2009.

R. V. Dukkipati. MATLAB: An Introduction with Applications. New Age

International Publishers, New Delhi, India, 2010.

R. V. Dukkipati, J. Srinivas. Solving Engineering Mechanics Problems with

MATLAB. New Age International Publishers, New Delhi, India, 2007.

R. V. Dukkipat. Analysis & Design of Control Systems Using MATLAB. New Age

International (P) Limited New Delhi, India, 2009.

Giáo trình M“TL“”: Interactive Course c a tr ng Eindhoven University of

Technology, ồ| ỗan.

Giáo trình M“TL“”: “ Guide to Using M“TL“” in Statics c a tr ng Arizona

Ởtate University, Ộỹ.

Giáo trình M“TL“”: Sample Problems from Solving Statics Problems in M“TL“”

c a tr ng Ohio State University, Ộỹ.

Giáo trình M“TL“” c a tr ng Texas Ọ&Ộ University, Ộỹ.

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ỏanh mục h|m 234

ỏỌộồ Ộ C ồủỘ

conj(x), 61
A cross, 34, 167, 169

abs(x), 5, 61
D
angle(x), 61

Ans, 13 det, 33, 38

area, 108, 109, 110, 115, 147, 151, 152 diag, 28, 38, 41

axis, 134, 138, 139, 145, 147, 150, 156, diff, 58, 59, 61, 65, 66, 75, 76, 77, 79,

157, 161, 162, 164, 165, 168, 171 81, 82, 83, 84, 178, 182

disp, 9, 10, 13, 48, 91, 94, 97, 111, 114,


B 118

dot, 33
bar, 147, 155, 157

bode, 204, 207, 217, 218


E
break, 124

else, 112, 114, 115, 116, 117, 120, 124,


C 160, 162, 184

elseif, 112, 116, 117, 118, 124


case, 118, 124
end, 38, 90, 91, 97, 100, 110, 111, 114,
cell, 86, 88, 103, 104
115, 116, 117, 118, 119, 120, 121, 122,
celldisp, 90, 103
123, 124, 127, 160, 162, 184
cellplot, 90, 103
error, 124
cellstr, 91, 92, 103
eye, 28, 38, 41
clc, 7, 158
ezplot, 134, 135, 139, 147
clear, 6, 17, 53, 71, 158

close, 35, 42, 135, 147, 158, 165

close all, 135, 147, 158

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ỏanh mục h|m 235

F if, 112, 113, 114, 115, 116, 117, 118,

120, 124, 125, 126, 160, 162, 184


feedback, 202, 203, 207, 213, 214, 215,
ilaplace, 188, 189, 190, 206
216
imag(x), 61
fieldnames, 95, 103
impulse, 207
figure, 135, 145, 147, 153, 182
Inf, 13, 16, 33
fill, 147, 149, 150
input, 7, 13, 19, 109, 114, 115, 118, 123,
for, 47, 91, 97, 100, 119, 120, 121, 124,
196, 197, 198
127, 162
inv, 32, 33, 35, 38, 203
fplot, 147, 155
iscellstr, 92, 103
fprintf, 10, 13, 18, 19, 20, 21, 48, 52, 94,
isstruct, 95, 103
100, 109, 111, 112, 114, 115, 120, 121,
iztrans, 190, 191, 206, 211
122, 123, 161

fscanf, 8, 9, 13, 17
L

G laplace, 188, 190, 206, 209, 216

legend, 147
grid, 135, 147, 153, 182, 186
length, 30, 31, 90, 91, 92, 97, 100, 120,
gtext, 139, 147
130

line, 138, 139, 147


H
linspace, 24, 39, 138, 145, 149, 152,
heaviside(t), 190, 206, 216 156, 157
help, 12, 75, 109, 110, 129 load, 7, 8, 13, 17, 106
hold, 131, 132, 135, 136, 138, 139, 147, loglog, 147
161, 162, 168, 171 lookfor, 12

I M

i,j, 13, 144 mesh, 144, 145, 148, 153

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ỏanh mục h|m 236

meshgrid, 144, 145, 148, 152, 153, 154 Q

quad, 57, 58, 61, 64


N
quiver, 147, 167, 168, 171
NaN, 13, 16

nichols, 204, 207, 220 R


nyquist, 204, 207, 220
rank, 33, 38

real(x), 61
O
repmat, 96, 103
ode23, 59, 61, 66
residue, 187, 188, 191, 206, 207
ode45, 59, 60, 61, 66, 186
residuez, 191, 192, 206, 210, 211, 212
ones, 27, 38, 41, 43, 45
rref, 37, 38, 41, 42, 43, 45
otherwise, 118, 124

S
P
series, 202, 203, 207, 216
parallel, 202, 207
shading, 145, 146, 148, 154, 155
Pi, 13
size, 30, 31, 90, 127
plot, 129, 130, 131, 132, 134, 135, 136,
ss, 199, 200, 201, 206
138, 139, 140, 141, 147, 149, 161, 162,
ss2tf, 201, 206
163, 164, 168, 171, 175, 176, 177, 182,
ss2zp, 206
183
ssdata, 201, 206
plot3, 140, 141, 142, 143, 148, 153
stairs, 147, 155, 156
plotyy, 137, 147, 150
step, 190, 204, 206, 207, 216
polar, 147, 149
struct, 93, 96, 99, 101, 102, 103, 105
poly2sym, 71, 78
subplot, 145, 147, 183
polyder, 58, 61
sum, 74, 98, 100, 120
prod, 120
surf, 145, 146, 148, 152, 154, 155

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t
ỏanh mục h|m 237

switch, 112, 114, 118, 124 whos, 6, 92

sym2poly, 71, 78, 213, 215, 219


X

T
xlabel, 135, 140, 142, 143, 145, 147,

text, 7, 135, 139, 147, 161, 162 149, 152, 161, 162, 164, 168, 171, 175,

tf, 194, 195, 196, 201, 202, 205, 206, 176, 177, 182, 183, 186

213, 214, 215, 217, 218, 219, 220

tf2ss, 206 Y

tf2zp, 207
ylabel, 135, 140, 142, 143, 145, 147,
tfdata, 196, 206
149, 150, 152, 161, 162, 164, 168, 171,
title, 135, 142, 143, 147, 149, 161, 162,
175, 176, 177, 182, 183, 186
164, 168, 171

Z
V
zeros, 27, 38, 39, 41, 42, 104
view, 141, 142, 143, 148
zp2ss, 207

zp2tf, 207, 218, 220


W
zpk, 197, 198, 201, 203, 204, 206

warning, 124 zpkdata, 198, 206

while, 119, 121, 122, 123, 124 zplane, 193, 206

who, 6 ztrans, 190, 191, 192, 206, 210

Ỗhoa Cơ học kỹ thu t & ởự đ ng hóa – Đ i học Cẫng ngh M‚ởỗ‚‛ v| ng dụng trong Cơ kỹ thu t

You might also like