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

nghiên cứu thiết kế sử dụng phần mềm matlap

53 494 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 53
Dung lượng 587,11 KB

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

Nội dung

Matlab được dùng rộng rãi trong giáo dục, phổ biến nhất là giảicác bài toán số trị cả đại số tuyến tính lẫn giải tích trong nhiều lĩnhvực kĩ thuật..  MATLAB Application Program Interfac

Trang 1

NỘI DUNG

CHƯƠNG 1 : LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRUYỂN 2

1 Khái quát 2

2 Các công cụ trong matlap 3

CHƯƠNG 2: PHẠM VI ỨNG DỤNG 5

1 Các ưu điểm: 5

2 Khả năng ứng dụng 5

3 Nhược điểm: 6

CHƯƠNG 3 : GIỚI THIỆU PHẦN MỀM 7

1 Giới thiệu chung 7

2 Kiểm sóat chế độ nhập xuất dữ liệu cho Command Window 10

2.1 Hàm format: 10

2.2 Ma trận 11

2.3 Structure 15

2.4 Optimization toolbox 16

2.5 Statistics toolbox 20

2.6 Các phép toán logic VAF Symbolic Math toolbox 24

2.7 Công cụ simulink trong matlap 35

CHƯƠNG 4 : VÍ DỤ MINH HỌA( ĐỐI VỚI CÔNG CỤ SIMULINK) 38

4.1 Hàm truyền đạt của hệ thống 38

4.2 Đặc tính thời gian của hệ thống 38

4.2.1 Hàm quá độ 38

4.2.2 Đặc tính hàm trọng lượng g(t) 39

4.3 Đặc tính tần số 40

4.3.1.Đặc tính Nyquist 41

4.3.2 Đồ thị bode 42

4.4 Thiết kế bộ điều khiển PID 43

4.4.1 Sử dụng phương pháp ZEIGLER-NICHOLS để thiết kế bộ điều khiển: 44

Trang 2

Lịch sử hình thành

Matlab là viết tắt từ "MATrix LABoratory", được Cleve Moler phát minhvào cuối thập niên 1970, và sau đó là chủ nhiệm khoa máy tính tại Đạihọc New Mexico

MATLAB, nguyên sơ được viết bởi ngôn ngữ Fortran, cho đến 1980 nóvẫn chỉ là một bộ phận được dùng nội bộ của Đại học Stanford

Năm 1983, Jack Little, một người đã học ở MIT và Stanford, đã viết lạiMATLAB bằng ngôn ngữ C và nó được xây dựng thêm các thư viện phục

vụ cho thiết kế hệ thống điều khiển, hệ thống hộp công cụ (tool box),

mô phỏng Jack xây dựng MATLAB trở thành mô hình ngôn ngữ lậptrình trên cơ sở ma trận (matrix-based programming language)

Steve Bangert là người đã viết trình thông dịch cho MATLAB Côngviệc này kéo dài gần 1½ năm Sau này, Jack Little kết hợp với Moler

và Steve Bangert quyết định đưa MATLAB thành dự án thương mại công ty The MathWorks ra đời thời gian này - năm 1984

-Phiên bản đầu tiên MATLAB 1.0 ra dời năm 1984 viết bằng C cho DOS PC được phát hành đầu tiên tại IEEE Conference on Design andControl (Hội nghị IEEE về thiết kế và điều khiển) tại Las Vegas, Nevada.Ban đầu Matlab được phát triển để hỗ trợ sinh viên sử dụng hai thư viện LINPACK và EISPACK dùng cho đại số tuyến tính (viết bằng Fortran) màkhông cần biết lập trình Fortran

MS-Năm 1986, MATLAB 2 ra đời trong đó hỗ trợ UNIX

Trang 3

Năm 1987, MATLAB 3 phát hành.

Năm 1990 Simulink 1.0 được phát hành gói chung với MATLAB

Năm 1992 MATLAB 4 thêm vào hỗ trợ 2-D và 3-D đồ họa màu và các

