1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề cương bài giảng ứng dụng máy tính trong thiết kế tính toán ô tô

49 284 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 49
Dung lượng 0,9 MB

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

Nội dung

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

Trang 1

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN

Trang 2

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

Trang 3

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 :

Trang 4

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:

Trang 5

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

Trang 6

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ạ

Trang 7

 : 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

Trang 8

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 :

Trang 9

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

Trang 10

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

Trang 11

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

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

Trang 12

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]

Trang 13

2.1.4.M¶ng kiÓu « (cell array)

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)

Trang 15

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

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 :

Trang 16

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 ()

Trang 17

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

Trang 18

[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

Trang 19

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á )

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

Trang 21

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

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

Trang 22

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 (x 1 ,x 2 )

đ-ợ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 (x 1 ,x 2 ) 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 đó

Trang 23

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 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 đó :

Trang 24

- 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

Để 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) = ax 3 + by 4 + 9

diffu

Trang 25

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

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)

Trang 26

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)

>> 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 :

Trang 27

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

Trang 28

>> 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

Trang 29

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ù )

Trang 31

x =

2.09455148154233

Trang 33

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

Ngày đăng: 24/10/2017, 13:27

TỪ KHÓA LIÊN QUAN

w