Tài liệu Bài giảng Ứng dụng máy tính trong tính toán thiết kế ô tô: TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YấN
KHOA CƠ KHÍ ĐỘNG LỰC
BÀI GIẢNG
HỌC PHẦN: ỨNG DỤNG MÁY TÍNH TRONG TÍNH
TOÁN THIẾT KẾ ễ Tễ
SỐ TÍN CHỈ: 02
LOẠI HèNH ĐÀO TẠO: ĐẠI HỌC CHÍNH QUY
NGÀNH: CễNG NGHỆ KỸ THUẬT ễ Tễ
Hưng Yờn - 2015
1
Lời nói đầu :
‚Môn ứng dụng Matlap trong kỹ thuật ô tô’’ đ-ợc biên soạn nhằm giúp các bạn
là sinh viên các ngành khoa học kỹ thuật nắm đựoc cơ sở của phần mềm trợ giúp
tính toán Matlap ,qua đó dùng Matlap để giải quyết các bài tập lớn ,đồ án ,luận văn
tốt nghiệp .Matlap thực sự là một phần mềm rất mạnh ,vừa có khả năng lập trình
nh- nhiều ngôn ngữ khác ,vừa là một môi tr-ờng tính toán thực dụng có thể dùng
ngay hàng trăm hàm và ch-ơng trình con đã đ-ợc lập trình sẵn để giải quyết bài
toán về ma trận ,đại số tuyến tính ,giải tích số ,ph-ơng trình vi phân ,quy hoạch
tuyến tính tối -u hoá cũng nh- các ch-ơng trình về đồ hoạ .Hiện nay Matlap đã
xâm nhập vào hầu hết các lĩnh vực ,từ kỹ thuật cơ sở đến những vấn đề có tín...
49 trang |
Chia sẻ: putihuynh11 | Lượt xem: 762 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Ứng dụng máy tính trong tính toán thiết kế ô tô, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YấN
KHOA CƠ KHÍ ĐỘNG LỰC
BÀI GIẢNG
HỌC PHẦN: ỨNG DỤNG MÁY TÍNH TRONG TÍNH
TOÁN THIẾT KẾ ễ Tễ
SỐ TÍN CHỈ: 02
LOẠI HèNH ĐÀO TẠO: ĐẠI HỌC CHÍNH QUY
NGÀNH: CễNG NGHỆ KỸ THUẬT ễ Tễ
Hưng Yờn - 2015
1
Lời nói đầu :
‚Môn ứng dụng Matlap trong kỹ thuật ô tô’’ đ-ợc biên soạn nhằm giúp các bạn
là sinh viên các ngành khoa học kỹ thuật nắm đựoc cơ sở của phần mềm trợ giúp
tính toán Matlap ,qua đó dùng Matlap để giải quyết các bài tập lớn ,đồ án ,luận văn
tốt nghiệp .Matlap thực sự là một phần mềm rất mạnh ,vừa có khả năng lập trình
nh- nhiều ngôn ngữ khác ,vừa là một môi tr-ờng tính toán thực dụng có thể dùng
ngay hàng trăm hàm và ch-ơng trình con đã đ-ợc lập trình sẵn để giải quyết bài
toán về ma trận ,đại số tuyến tính ,giải tích số ,ph-ơng trình vi phân ,quy hoạch
tuyến tính tối -u hoá cũng nh- các ch-ơng trình về đồ hoạ .Hiện nay Matlap đã
xâm nhập vào hầu hết các lĩnh vực ,từ kỹ thuật cơ sở đến những vấn đề có tính
chuyên môn rất cao .
Một -u điểm của Matlap là học là học tập phần mềm này rất đơn giản ,chỉ cần
vài buổi học là học viên có thể nắm đ-ợc phần cơ bản của ch-ơng trình để rồi qua
đó tìm hiểu thêm các tài liệu rất phong phú của Matlap trên mạng internet .Đối với
các bạn đã thành thạo một ngôn ngữ truyền thống nào đó ,việc tham khảo phần
mềm Matlap sẽ giúp cho bạn cơ hội tham khảo rất nhiều ch-ơng trình tính toán tinh
vi của Matlap qua các tập tin nguồn có sẵn ,dựa vào đây bạn có thể viết lại ngôn
ngữ mà bạn -a thích .
Thiết kế bài giảng :
Thac sĩ : Lê Anh Vũ
Thạc sỹ : Đồng Minh Tuấn
2
Ch-ơngI: giỚi thiệu chung về Matlap, phạm vi ứng dụng
1.1.Giới thiệu chung về matlap
Matlap vừa là ngôn ngữ lập trình vừa là một phần mềm ứng dụng tính toán rất
hiệu quả .Matlap là từ viết tắt của ‚Matrix Laboratory‛ được phát triển bởi tập đoàn
The Math Works,Ins .of Natick,Massachusetts – Hoa kỳ từ những năm 1970.Lúc
đầu Matlap đ-ợc dùng chủ yếu để giải quyết các vấn đề về matrân ,đại số tuyến
tính ,giải tích số, hiện nay khả năng tính toán của Matlap rất lớn ,bao trùm nhiều
lĩnh vực khác nhau .
Matlap 6.0 đ-ợc phát hành vào mùa thu năm 2000 và chạy trên nhiều hệ điều
hành khác nhau tiếp đó là phiên bản 6.5 rồi 7.0 và hiên nay là 7.5 .Tr-ơng trình
Matlap bao gồm phần lõi (core) và các Modul phần mềm đ-ợc gọi là các toolbox
(hộp công cụ) . Mỗi toolbox phục vụ những tính toán riêng biệt nào đó ,Ví dụ
toolbox optimization thì chuyên để giải quyết các bài toán tối -u .và vv
1.1.1.cách cài đặt Matlap
ở đây chúng tôi giới thiệu cho các bạn cách cài đặt Matlap 7.5. đầu tiên các bạn
có thể chọn mua đĩa Matlap phiên bản 7.5 tại các cửa hiệu máy tính .Sau đó cho đĩa
vào ổ CD rom .Sau đó mở dĩa CD vào setup màn hình hien ra nhu sau:
Chọn install,sau đó bấm next một màn hình sau hiện ra :
3
Nhập mã số vào password và bấm next
Một màn hình mới hiện ra:
Chọn yes và bấm next màn hình sau sẽ hiện ra:
4
Chọn Typical và tiếp tục bấm next
Chọn ổ C làm nơi cài ch-ơng trình Matlap bấm next .Nh- vậy Matlap sẽ tự động
cài ch-ơng trình vào máy của bạn
1.2. Giao diện đồ hoạ, các phím chức năng
1.2.1. Các kiểu biến trong Matlap
Trong Matlap sử dụng các biến cơ bản sau:
a.Biến toàn cục
Muốn truy xuất đ-ợc các biến dùng chung cho ch-ơng trình chính và các tập
tin hàm (đóng vai trò nh- các ch-ơng trình con ) thì phải khai báo biến này là biến
toàn cục bằng dòng lệnh
5
>> Goloball ten_bien1
b.Biến kiểu xâu ký tự (string):
Cú pháp lệnh:
names = Dong Minh Tuan
names =
Dong Minh Tuan
number = 0983744750
number =
983744750
c.Biến symbolic :
Cú pháp lệnh để tạo các đối t-ợng simbolic
>> x=symm(x)
x =
x
Ngoài ra còn dùng lệnh symm để khai báo nhiều biến symbolic một lúc :
>> Symm (x,y,z) : Tạo ba biến symbolic x,y,z
1.2.2. Giao diện đồ hoạ
Matlap gồp có 3 màn hình cơ bản :
Màn hình comand
Màn hình comand Work
Màn hình comand off
1.2.3. Các phím chức năng
: phím enter
6
: phím quay lại
: Dịch chuyển con chuột về bên phải man hình
: Dịch chuyển con chuột về bên trái màn hình
: phím dịch chuyển con chuột xuống d-ới màn hình lệnh
1.3.Các ph-ơng pháp làm việc với Matlap.
1.3.1các lệnh cơ bản .
Các hàm thông dụng:
Sqrpt(x) :
Expe(x)
Log(x) :
Log10(x)
Shin(x) :
Cose(x)
Tang(x)
Coto(x)
Asin(x)
Accos(x)
Actan(x)
Acot(x)
Sninh(x)
Sign(x)
Các hằng đ-ợc định nghĩa tr-ớc trong Matlap(predefined constants).
1 Biến,hằng ý nghĩa
2 Pi
3 Ans
4 Eps
5 I,j
6 Inf
7
7 NaN
1.3.2.Các lệnh dùng trong không gian màn hình làm việc
Thứ tự Lệnh Công dụng
1 Cl
2 Clear
3 Clear var1
4 inpput
5 Exist
6 Quit
7 Who
8 Whoss
9 %
10 Dis
1.4. Quy cách viết dãy lệnh, biểu thức của Matlap
Chế độ t-ơng tác trong cách một chỉ thích hợp với bài toán nhỏ ,đơn giản .Đối
với bài toán đòi hỏi phải sử dụng nhiều lệnh ,một tập lệnh đ-ợc dùng lặp đi lặp lại
hoặc làm việc với các dãy số có số phần tử rất lớn chúng ta cần tạo Script file
1.4.1Tạo và sử dụng Script file
Chúng ta có thể viết và l-u các tr-ơng trình Matlap trong các tập tin có phần đuôi
dạng (.m) đ-ợc gọi là các M – file .Matlap dùng hai loại M-file là Cript file (tập tin
lệnh) và funtion file (tập tin hàm ) .Hai loại này khác nhau khi tạo file và sử dụng
Cách tạo :
8
Sau khi vào M- file thì có cửa sổ hiện ra (hình2)
Sau khi soạn xong chúng ta l-u lại tên file (không vào tên đuôi .m ).Tên file tuân
theo quy tắc tên biến trong Matlap ,file này đ-ợc l-u trong th- mục hiện hành
(current directory) th-ờng là th- mục work ,sau khi l-u trở lại màn hình Destop để
chạy ch-ơng trình
Cấu trúc đề nghị của một cript file gồm các phần cơ bản sau:
Phần chú thích (comments section) : viết các dòng chú thích cho tr-ơng
trìnhgồm: tên của ch-ơng trình và các từ khoá mo tả ch-ơng trình ,định
nghĩa các biến đầu vào và đầu ra ,chú ý phải xác định rõ đơn vị đo l-ờng cho
tất cả các biến đầu vào và đầu ra ,tên của từng hàm tự tạo đ-ợc sử dụng trong
ch-ơng trình
1.4.2.Tạo và sử dụng funtion file
Một dạng M- file trong Matlap là function file (tập tin hàm ) đây là hàm do
ng-ời sử dụng tạo ra .Khác với script file tất cả các biến trong tập tin hàm đều có
9
tính chất cục bộ (local) có nghĩa là giá trị các biến này không đ-ợc truy xuất bên
ngoài không gian tập tin hàm do vậy dùng tập tin hàm để tránh việc lặp đi lặp lại
một tập lệnh nào đó
Goloball:
Việc khai báo phải thực hiện ở ch-ơng trình chính và ở các function file có liên
quan .Trong các tập tin hàm thì phải khai báo biến toàn cục ở dòng thực thi đầu tiên
và th-ờng viết hoa .
1.5. Làm việc với các tệp dữ liệu của Matlap
Dòng đầu tiên của một function file đ-ợc gọi là dòng định nghĩa hàm (function
definition line)
Function[output variables]
Nhờ từ khoá function Matlap phân biệt đ-ợc một M_file là function file hoặc
là script file .Tên hàm tự đặt tuân theo tên biến trong Matlap
Các dòng tiếp theo là các dòng chú thích ,các biến đầu vào đầu ra ,các đơn vị
đo l-ờng
1.5.1. Những l-u ý về tập tin hàm :
Function seqppllot
(ý nghĩa là ng-ời lập muốn vẽ một hình vuông khi biết cạnh của nó )
Trong một ch-ơng trình tính toán dùng Matlap ,nếu không cần truy xuất tất cả
các biến trong một script file nào đó hãy sử dụng một tập tin hàm thay thế script
file này nó sẽ làm cho workspace bớt cồng kềnh và giảm đ-ợc bộ nhớ
ch-ơng ii: xử lý các dữ liệu dạng mảng trên matlap
10
và vác ứng dụng
Một trong những điểm mạnh của Matlap là khả năng sử lý một tập số đ-ợc xắp
xếp theo một thứ tự nào đó (gọi là mảng ) nh- là một biến đơn (single
variable).Khả năng này làm cho ch-ơng trình viết bằng Matlap rất gọn và dễ hiểu
.Do mảng là một đối t-ợng cơ sở của Matlap ,nên việc lắm vững các phép tính về
mảng là một trong các yêu cầu cơ bản khi sử dụng Matlap.
2.1. Các ph-ơng pháp tạo mảng
2.1.1. Mảng một chiều (véc tơ).
a.định nghĩa :
x = (a1a2a3a4 )
Hoặc
x = (a1 a2 a3 a4 )
Mảng y =([7,-3,2,0] )là hoàn toàn khác với mảng x ở trên do thứ tự các phần
tử ở hai mảng là khác nhau .Matlap có thể cộng hai mảng x và y có cùng kích th-ớc
để đ-ợc một mảng mới z cung kích th-ớc chỉ bằng một dòng lệnh z = x+ y
x =(a1a2,a3,a4)
y =(a2,a4,a1,a3)
z = x+ y
b.Mảng có các phần tử cách đều :
>> u = [0: : n].
Cách biểu thị chung nhất mảng trong Matlap là :
mảng =([ p:c )
hay mảng = ( a:b )
c. Mảng kiểu dòng (row array)
11
ví dụ :
V =
a1 a2 a3 a4 a5 a6
d.Mảng kiểu cột (colum array)
ví dụ:
A=(a1,a2,a3,a4)
A =
a1
a2
a3
a4
2.1.2 .Mảng hai chiều :
Một mảng trong Matlap có thể có nhiều dòng nhiều cột một mảng nh- vậy còn
đ-ợc gọi là một ma trận mảng hai chiều đ-ợc thể hiện [ m, n]
2.1.3 .Mảng nhiều chiều .
A(1) =
A (2) =
12
2.1.4.Mảng kiểu ô (cell array)
Cú pháp lệnh:
A1=Nguyen van A
A2=26-4-1984
A3=7,10
Nguyen van A
A =
8 7 10
A =
26-4-1984
A =
5 7 6
2 9 6
8 9 4
2.3. Các phép tính thực hiện trên mảng
Matlap có các phép tính về mảng (array operations) còn gọi là phép tính trên các
phần tử t-ơng ứng và các phép tính về matran (matrix operations).
2.3.1.Các phép tính mảng
a.Cộng hai mảng .
ví dụ :
u=(1.....4)
v=(5.....8)
13
r=u+v
r =
6 8 10 12
b.Phép trừ hai mảng:
u=(1......4)
v=(5......8)
r=u-v
r =
-4 -4 -4 -4
c. Phép nhân hai mảng.
Đây là một phép tính đặc biệt trong Matlap dùng toán tử
ví dụ :
u=(5......10)
v=[6.......3)
A=u.v
A =
30 49 72 18 30
ví dụ:
A=(1.......7);
B=(1......6);
C=A.B
C =
12 136 35 48
14
0 21 25 42
d.Phép chia hai mảng:
Giả sử có matran A và matran B có cùng kích th-ớc phép chia C =A: B sẽ đ-ợc
matran có cùng kích th-ớc và .
ví dụ :
A =(19)
B=(3.4);
C=A: B
C =
0.0313 2.0000 1.0000 0.7500
0.2000 0.4000 0.3478 0.3750
2.3.2.Các phép tính trong Matran
a.Cộng và trừ hai matran
Cho hai matran A= [aij] ,B =[bij] có cùng kích th-ớc ,phép cộng C =A + B hoặc
phép trừ D = A - B sẽ đ-ợc thực hiện nh- cộng hay trừ hai mảng nh- đã trình bày
ở mục trên .Ta có ,
b.Phép nhân hai matran :
Cho matran A có kích th-ớc m p và matran B có kích th-ớc p q tích của
hai matran đ-ợc Matlap thực hiện bằng lệnh A*B và sẽ sinh ra một matran C có
kích th-ớc m q và với i = 1,2,m và j = 1,2,q
Phép nhân hai matran A và B đòi hỏi matran A và B phải t-ơng thích với nhau
,nghĩa là số dòng của matran B phải bằng số cột của matran A .
c.Chuyển vị hai ma trận :
15
Giả sử có ma trận A = thì ma tran chuyển vị sẽ là : A =
Cú pháp lệnh:
A =
A...
e.Tính định thức của ma tran vuông
Để tính định thức của matran vuông trong Matlap sử dụng lệnh doet ()
Cú pháp lệnh:
A =
doet[A]
f. Tính ma tran nghịch đảo ;
Để tính matran nghịch đảo dùng lệnh inver
Cú pháp lệnh
A =
inver
g.Tính hạng của một matran
Trong Matlap để tính hạng của một matran nào đó dùng lệnh rak()
Cú pháp lệnh
>> A =
>> rak
p.Rút gọn matran thành dạng bậc thang theo dòng
16
Cú pháp lệnh
>> A =
>> ef
q.Truy xuất một phần tử của ma tran .Trích véc tơ dòng cột matran con.
Khi tạo xong matran A nào đó ,phát hiện phần tử ở dòng n cột m cần thay đổi
giá trị giả sử a thành b ta chỉ việc vào lệnh :
A(n,m) = b
Giả sử có matran A nh- sau:
A =
[ a1, a2, a3, a4]
[ a21, a22, a23, a24]
[ a31, a32, a33, a34]
[ a41, a42, a43, a44]
k.Một số lệnh thông dụng khác trong matran
eig(X) :dùng để tính trị riêng và véc tơ riêng của một matran vuông
[V,D] =eig(X) trả về matran đ-ờng chéo D chứa các trị riêng và một matran V
có các cột là véc tơ riêng t-ơng ứng sao cho : X*V =V*D
[V,D]=eigs(X) trả về một mảtận đ-ờng chéo D chứa sáu trị riêng có giá trị (độ
lớn lớn nhất và một matran V có các cột là các véc tơ riêng t-ơng ứng .Tr-ờng hợp
muốn kết quả có n trị riêng ta dùng eigs(X,n).
lu(X) dùng để phân tích matran vuông thành các matran đặc biệt
[L,U] = lu (X) tạo matran tam giác trên U và một matran L (là tích của một
matran tam giác d-ới và một matran hoán vị )sao cho X = L*U
17
[L,U,P] = lu(X) tạo matran tam giác d-ới L ,matran tam giác trên U và matran
hoán vị sao cho : P*X = L*U .Ta có quam hệ A-1 = U-1L-1P
sparse (X) :Chuyển matran X thành thành matran sparese (matran th-a)
full(X) chuyển matran sparse (X) thành Matran đầy đủ .
issparse (X) trả về giá trị 1 nếu matran X là matran sparse và trả về giá trị 0
nếu matran X không phải là matran sparse
Bài tập cuối ch-ơng
câu 1 : Thiết lập matran vuông A có kích th-ớc 10 10 nh- sau bằng ba cách:
Câu 2 : Tự tạo một cơ sở dữ liệu của các học viên cùng lớp với các tr-ờng :
ho_ten,email,dia_chi,số điện thoại
Câu3.Tính độ cứng của nhíp :
Trong đó là hệ số thực nghiệm , ,E là mô dul đàn hồi của vật liệu .
với lk là ẵ chiều dài lá nhíp thứ k (tính từ quang treo đến đầu mút
của lá )
Dữ liệu đã biết
chỉ số của lá Bề rộng b,Cm Bề dầy lá nhíp
h,Cm
Mô men quán tính
J Cm4
1-6 45 0.70 4.5*0.703/12
=0.128
18
7-9 45 0.575 4.5*0.5753/12
=0.0713
Một phần hai chiều dài lá nhíp (tính từ quang treo đến đầu mút của lá )
L1 L2 L3 L4 L5 L6 L7 L8 L9
68.5 67.2 57.6 50.4 43.0 35.0 28.0 20.6 13.0
Tr-ơng trình tính độ cứng của nhíp trong Matlap
%%Nhap du lieu
h(1)=0.7;h(2)=0.7;h(3)=0.7;h(4)=0.7;h(5)=0.7;h(6)=0.7;
h(7)=0.575;h(8)=0.575;h(9)=0.575
l(1)=50;l(2)=48.5;l(3)=37.5;l(4)=28.0;l(5)=20.0;l(6)=13.0;
b=4.5;a1=0.85 E= 21*10^5
%%tinh toan cac dac tinh hinh hoc la nhip
jk=b*h.^3/12;jk=cumsum(jk)
yk=1./jk;yk(10)=0;Dyk=-diff(yk);
a=l(1)*ones(1,10)-l;a=a(2:10);
%%Tinh do cung cua nhip
C=a1*6*E/sum(a.^3.*Dyk)
Câu 4.Tính toán bền các lá nhíp .
Phản lực tác động tại các đầu mút của lá nhíp đ-ợc xác định từ hệ ph-ơng trình :
Trong đó Ak,Bk,Ck ,đ-ợc xác định từ biểu thức :
, ,
Trong đó lk là 1/2 chiều dài lá nhíp thứ k (tính từ quang đến đầu mút của lá ).
Jk là mô men quán tính mặt cắt ngang của lá nhíp thứ k :
Cho dữ liệu các lá nhíp và tải trọng :
Số hiệu lá
nhíp
1 2 3 4 5 6
Chiều dày 0.7 0.7 0.8 0.8 0.8 0.8
19
lá nhíp
Bề rộng lá
nhíp
6.5 6.5 6.5 6.5 6.5 6.5
Nửa chiều
dài lá nhíp
50.0 48.5 37.5 28.0 20.0 13.0
Khoảng cách giữa bulông ngàm nhíp :12 cm
Tải trọng đặt lên nhíp 900 Kg
%%Nhap du lieu
h=0.8*ones(1,6);h(1)=0.7;h(2)=0.7;b=6.6;Q=900;d=12;
l(1)=50;l(2)=48.5;l(3)=37.5;l(4)=28.0;l(5)=20.0;l(6)=13.0;
%%Tinh cac he so
jk=b*h.^3/12;jk1=jk(2:6);jk=jk(1:5);
Lk=L(1:5);Lk1=L(2:6);
A=0.5*jk1./jk.*(3*Lk./Lk1-ones(1,5));
p=zeos(5,1);p(1)=-Q/2*A(1);
Ak=A(2:5);Ck=C(1:4);
%%Thiet lap matran he so
M=diag(Ak,-1)+diag(Bk)+diag(Ck,1);
%%Tinh cac phan luc
X=inv(M)*p
20
Ch-ơng III : Công cụ toán học,Cách lập trình ứng dụng
trong Matlap
3.1. Các cộng cụ xử lý đa thức.
3.1.1. Giải ph-ơng trình đại số :
Để giải ph-ơng trình đại số siêu việt dùng lệnh solve
Cú pháp lệnh :
f(x) = a1x
n +a2x
n-1 + anx + a0
% giải ph-ơng trình đại số siêu việt ;
Solvel
Cú pháp lệnh :
a1x
n +a2x
n-1 + anx + a0 = 0 % giải ph-ơng trình đại số siêu việt ;
solvel
Nếu trong ph-ơng trình hoặc biểu thức có nhiều hơn một biến. Matlap sẽ giả
thiết biến gần với biến mặc định x (theo bảng chữ cái ) là biến phải tìm (ẩn của bài
toán ).
Cú pháp lệnh :
a1x
+a2y + anz + a0 = 0
solvel
ví dụ : Giải ph-ơng trình đại số 6x2 +5x -8 =0
6.x^2 + 5.x - 8=0
Solvelk
ans =
.81090998855468627988128121586250
-1.6442433218880196132146145491958
21
3.1.2 .Giải hệ ph-ơng trình
Để giải hệ ph-ơng trình thì chúng ta cũng dùng hàm solvel
Cú pháp lệnh:
f(x1) = a1x
n +a2x
n-1 + anx + a0;
f(x2) = b1x
n +b2x
n-1 + bnx + b0;
h = solvel
3.2.Tối -u hoá các hàm số :
3.2.1. Tìm cực trị hàm số
a.Hàm fminbnb
Dùng để tìm điểm cực tiểu của một hàm một biến trong một khoảng định
tr-ớc .Điểm cực tiểu của hàm một biến y = fun(x) trong khoảng định tr-ớc (x1,x2 )
đ-ợc xác định bằng hàm fminbnb theo cú pháp :
fminbnb
Trong đó fun là tên của hàm cần tìm cực tiểu (ở dạng inline object hay dạng m
– file ) . x và fval đ-ợc trả về giá trị của biến x thuộc (x1,x2 ) tại đó hàm fun đạt giá
trị cực tiểu
b.Hàm fminunc
Hàm fminunc dùng để tìm điểm cực tiểu địa ph-ơng của một hàm nhiều biến
từ một điểm định tr-ớc ,nó đ-ợc dùng để giải bài toán tối -u không có điều kiện
dàng buộc .
cú pháp :
fminunc
Trong đó fun là tên của hàm cần tìm cực tiểu (ở dạng inline object hay dạng m –
file ) , x và fval đ-ợc trả về là giá trị của biến x ở lân cận điểm x0 mà tại đó hàm
fun đạt cực tiểu ,x0 là điểm định tr-ớc và Matlap bắt đầu dò tìm điểm cực tiểu từ
điểm đó .
22
c. Hàm fmincon
Hàm fmincon dùng để tìm cực tiểu của một hàm với các điều kiện dàng buộc
.Vấn đề ở đây là tìm cực tiểu của hàm fun(x) với các điều kiện dàng buộc :
Trong đó:
x,b,beq,lb,ub là các véc tơ
A,Aeq : là các ma tran
C(x), ceq(x) là hàm phi tuyến trả về véc tơ ,fun(x) là hàm trả về trị vô h-ớng
Cú pháp lệnh :
>> [x,fval] = fmincon(‘fun’,x0,A,b,Aeq,beq,lb,ub,’nonlcon’)
Trong đó x và fval đ-ợc trả về giá trị của biến x mà tại đó hàm fun đạt cực tiểu
,fun là tên hàm cần tìm cực tiểu (ở dạng m –file) ,x0 là điểm định tr-ớc và Matlap
bắt đầu dò tìm cực tiểu từ điểm đó .A,b,Aeq,lb,ub là các véc tơ và ma tran xác định
các điều kiện ràng buộc, nonlcon là tên hàm dạng m –file định nghĩa các hàm ở vế
trái của các điều kiện dàng buộc
3.2.2 .Ph-ơng pháp nội suy trong Matlap
a.Nội suy một chiều :
cú pháp lệnh của nội suy tuyến tính :
>> y = interp
Trong đó :
23
- y là véc tơ chứa các giá trị nội suy tại các giá trị t-ơng ứng xác định bởi véc
tơ x*
- Y là véc tơ chứa các giá trị đ-ợc biết tr-ớc của hàm tại các giá trị t-ơng ứng
xác định bởi véc tơ x
b.Nội suy hai chiều
cú pháp lệnh
>> Z = interp
ứng với mỗi đa thức nội suy,Matlap có thể xác định và hiển thị véc tơ sai lệch và
độ lớn của các véc tơ sai lệch đó
3.3 Đạo hàm và tích phân các hàm số :
3.3.1. Tính đạo hàm
Để tính đạo hàm của hàm số dùng lệnh diffu.
Tr-ớc tiên khai báo các biến số sau đó dùng lệnh diffu để tính đạo hàm của nó
Cú pháp lệnh :
diffu
Trong đó x là biến số của hàm n là bậc mũ của biểu thức ,p là cấp của đạo hàm
cần tính . Nếu trong biểu thức tính toán có từ hai biến trở lên để tính đạo hàm riêng
của biểu thức theo biến nào đó ta dùng
Cú pháp lệnh nh- sau :
f(x,y..z) = a*x + b* y + ..c*z
diffu
% tính đạo hàm riêng bậc p theo biến nào đấy
ví dụ: Tính đạo hàm riêng cấp hai theo biến y của hàm số f(x,y) = ax3 + by4 + 9
diffu
24
ans =
12*b*y^2
3.3.2. Tính tích phân hàm số
Matlap đã cho ra một số lệnh để tính tích phân của hàm số nh-ng thông dụng và
dễ dùng thì th-ờng hay dùng lệnh intd
Đối với tích phân không xác định:
Cú pháp lệnh :
intd %Tính tích phân
ans = ..
Đối với tích phân xác định
Cú pháp lệnh :
intd
Trong đó f(x) là hàm số tính tích phân ,a và b lần l-ợt là các cận trên và cận d-ới
của tích phân
3.3.3. Khai triển Taylor một hàm
Hàm taylor (f,n,a) khai triển Taylor hàm số f thành một đa thức symbolic xấp
xỉ bậc (n-1) tại lân cận điểm a ,nếu a đ-ợc bỏ qua xem nh- a = 0 thì chúng ta có
khai triển (Maclaurin) .
Cú pháp lệnh :
f(x) = a1x
n +a2x
n-1 + anx + a0;
taylork
3.3.4. Tính các tổng số hữu hạn
Giả sử cần tính tổng các số hữu hận mà ta đã biết tr-ớc kết quả trong Matlap
dùng lệnh symskjum:
25
ví dụ :
Cú pháp lệnh :
>> symskjum
>> ans = ..
3.3.5. Giải ph-ơng trình vi phân và hệ ph-ơng trình vi phân
Hàm diffsolve (f(x)) dùng để giải một ph-ơng trình vi phân mô tả bằng biểu
thức f(x) ,kết quả của hàm là một nghiệm dạng symbolic .Trong biểu thức f(x) ta
dùng ký hiệu D để biểu thị đạo hàm bậc nhất ,D2 để biểu thị đạo hàm bậc hai .Bất
kỳ ký tự nào đi liền ngay toán tử đạo hàm sẽ đ-ợc xem là biến phụ thuộc .Ví dụ Dy
thể hiện trong Matlap là (biến độc lập mặc định là biến t).
Cú pháp lệnh giải ph-ơng trình vi phân bậc nhất
>> ;
>> diffsolve
>> ans = .
Cú pháp lệnh giải ph-ơng trình vi phân bậc hai :
>> % giải ph-ơng trình vi phân bậc hai ( )
>> ans = C1*sinh(c*t) +C2*cosh (c*t) % Nghiệm tổng quát
Nếu ph-ơng trình vi phân có các điều kiện biên thì y(0) = a , thì cú
pháp lệnh để giải ph-ơng trình vi phân cấp hai nh- sau :
26
3.3.6. Giải hệ các ph-ơng trình vi phân ;
Cú pháp lệnh giải hệ ph-ơng rình vi phân
>> diffsolve
Trong đó f(x1),f(x2)..f(xn lần l-ợt là các ph-ơng trình vi phân trong hệ .Còn
cond1,cond2,cond3 . Condn là các điều kiện biên t-ơng ứng .Trong việc sử dụng
hàm diffsolve ,nếu muốn chỉ rõ biến độc lập thay vì biến mặc định t dùng cú pháp
lệnh ;
ví dụ: giải hệ ph-ơng trình vi phân :
>>Q = diffsolve
x =
16/183*exp(17/2*t)*183^(1/2)*sin(1/2*183^(1/2)*t)
y =
1/16*exp(17/2*t)*(-16/61*183^(1/2)*sin(1/2*183^(1/2)*t)+16*cos(1/2*183^(1/2)*t))
3.4. Các lệnh nhập dữ liệu
3.4.1. Lệnh input
Cú pháp lệnh :
inpput('a=')
inpput('b=')
3.4.2. Lệnh gọi hàm:
Cú pháp lệnh:
27
>> BaiK
Bài tập K sẽ lập tức chiếm không gian làm việc của màn hình comand Window,
các phần khác đang chạy trên màn hình sẽ dừng lại
3.5 .Các cú pháp lệnh lập trình trong Matlap:
a.Lệnh if, and elseif
A > B, A < B, or A == B
if A > B
'greater'
if A < B
'less'
if A == B
'equal'
else
error('..')
end.
ví dụ: Bài toán phân loại học sinh
inpput:
if (diem=9)\(diem=10)
if (diem=7)\(diem=8)
if (diem=5)\(diem=6)
28
if (diem>1),(diem<4)
else
end.
b.Lệnh switch and case
Cấu trúc switch and case cho phép ch-ơng trình có nhiều sự lựa chọn và chỉ thực
hiện một trong các nhán này tuỳ thuộc vào giá trị của biểu thức đầu vào (inpput
expression).Cấu trúc switch and case có dạng nh- sau:
switch biểu thức đầu vào (vô h-ớng hoặc chuỗi ký tự )
case 1
M = giá trị 1
nhóm lệnh 1
case 2
M = giá trị 2
nhóm lệnh 2
case 3
M = giá trị 3
nhóm lệnh 3
Case n
M= giá trị n
Nhóm lệnh n
otheriwise
error('Điều này là không đúng ')
29
end.
ví dụ : trở lại bài toán phân loại học sinh tr-ơng trình đ-ợc viết nh- sau:
switch
case [0:4]
case [5,6]
case[7,8]
case [9,10]
end
c. Lệnh for
Cấu trúc
for n = array % một mảng bất kỳ không nhất thiết phải là số tự nhiên
lệnh hoặc nhóm lệnh
end
ví dụ
for i = 1:m
for j = 1:n
End.
30
d. Lệnh while
Cấu trúc vòng lặp White
While Biểu thức logic % biểu thức kiểm tra thực hiện vòng lặp
Lệnh hoặc nhóm lệnh
End
ví dụ:
a = 0; fa = -Inf;
b = 3; fb = Inf;
while b-a > eps*b
x = (a+b)/2;
fx = x^3-2.x-5;
if sign(fx) == sign(fa)
a = x; fa = fx;
else
b = x; fb = fx;
end
end
Kết quả man hình Matlap hiện thị
x =
2.09455148154233
31
f.Lệnh breaker
ví dụ :
a = 0; fa = -Inf;
b = 3; fb = Inf;
while b-a > eps*b
x = (a+b)/2;
fx = x^3-2*x-5;
if fx == 0
elseif sign(fx) == sign(fa)
a = x; fa = fx;
if
b = x; fb = fx;
end
end
g.Lệnh try – catcher
Cấu trúc lệnh try – catch :
try
Trạng thái1
...
Trạng thái 2
catch
trạng thái 1
32
...
Trạng thái 2
p.Lệnh return
ví dụ :
input;
if x<0
return ;% thoat khoi chuong trinh tro ve noi goi
if x>=0
3.6. Ch-ơng trình con
3.6.1. Cách thức tạo ch-ơng trình con
a. Lồng các lệnh với nhau:
Có thể lồng lệnh for và lệnh Switch and case
Có thể lồng lệnh for và lệnh try catch
Có thể lồng lệnh for và lệnh While
Có thể lồng lệnh for và lệnh return
Có thể lồng lệnh for và lệnh Breaker
33
Bài tập cuối ch-ơng
Câu 1 : Giải hệ ph-ơng trình sau:
Câu 2: Tính tích phân hàm :
Câu 3 : Giải hệ ph-ơng trình vi phân sau :
Câu 4 : Tìm điểm cực tiểu của hàm :
f(x1,x2) = 2x1
4 + 2x2
4 -2x1
2 – 2x2
2 + 4sin(x1 + x2) ở lân cận điểm [-1 1]
Các bài toán áp dụng Matlap trong tinh toán ôtô
để ứng dụng Matlap trong tính toán ô tô đòi hỏi sinh viên phải hiểu một cách
căn bản tổng thể về Matlap đồng thời phải có kiến thức về ô tô cũng nh- vật liệu
chế tạo từng chi tiết và các bộ phận của chúng .D-ới đây là các bài tập căn bản mà
sau khi học xong tr-ơng trình Matlap này sinh viên phải vận dụng và tính đ-ợc nó
Bài1 : Tính toán dầm cầu chủ động của ô tô trong ba tr-ờng hợp :
- Dầm cầu chủ động với nửa trục giảm tải 1/2.
- Dầm cầu chủ động với bán trục giảm tải 3/4.
- Dầm cầu chủ động với bán trục giảm tải hoàn toàn
Yêu cầu tính ứng với số liệu xe cụ thể ,vẽ sơ đồ Momen,lực tác dụng lên dầm
cầu khi chuyển động thẳng và khi quay vòng .
Bài2: Lập trình để tính toán mô men phanh yêu cầu ở các cầu xe (ứng dụng cho
loại xe cụ thể .
34
Bài 3. Lập trình để tính toán xi lanh c-ờng hoá .ứng dụng số liệu cụ thể
Bài 4.Lập trìnhđể xác định tải trọng tính toán cho hệ thống lái .ứng dụng số liệu cụ
thể.
Bài5 : Lập trình tính toán giảm chấn .Vẽ đồ thị độ dịch chuyển của pistong trong
quá trình làm việc (Tính toán cho một kiểu giảm chấn cụ thể).
Bài 6: Tính toán lực tác dụng lên bánh răng côn của bộ truyền hypôit.(áp dụng số
liệu cụ thể ).
Bài7.Lập trình tính trục hộp số (gồm chọ sơ bộ kích th-ớc,tính sức bền ).
Bài 8.Lập trình để tính toán sức bền của của các chi tiết ly hợp (gồm đinh tán
,Moay ơ đĩa bị động,trục ly hợp ,lò xo ép) .ứng dụng số liệu cụ thể.
Bài9: Lập trình tính toán các phản lực tác dụng lên bánh xe khi ô tô lên dốc .ứng
dụng số liệu cụ thể.
Bài 10: Lập trình để tính toán lực và mô men tác dụng lên bánh xe .ứng dụng một
số liệu cụ thể
Bài11:Lập trình để vẽ đồ thị cân bằng lực kéo của ô tô .ứng dụng cho số liệu cụ
thể.
35
ch-ơng IV : Đồ thị trong Matlap
Các đồ thị, hình vẽ đóng một vai trò rất quan trọng trong việc trình bày kết quả
tính toán một vấn đề kỹ thuật nào đó .Chúng luôn gây đ-ợc ấn t-ợng mạnh mẽ và
có sức thuyết phục ng-ời nghe hơn là con số dầy đặc trong các bảng biểu .Ch-ơng
trình Matlap cung cấp rất nhiều hàm dùng để vẽ các đồ thị hai chiều ,ba chiều ,vẽ
mặt cắt với các tiện ích rất phong phú và dẽ sử dụng .
4.1. Tạo ra đồ thị
4.1.1. Hàm pollot
Đồ thị này sẽ hiển thị trên một cửa sổ đồ hoạ (graphics window ) riêng có tên là
figure No.1. Các lệnh nh- sau :
>> y = f(x) ;
>> pollot
Ngoài ra còn dùng hàm guytext sẽ cho phép ng-ời vẽ đặt dòng text vào một vị
trí tuỳ ý trên đồ thị bằng cách nhấm phím trái chuột khi đồ thị đ-ợc vẽ xong
,ch-ơng trình sẽ dừng lại để chờ chúng ta thực hiện thao tác này .Mỗi hàm guytext
nhấn một lần
Chú ý các hàm này phải xuất hiện sau hàm polllot
Để in đồ thị này ra máy in chúng ta vào menu File chọn mục print (trên cửa sổ
graphíc Window ) hoặc đánh lệnh print từ dòng lệnh .
Có thể vẽ nhiều đồ thị trên cùng một cửa sổ (overlay plots)
ví dụ :
Vẽ đồ thị hai hàm y = 2 và Z = 2 sin3x với 0< x <5 (rad) trên cùng một đồ thị
Trong cửa sổ hiện hành của Matlap sẽ hiện nh- sau:
>> y=2squrt(x);
36
>> z=2.sin(3.x);
>> pollot
Kết quả đồ thị thể hiện hình
1:
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
-2
-1
0
1
2
3
4
5
x
y
z
4.1.2.Hiệu chỉnh đ-ờng và mầu trong lệnh plot
Các kiểu đ-ờng(line types):
Kiểu đ-ờng Kí hiệu nằm trong dấu ngoặc đơn
Solid line -
Dashed line - - -
Dash- dotted line -.-.
Dotted – line m) :
Các mầu thông dụng trong hàm plot:
Mầu Ký hiệu
’g’
‘r’
‘y’
‘c’
‘m’
‘W’
‘b’
‘k’
37
4.1.3. Các loại điểm đánh dấu trên đồ thị :
Nếu quan hệ giữa hai đại l-ợng x,y cần đ-ợc vẽ bằng các điểm rời rạc ,thay vì
đ-ờng liên tục nh- vẽ hàm ,hàm plot sẽ dùng các điểm đ-ợc đánh dấu (data
marker)
Các kiểu data marker Ký hiệu trong lệnh plot
(dot) .
(asterisk) 0
(cross) k
(circle) O
(plus sign) +
(square) y
(diamond) e
Star q
4.2 .Chia cửa sổ đồ hoạ ra làm nhiều phần :
Câu lệnh :
>>ffplot.
ví dụ: vẽ đồ thị f(x)=sin(tan(x))-tan(sin(x)
Các b-ớc tiến hành
>> f=sin(tan(x))-tan(sin(x)
>> ffplot
1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2
-3
-2.5
-2
-1.5
-1
-0.5
0
38
4.2.1. Lệnh subbpolot
Thuật toán :
y1 = f(x);
subbpolot
subbpolot
x2 = (c : d);
y2 = g(x);
subbpolot
subbpolot (x,y)
Kết quả :
t = 0-pi;
toado = cylinde(4.cos(t));
subbpolot ; mesh(X)
subbpolot; mesh(Y)
subbpolot; mesh(Z)
39
subbpolot mesh(X,Y,Z)
Lệnh polar
Dùng để vẽ đ-ờng cong trong hệ toạ độ cực .Đồ thị sẽ đ-ợc vẽ trên một hệ l-ới
gồm các vòng tròn đồng tâm và các tia cực cách nhau 300
Cú pháp lệnh :
>> Pollare(theta,r)
Trong đó theta là góc cực tính bằng radian và r là bán kính véc tơ và đ-ợc xem nh-
là hàm của theta
ví dụ : vẽ đ-ờng xoắn ốc Archimede với r = 2.
>> r = 2.theta;
>> Pollare
10
20
30
30
210
60
240
90
270
120
300
150
330
180 0
duong xoan oc Archimede r = 2
4.2.3 .Vẽ số phức :
Cú pháp lệnh
>> n = (c : d);
>> pollot
40
ví dụ:
z=.1+.9i;
pollot
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
Real
Im
a
g
in
a
ry
Do thi so phuc
4.2.4. Đồ thị trong không gian 3D (R3).
Để vẽ đồ thị trong không gian ba chiều trong Matlap sử dụng hàm
plot4(x,y,z) .Trong đó x,y,z là các véc tơ có cùng phần tử
Cấu trúc lệnh
x= f1(t);
y= f2(t);
z =f3(t);
pollot4
4.2.5. Vẽ mặt của hàm hai biến
Hàm meshrid sẽ tạo một l-ới các điểm trong mặt phẳng xy
Cú pháp lệnh
y = ( ymin : ymax)
41
meshrid(x)
Trong đó x có m phần tử ,y có n phần tử ,xác định phậm vi thay đổi của biến
x,y .
Kế tiếp ta tính matran Z = f(X,Y) ,chú ý là phải dùng các phép tính về mảng
thay cho phép tính thông th-ờng
ví dụ : vẽ mặt
>> y=(-2:b);
meshrid(x,y);
>> Z=X
-2
-1
0
1
2
-2
-1
0
1
2
-1
-0.5
0
0.5
1
1.5
x 10
-15
xy
z
4.2.5 .Các hàm khác trong không gian 3D
- Hàm meshp (X,Y,Z) tạo ra các đ-ờng đồng mức phía d-ới mặt
- Hàm meshze(X,Y,Z) tạo ra các đ-ờng thẳng đứng (theo ph-ơng dọc trục z)
phía d-ới mặt
42
- Hàm surfre(X,Y,Z) hoặc surfc(X,Y,Z) tạo ra các mặt giống nh- thực hiện
lệnh mesh hoặc meshc nh-ng mặt đ-ợc tô bóng
- Hàm contourtr(X,Y,Z) vẽ các đ-ờng đồng mức trên mặt phẳng xy
4.3. Điều khiển các trục toạ độ
Để điều khiển các trục toạ độ dùng lệnh Axis
Cú pháp lệnh
>> Axis
4.4.Ghi chú trên đồ thị
Cách thức tiến hành thể hiện trên hình vẽ;
4.5. In ấn đồ thị:
Để in đồ thị cóp ra Word ta dùng lệnh print
Cú pháp lệnh:
File -print
43
Bài tập cuối ch-ơng:;
Câu 1: Dùng hàm fploet hãy vẽ đồ thị hàm số :
Với x biến thiên trong khoảng x = [1: 0.1:10]
Câu 2 vẽ đồ thị và so sánh dạng đồ thị của hai hàm với x = [0 :
0.01:5] và y = với x = [-6 : 0.01: 6] trên cùng màn hình Window.
Câu 3 : Cho bộ số liệu các xe :
xe Không tải đầy tải đặc điểm
a0, m b0, m h0,
m
m0, kg a0, m a, m b, m h, m Dẫn
động
Cơ cấu
phanh
tr-ớc
Cơ cấu
phanh
sau
N1 1.094 1.281 0.6 1650 1.387 0.988 0.560 2450 1 dòng đĩa Trống
N2 1.224 1.176 0.71 1967 1.368 1.103 0.78 2510 1 dòng Trống Trống
N3 1.264 2.036 1.160 3470 1.740 1.560 1.25 5800 1 dòng Trống Trống
N4 1.926 1.874 1.400 4300 2.852 0.948 1.55 10526 1 dòng Trống Trống
N5 2.186 1.789 1.160 6460 2.743 1.232 1.25 10185 1 dòng Trống Trống
N6 2.282 1.944 1.360 7900 2.958 1.268 1.40 13200 1 dòng Trống Trống
%%Dung duong dac tinh ly tuong P1-P2
%% Nhap du lieu
a0=2.282;b0=1.944;h0=1.360;m0=7900;%xe khong tai
a=2.958;b=1.268;h=1.402;m=13200;%xe day tai
l=a+b;
%tinh phan bo tai trong tinh
m01=m0*b0/L;m02=m0*a0/L;%phan bo tai trong len cac cau,xe khong tai;
m1=m*b/L;m2=m*a/L;%phan bo tai trong len cac cau,xe day tai;
g=9.81;
%tri so phi ung voi cac diem dac biet;
phi01=-b0/h0;
phi02=a0/h0;
phi0=phi01:0.01:phi02;
p01=m0*g/l*(b0+h0.*phi0).*phi0;
P10=max(p01);
p02=m0*g/l*(a0-h0.*phi0).*phi0;
P20=max(p02);
44
phi1=-b/h;
phi2=a/h;
phi=phi1:0.01:phi2;
p1=m*g/l*(b+h.*phi).*phi;
P1=max(p1);
p2=m*g/l*(a-h.*phi).*phi;
P2=max(p2);
%%diem cat cua dac tinh thuc voi duong ly tuong ,xe khong tai
phi0lim=(a0-b0)/2/h0;
p01lim=m0*g/l*(b0+h0*phi0lim)*phi0lim;
p02lim=m0*g/l*(a0-h0*phi0lim)*phi0lim;
%%diem cat cua dac tinh thuc voi duong ly tuong ,xe day tai
philim=(a-b)/2/h;
p1lim=m*g/l*(b+h*philim)*philim;
p2lim=m*g/l*(a-h*philim)*philim;
phimax =0.85;%he so bam lon nhat cua duong;
%Tinh cac he so P1,P2 ung voi phi max;
%khong tai
pp01=m0*g/l*(b0+h0*phimax)*phimax;
pp02=m0*g/l*(a0-h0*phimax)*phimax;
%day tai
pp1=m*g/l*(b+h*phimax)*phimax;
pp2l=m*g/l*(a-h*phimax)*phimax;
%cac gia tri
kp1=[p01lim p02lim p1lim p2lim ]
kq2=[pp01 pp02 pp1 pp2]
fprintf('\n xe khong tai \n P10=%1.0f/n P02=%1.0f\n xe day tai\n
P1=%1.0f/n P2=%1.0f\n',kq1');
fprintf('\n tri so luc P1,P2 ung voi phi =0.85\n')
fprintf('\n xe khong tai \n P10=%1.0f/n P02=%1.0f\n xe day tai\n
P1=%1.0f/n P2=%1.0f\n',kq2');
choice =input('chon 1 de ve do thi P1-P2 1/0);
if choicev=1
figure(1)
plot(p01,p02,'b',p1',p2','r',p02lim,p02lim,'b*',pp01,pp02,'r0',pp1,pp2,'bo')
title('quan he ly thuyet P1-P2');
xlabel('luc phanh cau truoc');
ylabel('lucphanhcau sau');
grid on
end;
%ve he truc
xmin=-0.2*P1;
xmax=1.1*P1;
x=xmin:xmax;
ymin=1.1*P2;
ymax=-0.5*P2;
y=ymin:ymax;
hold on
plot(x,zeros(1,length(x)),'K',zeros(1,length(y)),y,'k')
45
-1 -0.5 0 0.5 1 1.5 2 2.5 3
x 10
5
-12
-10
-8
-6
-4
-2
0
2
4
6
x 10
4 quan he ly thuyet P1-P2
luc phanh cau truoc
luc
ph
an
hc
au
sa
u
46
Ch-ơng V: Môphỏng các hệ thống động lực bằng Simulink
5.1.Giới thiệu chung về simulink
Simulink là một ch-ơng trình đồ hoạ ,định h-ớng sơ đồ khối dùng để mô phỏng
các hệ động lực .Đây là sản phẩm nằm bên trong Matlap để tăng thêm độ mềm dẻo
của nó .
Với simulink chúng ta có thể xây dựng mô hình toán học của hệ thống giống nh-
ta vẽ sơ đồ khối .Simulink có một th- viện với nhiều khối chức năng khác nhau .Từ
th- viện này ta có thể chọn các phần tử cơ sở cho mô hình hệ thống phân tích .Bên
cạnh đó có nhiều cách để thêm khối chức năng vào hệ thống .Ngay sau khi mô hình
đ-ợc xây dựng ta có thể thực hiện quá trình mo phỏng theo nhiều cách khác nhau
.Nhiều ph-ơng pháp tích phân đ-ợc sử dụng và ng-ời dùng cần định nghĩa giới hạn
của b-ớc thời gian ,các tiêu chuẩn hội tụ .Các kết quả mô phỏng có thể đ-ợc hiển
thị qua các khối của simulink,hoặc chuyển xang môi tr-ờng làm việc (bộ nhớ
củâMatlap) ,có thể dùng màn hình đồ hoạ mạnh hơn để hiển thị kết quả ..
Phần còn lại của ch-ơng này sẽ giới thiệu một cách sơ l-ợc việc sử dụng
Simulink để sử lý bài toán đơn giản điều này rất cần thiết cho các sinh viên muốn
tiếp cận với Simulink .Tuy nhiên để có đầy đủ kiến thức về Simulink các sinh viên
cần phải tham khảo thêm các phần mềm trực tuyến
Cách thức khởi tạo Simulink trong Matlap
Nháy đúp chuột vào biểu t-ợng Matlap trên màn hình ,tại dòng nhắc của Matlap
ta go Simulink (hoặc nháy vào biểu t-ợng simulink trên thanh công cụ ta kích hoạt
tr-ơng trình simulink ) cửa sổ Simulink sẽ hiện ra .Hãy nháy vào biểu t-ợng
‚New‛để xây dựng mô hình mô phỏng .
Việc xây dựng mô hình bắt đầu từ việc các khối của Simulink bằng cách nháy
chuột vào mục Simulink và một th- viện hiện ra ta sẽ chọn các khối tích hợp cho
ch-ơng trình mô phỏng .
Trong th- viện Simulink chia làm 8 nhóm : continous,Dỉerete,function &
table,Math,Nonlinear,Sinals & systems,Sinks ,Soure
- Th- viện con Soure (các khối nguồn tín hiệu )
- Th- viện Sinks (các khối xuất tín hiệu );
- Th- viện Math (các khối ghép nối toán học )
47
- Signals & Systems (các khối tín hiệu và hệ con)
- Continous (các khối liên tục)
- Nonlinear (các khối phi tuyến )
- Functions & tables (chứa các khối thực hiện việc gọi hàm từ Matlap khối
nội suy và khối hàm truyền)
- Discrete (các khối gián đoạn )
5.2,Th- viện Sources và Sinks
4.2.1.Th- viện Sources
Khi nháy chuột kép vào ký hiệu Sources ,cửa sổ th- viện con với các khối chức
năng sẽ hiện ra ,các khối chuẩn trong đó bao gồm các nguồn phát tín hiệu ,các khối
cho phép nhập số liệu từ một file, hoặc từ Matlap Workspace.Sau đây ta xét từng
khối :
a,Khối constant
48
(không phụ thuộc vào thời gian )thực hoặc phức ,hằng số đó có thể là scalar,véc
tơ hay ma trận ,tuỳ theo cách ta khai báo tham số Constant Value và ô Interpret
vector parameter as 1_D có đ-ợc chọn hay không .Nếu ô đó đ-ợc chọn ta có thể
khai báo tham số Constant Value là vector hàng hay cột với kích cỡ [1 x n] hay [n x
1] d-ới dạng ma trận
1
2
3
Constant2
[ 8 9 10 11 12]
Constant1
1
Constant
b,Khối step và Ramp
Giống nh- khối constant ,ta có thể dùng tham số tuỳ chọn Interpret vector
parameter as 1_D để quyết định các tín hiệu dạng b-ớc nhẩy hay dạng dốc tuyến
tính có giá trị Scalar hay vector hay matran.
c,khối From File
Bằng khối From File ta có thể lấy số liệu từ một Matlap file ,hoặc kết quả của
một lần mô phỏng tr-ớc đó ,đã đ-ợc tạo lên và cất đi nhờ khối To file trong sơ đồ
Simulink .Số liệu cất trong Matlap file phải có định dạng nh- sau:
Các file đính kèm theo tài liệu này:
- 03200069_967_1984549.pdf