ma trận truy tìm Năm này cũng cho phát hành phiên bản MATLABStudent Edition (MATLAB ấn bản cho học sinh)

Năm 1993 MATLAB cho MS Windows ra đời Đồng thời công ty này cótrang web là www.mathworks.com

Năm 1995 MATLAB cho Linux ra đời Trình dịch MATLAB có khả năngchuyển dịch từ ngôn ngữ MATLAB sang ngôn ngữ C cũng được pháthành trong dịp này

Năm 1996 MATLAB 5 bao gồm thêm các kiểu dữ liệu, hình ảnhhóa, bộ truy sửa lỗi (debugger), và bộ tạo dựng GUI

Năm 2000 MATLAB 6 cho đổi mới môi trường làm việc MATLAB, thaythế LINPACK và EISPACK bằng LAPACK và BLAS.[1]

Năm 2002 MATLAB 6.5 phát hành đã cải thiện tốc độ tính toán, sửdụng phương pháp dịch JIT (Just in Time) và tái hỗ trợ MAC

Năm 2004 MATLAB 7 phát hành, có khả năng chính xác đơn và kiểunguyên, hỗ trợ hàm lồng nhau, công cụ vẽ điểm, và có môi trường phântích số liệu tương tác

Đến tháng 12, 2008, phiên bản 7.7 được phát hành với SP3 cải thiệnSimulink cùng với hơn 75 sản phẩm khác

Năm 2009 cho ra đời 2 phiên bản 7.8 (R2009a) và 7.9 (R2009b)

Năm 2010 phiên bản 7.10 (R2010a) cũng đã được phát hành

Matlab được dùng rộng rãi trong giáo dục, phổ biến nhất là giảicác bài toán số trị (cả đại số tuyến tính lẫn giải tích) trong nhiều lĩnhvực kĩ thuật

2 Các công cụ trong matlap

Trang 4

 MATLAB Mathematical Function Library: tập hợp các hàm tóan học như sum, sine, số học, v.v.

 MATLAB Language (scritp): ngôn ngữ lập trình bậc cao

 Graphics: các công cụ giúp hiễn thị dữ liệu dưới dạng đồ thị Ngòai

ra nó còn cho phép xây dựng giao diện đồ họa

 MATLAB Application Program Interface (API): bộ thư viện cho phép

ta sử dụng các hức năng tính tóan của MATLAB trong chương trình C hay FORTRAN

Với 3 công cụ quan trọng nhất đó là:

 MATLABProduct Family (tính toán số, lập trình, phân tích dữ liệu, hiển thị đồ thị…)

 SimulinkProduct Family (mô phỏng bằng khối, thiết kế mô hình, hệthống nhúng…)

Polyspace Product Family (phân tích, kiểm tra,… liên quan đến lập

trình C, C++, và các bộ kit chứng chỉ DO, IEC)

Trang 5

CHƯƠNG 2: PHẠM VI ỨNG DỤNG.

1 Các ưu điểm:

- Cung cấp một công cụ tính toán và lập trình bậc cao dễ sử dụng,hiệu quả và thân thiện SIMULINK giúp người sử dụng thực hiện các bàitoán mô hình hóa mô phỏng trên máy tính

- Có tính mở, các hàm và toolbox không ngừng được bổ sung theo

sự phát triển của khoa học bởi chính công ty và cả người sử dụng trêntoàn thế giới

MatLab tính toán dựa trên dạng Matrận nên nếu biết đưa các vòng lặp

về dạng Matrận sẽ rút ngắn được nhiều về thời gian tính toán)

- Có thể thiết kế giao diện cho người dùng (GUI)

- Có công cụ trợ giúp phong phú trực tuyến, trên mạng hay cácdạng tài liệu khác

2 Khả năng ứng dụng

cả các phép toán về Ma trận, vẽ đồ thị, ngoại suy, nội suy

thông, Tự động, Kỹ thuật điện vì thứ nhất, nó hỗ trợ rất mạnh về Toán(như đã nói ở trên), thứ 2 là do MatLab có một thư viện Toolbox vàSimulink cực kỳ khổng lồ

Trang 6

- Đối với ngành Tự động và Kỹ thuật điện, biểu diễn rất nhiều cáccông cụ của MatLab, ví dụ tính toán độ ổn định của hệ thống (có sẵn cáckhối để simulink), vẽ biểu đồ Bode.

nhiều:Trong chương trình học, bạn sẽ được học về Xử lý số tín hiệu, vềthiết kế 1 bộ lọc (thông thấp, thông cao, thông dải ; FIR, IIR), về điềuchế (analog, digital), về mã hoá kênh truyền, về đánh giá chất lượng 1

hệ thống thông qua giá trị BER , tất cả những điều này bạn đều cóthể khảo sát bằng MatLab! Matlab đã cung cấp sẵn tất cả những công

cụ này, bạn chỉ nhập Input và khảo sát

- Khi làm đồ án môn học hoặc thực hành lý thuyết, MatLab là công

cụ mô phỏng chủ yếu và hiệu quả trong các đề tài về Hệ thống thôngtin (các kỹ thuật thông tin di động và các phương pháp cải thiện, Antenthông minh, hệ thống MIMO .), về Xử lý số tín hiệu (hình ảnh, âmthanh, video )

3 Nhược điểm:

nên mỗi lần chạy phải chạy từ MatLab Chính vì khuyết điểm này, các

chương trình viết bằng MatLab chì dùng để Mô phỏng trong quá trìnhhọc hoặc để tự khảo sát trong quá trình nghiên cứu vấn đề gì đó chứ

Trang 7

CHƯƠNG 3 : GIỚI THIỆU PHẦN MỀM

1 Giới thiệu chung

Giao diện

Trang 8

Hình 3.1 MATLAB desktop

Command Window: Đây là cửa sổ làm việc chính của MATLAB Tại đây

ta thực hiện tòan bộ việc nhập dữ liệu và xuất kết quả tính tóan Dấu nháy >> báo hiệu chương trình sẵn sàng cho việc nhập dữ liệu Ta kết thúc việc nhập dữ liệu bằng cách nhấn phím Enter MATLAB sẽ thực thi

dòng lệnh mà ta nhập vào Command Window và trả kết quả trong

Trang 9

Editor: dùng để sọan thảo và debug các M-file của MATLAB.

Current folder: xem các file trong thư mục hiện hành.

Một số thao tác cơ bản trong MATLAB

Trong MATLAB, thanh trình đơn thay đổi tùy theo cửa sổ mà ta lựa chọn

Tuy vậy các trình đơn File, Desktop, Window, Help có mặt hầu hết trong

các thanh trình đơn

Trình đơn File:

New: tạo một đối tượng mới (biến, m-file, figure, model, GUI).

Open: mở một file theo định dạng của MATLAB (*.m, *.mat, *.mdl)

Import data…: nhập dữ liệu từ các file khác vào MATLAB.

Save workspace…: lưu các biến trong MATLAB vào file *.mat.

Set path: khai báo các đường dẫn của các thư mục chứa các m-file.

Preferences: thay đổi các định dạng về font, font size, color cũng

như các tùy chọn cho Editor, Command Window v.v

Page Setup: định dạng trang in.

Print: in.

Trình đơn Desktop:

Desktop layout: sắp xếp các cửa sổ trong giao diện.

Save layout: lưu cách sắp xếp cửa sổ.

Trình đơn Window dùng để kích họat (activate) cửa sổ.

Nút Start cung cấp shortcut tới các công cụ trong MATLAB

Ví dụ:

>> variable_1=25;

Trang 10

Nếu ta chỉ nhập tên biến, giá trị của biến sẽ hiễn thị trong Command

Lưu ý rằng trong MATLAB nếu ta kết thúc câu lệnh bằng dấu “;” thì

Command Window sẽ không hiễn thị kết quả tính tóan ra màn hình.

Trang 11

function),erf (Error function),gamma (Gamma function), primes

(Generate list of prime numbers), cart2sph (Transform Cartesian to spherical coordinates) v.v

Hàm format kiểm sóat định dạng xuất ra màn hình của các giá trị

Hàm này chỉ kiểm sóat định dạng xuất ra mà không ảnh hưởng tới định dạng của dữ liệu được lưu trữ

Ví dụ:

>> x = [4/3 1.2345e-6];

>> format short

1.3333 0.0000

Trang 12

Không xuất kết quả ra màn hình:

Dùng dầu “;” ở cuối câu lệnh để Command Window không xuất kết

quả ra màn hình

Câu lệnh quá dài

Nếu câu lệnh quá dài ta dùng dấu 3 chấm “…” để thông báo câu lệnh được tiếp tục ở dòng tiếp theo

Ví dụ:

>>s = 1 -1/2 + 1/3 -1/4 + 1/5 - 1/6 + 1/7

-1/8 + 1/9 - 1/10 + 1/11 - 1/12;

Trang 13

2.2 Ma trận

Trong MATLAB ma trận là một array chứa các dữ liệu Để nhập một

ma trận vào MATLAB ta có thể dùng các cách sau:

 Nhập trực tiếp vào Command Window

Trang 14

Dùng các hàm trong MATLAB:

 Hàm ones(r,c) tạo một ma trận có r hàng và c cột với các giá 1

 Hàm zeros(r,c) tạo một ma trận có r hàng và c cột với các giá 0

 Hàm eye(r) tạo một ma trận có r hàng và r cột với các giá 1 tại đường chéo và giá trị 0 tại các phần tử còn lại

 rand(r,c) tạo một ma trận có r hàng và c cột với các giá trị ngẫu nhiên từ 0 tới 1 theo phân bố uniform

 randn(r,c) tạo một ma trận có r hàng và c cột với các giá trị ngẫu nhiên theo phân bố Normal đơn vị

Trang 16

 A*B : nhân ma trận (số cột của A bằng số hàng của B)

 A.*B : nhân từng phần tử của A và B (A, B cùng kích thước)

 inv(A) : nghịch đảo A

 B/A= (A'\B')' hay xấp xỉ B*inv(A)

 B./A: chia từng phần tử của B cho A (A, B cùng kích thước)

 A\B: nếu A là ma trận vuông, A\B xấp xỉ inv(A)*B Nếu A là ma trậnnxn và B là vector cột với n phần tử thì X = A\B là lời giải cho hệ đảng thức AX = B

 A.^B: lũy thừa từng phần tử của A với từng phần tử của B

Trang 17

2.3 Structure

Để thuận tiện cho việc quản lý và sử dụng, ta có thể tập hợp nhiều biến lại trong một structure Một structure đựơc tao như sau:

struct(‘name_1’, value_1,’name_2’, value_2,…)

trong đó name_* là tên của field là thành phần của một structure và value_* là giá trị mà ta cần gán cho field

>> myst=struct(‘data’, [1 2 3], ‘name’,’John Down’)

myst =

data: [1 2 3]

name: 'John Down'

Để truy cập dữ liệu trong structure ta dùng dấu “.”

>>myst.data(1)+1

ans =

2

2.4 Optimization toolbox

Bộ công cụ tối ưu hóa cho phép:

 Tối thiểu phi tuyến không ràng buộc (Unconstrained nonlinear minimization)

 Tối thiểu phi tuyến có ràng buộc (Constrained nonlinear

minimization)

 Quy họach tuyến tính và tòan phương (Quadratic and linear

programming)

 Nonlinear least squares and curve-fitting

Hàm bintprog(f, A, b, Aeq, beq, x0)

Dùng để giải bài tóan quy họach ngưyên (binary integer

programming)

min fTx

Trang 22

2.5 Statistics toolbox

Bộ cộng cụ với hơn 200 hàm hỗ trợ tính tóan trong:

 Probability Distributions: hỗ trợ 20 phân bố xác suất khác nhau, cung cấp các hàm phân bố, mật độ, tích lũy, nghịch đảo, bộ tạo số ngẫunhiên Ngòai ra nó còn cho phép xác định phân bố cho dữ liệu

 Descriptive Statistics: cung cấp các hàm cho thống kê mô tả

 Linear Models: hỗ trợ one-way, two-way, and n-way analysis of variance (ANOVA), analysis of covariance (ANOCOVA), hồi quy

(regression)

 Hypothesis Tests: hàm cho các kiểm định

 Statistical Plots: hỗ trợ vẽ các đồ thị thống kê

 Design of Experiments (DOE): hỗ trợ việc thiết kế thực nghiệm

Probability Distributions

 normpdf(X,MU,SIGMA) tính giá trị của hàm mật độ tại X cho phân

bố Normal có tham số MU và SIGMA

 R = normrnd(MU,SIGMA,m,n) tạo một ma trận R(m,n) chứa các giátrị ngẫu nhiên có phân bố Normal với tham số MU và SIGMA

 norminv(P,MU,SIGMA) tính giá trị nghịch đảo của xác suất p của hàm phân bố Normal tích lũy với tham số MU và SIGMA

 [muhat,sigmahat,muci,sigmaci] = normfit(DATA, alpha) ước lượng tham MU và SIGMA với độ tin cậy100(1 - alpha) % cho dữ liệu DATA theophân bố Normal

Trang 23

 mean(x) tính trung bình cho mỗi cột dữ liệu trong X.

 var(X) tính phương sai cho mỗi cột dữ liệu trong X

 prctile(X,p) tính số phân vị p% của dữ liệu X p trong khỏang [0 100]

 skewness(X), kurtosis(X) tìm skewness và kurtosis cho mỗi cột dữ liệu của X

 boxplot(X) tạo đồ thị box- whisker cho mỗi cột dữ liệu trong X

 normplot(X) vẽ đồ thị phân bố Normal cho mỗi cột dữ liệu trong X

 hist(X) vẽ đồ thị histogram cho dữ liệu X

 pareto(X) vẽ đồ thị Pareto cho dữ liệu X

Ví dụ:

>> boxplot(x)

Trang 24

Hình 3.2: boxplot

Linear model

 p = anova1(X) tính bảng one-way ANOVA để so sánh trung bình của 2 hay nhiều cột dữ liệu trong ma trận mxn X, trong đó các cột chứa mẫu có m quan sat độc lập Hàm trả lại giá trị p giả thuyết H0

 p = anova2(X,reps) tính two-way ANOVA để so sánh trung bình của 2 hay nhiều cột và 2 hay nhiều hàng các quan sát trong ma trận X

Dữ liệu trong các cột tương ứng với các thay đổi trong yếu tố A, dữ liệu trong hàng tương ứng với thay đổi trong yếu tố B Nếu có hơn một quan sát trong một tổ hợp ta dùng reps

Trang 25

 a<b (lt(a,b))- nhỏ hơn

 a<=b (le(a,b) – nhỏ hơn hoặc bằng

 a>b (gt(a,b) – lớn hơn

 a>=b (ge(a,b))- lớn hơn hoặc bằng

Phép tính logic

 ~a (not(a)) cho một ma trận với phần tử là 1 nếu phần tử tương ứng của a là 0 và 0 nếu phần tử tương ứng của khác 0

Trang 26

 a&b (and(a,b)) cho một ma trận có phần tử là 1 nếu phần tử tươngứng của a và b khác 0 và bằng 0 nếu một trong 2 phần tử tương ứng của a,b bằng 0.

 a|b (or(a,b) cho một ma trận có phần tử là 1 nếu một trong 2 phần

tử tương ứng của a và b khác 0 và bằng 0 nếu cả 2 phần tử tương ứng của a,b bằng 0

 xor(a,b) cho một ma trận có phần tử là 1 nếu chỉ một trong 2 phần

tử tương ứng của a và b khác 0 và bằng 0 nếu cả 2 phần tử tương ứng của a,b bằng 0 hay khác không

Trang 28

trở về chương trình đã gọi hàm hay script.

Symbolic Math toolbox

Bộ công cụ bộ sung khả năng giải tóan với các ký hiệu tóan học cho MATLAB Lõi của bộ công cụ này được phát triễn bởi Maple Nó cho phépthực hiện các phép tóan sau:

 Calculus: đạo hàm, tích phân, giới hạn, chuỗi

 Đại số tuyến tính: nghịch đảo, định thức, giá trị eigen, Inverses, determinants, eigenvalues, singular value decomposition, and canonicalforms of symbolic matrices

 Rút gọn: dùng để rút gọn biểu thức

 Giải phương trình: đại số và vi phân

 Các hàm đặc biệt: cung cấp các hàm đặcd biệt như beta, bessel, gamma

 Transforms: Fourier, Laplace, z-transform

Symbolic object

Để dùng được bộ công cụ ta phải định nghĩa một lọai dữ liệu đặc biệt khác với các lọai dữ liệu khác trong MATLAB- đó là symbolic (ký hiệu) Symbolic là một cấu trúc dữ liệu lưu lại chuỗi ký tự đại diện cho ký hiệu tóan học mà ta đang xử lý ta dùng symbolic để biểu hiện một biến, biểuthức hay ma trận

Trang 30

 symsum: tổng của một chuỗi.

 taylor: khai triễn chuỗi Taylor

Trang 31

Rút gọn biểu thức:

 collect(f,v): gom đa thức theo biến v

 expand: khai triển đa thức

 factor: phân tích đa thức thành các nhân tử

 horner: phân tích đa thức thành một biểu thức dạn Horner

 numden: phân tích biểu thức thành dạng hữu tỷ

 simple: đơn giản tối đa biểu thức

Ngày đăng: 22/05/2016, 09:11

HÌNH ẢNH LIÊN QUAN

Hình3.7. Đồ thị bar - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 3.7. Đồ thị bar (Trang 34)
Hình3.9. Đồ thị pie - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 3.9. Đồ thị pie (Trang 35)
Đồ thị 3D - nghiên cứu thiết kế sử dụng phần mềm matlap
th ị 3D (Trang 36)
Hình 3.12: của sổ làm việc của công cụ simulink - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 3.12 của sổ làm việc của công cụ simulink (Trang 38)
Hình 3.13: Sơ đồ khối ví dụ - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 3.13 Sơ đồ khối ví dụ (Trang 39)
Hình 4.2: Hàm trọng lượng - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 4.2 Hàm trọng lượng (Trang 42)
Hình 4.3:Đồ thị Nyquist - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 4.3 Đồ thị Nyquist (Trang 43)
4.3.2. Đồ thị bode. - nghiên cứu thiết kế sử dụng phần mềm matlap
4.3.2. Đồ thị bode (Trang 44)
Hình 4.5:Thiết kế bộ điều khiển P - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 4.5 Thiết kế bộ điều khiển P (Trang 47)
Hình 4.6:Thiết kế bộ điều khiển P chuẩn - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 4.6 Thiết kế bộ điều khiển P chuẩn (Trang 48)
Hình 4.7:Thiết kế bộ điều khiển PI - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 4.7 Thiết kế bộ điều khiển PI (Trang 49)
Hình 4.8:Thiết kế bộ điều khiển PI chuẩn - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 4.8 Thiết kế bộ điều khiển PI chuẩn (Trang 50)
Hình 4.9:Thiết kế bộ PID - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 4.9 Thiết kế bộ PID (Trang 51)
Hình 4.10:Thiết kế bộ PID - nghiên cứu thiết kế sử dụng phần mềm matlap
Hình 4.10 Thiết kế bộ PID (Trang 52)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w