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

công nghệ gia công áp lực tiểu luận matlab simulink

128 143 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 128
Dung lượng 1,14 MB

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

Nội dung

Những bước đi dầu tiên với MATLAB 1.1.1 Màn hình MATLAB Sau khi khỏi động MATLAB , môi trường tích hợp với những cửa sổ chính như hìnhdưới : - Cửa sổ Launch Pad : Cửa sổ này cho phép ngư

Trang 1

Phần I : Cơ sở về MATLAB

MATLAB là một chương trình phần mềm lớn về lĩnh vực toán số Tên bộ chương trìnhchính là chữ viết tắt từ MATrix LABoratory, thể hiện định hướng của chương trình là những phéptính vector và ma trận Phần cốt lõi của chương trình bao gồm một số hàm toán , các chức nănngnhập /xuất cũng như các khả năng điều khiển chu trình mà nhờ đó có thể dựng trên các Scripts Trong phần nay bao gồm các Toolbox liên quan tới Điều Khiển –Tự Động hóa như:Control System Toolbox, Signal Processing Toolbox, Optimization Toolbox, StateflowBlockset, Power System Blockset , Real – Time Workshop va SIMULINK SIMULINK là một

toolbox có vai trò bặc biệt quan trọng: Vài trò của một công cụ mạnh phục vụ mô hình hóa và

mô phỏng các hệ thống Kỹ thuật – Vật lý trên cơ sở sơ đồ cấu trúc dạng khối Cùng với

SIMULINK , Statefow Blockset tạo cho ta khả năng mô hình hóa và mô phỏng các automattrạng thái hữu hạn

1.1 Những bước đi dầu tiên với MATLAB

1.1.1 Màn hình MATLAB

Sau khi khỏi động MATLAB , môi trường tích hợp với những cửa sổ chính như hìnhdưới :

- Cửa sổ Launch Pad : Cửa sổ này cho phép người sử dụng truy cập nhanh các công

cụ của MATLAB, Phần Help (trợ giúp) hoặc Online Documents (tài liệu trực tuyến), mởDemos (chương trình trình diễn)

Trang 2

- Cửa sổ thư mục hiện tại Current Directory Browser : Nhờ cửa sổ này người sử dụng

nhanh chóng nhận biết, chuyển đổi thư mục hiện tại của môi trường công tác, mở File, tạo thưmục mới

- Cửa sổ môi trường công tác Workspace Browser : Tất cả các biến, các hàm tồn tại

trong môi trường công tác đều được hiển thị tại cửa sổ nàyvới đầy đủ các thông tin như: Tên loạibiến/hàm, kích thước tùy theo Bytes và loại dữ liệu Ngoài ra còn có thể cất vào bộ nhớ các dữliệu đó , hoặc sử dụng chức năng Array Editor (soạn thảo mảng) để thay đổi các biến

- Cửa sổ lệnh Command Windows : Đây là cửa sổ chính của MATLAB Tại đây ta

thực hiện toàn bộ việc nhập dữ liệu và xuất kết quả tính toán Dấu nhấp nháy >> báo hiệuchương trình sắp hoạt động:

- Mỗi lần nhập dữ liệu được kết thúc bằng động tác nhấn phím ENTER Nguyên tắc “

nhân, chia thực hiện trước cộng , trừ “ và thư tự ưu tiên của dấu ngoặc vẫn như bình thường Số

có giá trị lớn thường được nhập với hàm e mũ (có thể viết E) Có thể kết thúc chương trình bằng

cách đóng màn hình MATLAB , hoặc gọi lệnh quit, exit hoặc nhấn tổ hợp phím Ctrl+q

- Cửa sổ quá khứ Command History : Tất cá các lệnh đã sử dụng trong Command

Windows được lưu giữ và hiển thị tại đây, có thể lặp lại lệnh cũ bắng cách nháy chuột kép vàolệnh đó Cũng có thể cắt, sao hoặc xóa cả nhóm lệnh hoặc từng lệnh riêng rẽ

1.1.2 Tiện ích trợ giúp (Help) của MATLAB

Tiện ích trợ giúp của MATLAB là vô cùng phong phú Tùy theo nhu cầu , hoặc gọi Help [command] để xem nội dung hỗ trợ của lệnh command trực tiếp trên Command Windows hoặc sử dụng công cụ truy cập Help

Trang 3

Thông thường , kết quả cảu các biến được gán cho ans Sủ dụng dấu bằng ta có

nghĩa một biến , đồng thời gán giá trị cho biến dó Khi nhập tên của một biến m khônà khôn

help[command]

helpwin[command] doc[command]

lookforsearchstring

Help

Tiện ích Help trực tuyến của MATLAB trong cửa sổ lệnh Commmand Workspace

Tiện ích Help trực tuyến của MATLAB trong cửa Sổ truy cập HelpTư liệu trực tuyến của MATLAB trong cửa sổ truy

cập HelpTìm chuỗi ký tự searchstringtrong dòng đầu tiên của mọi MATLAB Files trong thư mục MATLAB

Có thể gọi của sổ Help bằng cách gọi trên Menu , gọi lệnh helpwin hay doc trực tiếp trên của sổ

Command Windows Bằng lệnh loockfor searchstring ta có thể tìm chuỗi ký tự searchstring trong dòng

đầu của mọi MATLAB File trong thư mục MATLAB

>> help log

LOG Natural logarithm

LOG(X) is the natural logarithm of the elements of X

Complex results are produced if X is not positive

See also LOG2, LOG10, EXP, LOGM

trị , ta thu giả trị hiện tại của biến đó Tất cả các biến đều là biến global trong Workspace Tên

của biến có thể chứa tới 32 chữ cái , gạch ngang thấp (_) cũng như chữ số Chữ viết hoa to và

chữ viết nhỏ đều được phân biệt

Việc nhập giá trị có thể được thực hiện thành một chuỗi trong cùng một dòng , chỉ cách

nhau bởi dấu (;) Nếu sử dụng dấu phẩy(,) để tách các lệnh khi ấy các giá trị sẽ được xuất ra

màn hình :

>> x=25; y=10;

>> x

Trang 4

(Type "warning off MATLAB:divideByZero" to suppress this warning.)

Cấp chính xác tương đối khi sử dụng giá trị dấu phẩy động Toán tử ảo

Vô cùng ( Ơ )Not a Number Hằng số

Một số biến như : pi , i , j và inf đã được MATLAB dùng đêr chỉ các hằng số hay ký

hiệu, vậy ta phải tránh sử dụng chúng Đối với các phép tính bất định (ví dụ 0/0), trên màn

hình sẽ xuất hiện kết quả NaN (Not a Number) esp cho ta biết cấp chính xác tương đối khi biểu diễn số với dấu phẩy động (ví dụ : esp = 2.2204e-016):

>> 1/0

Warning: Divide by zero

(Type "warning off MATLAB:divideByZero" to suppress this

warning.) ans =

>> 0/0

Warning: Divide by zero

NaN NaN: not – defined (bất định )

1.1.4 Các hàm toán học

Chương trình MATLAB có sẵn rất nhiều hàm toán tập hợp trong bảng sau đây Tất cả các hàm trong bảng đều có khả năng sử dụng tính của vector

Trang 5

vector =

vector)” Ta cũng có thể nhập bằng lệnh logspace, start và khôn destination đ−ợc nhập bởi

số phân , ví dụ : thay vì nhập 100 = (102)ta chỉ cần nhập 2

Các hàm toán

sqrt(x) Căn bậc hai rem(x,y) Số dư của phép chia x/y

log10(x) Logarit cơ số thập phân floor(x) Làm tròn xuống

abs(x) Giá trị tuyệt đối sum(v) Tổng các phần tử

vector

phase(x) Góc pha của số phức mean(v) Giá trị trung bình cộng

Các hàm lượng giác

1.2 Vector và ma trận

MATLAB có một số lệnh đặc biệt để khai báo hoặc sử lý vector và ma trận Cách đơngiản nhất để khai báo , tạo lên vector hoặc ma trận là nhập trực tiếp Khi nhập trực tiếp cácphần tử của một hàng được cách bởi dấu phẩy hoặc vị trí cách bỏ trống1, các hàng được cáchbởi dấu (;) hoặc ngắt dòng

Vector có các phần tử tiếp diễn với một bược nhất định , có thể nhập một cách đơn giản

Toán tử (:) như sau (start: increment; destination) “(xuất phát : bước; đích)” Nếu chỉ nhậpstart và destination , MATLAB sẽ tự động đặt increment là +1

Cũng có thể nhập các vector tuyến tính cũng như vector có phân hạng logarithm bằng

cách dùng lệnh linspace(start, destination, number) “(Trong đó number là số lương phần tử của

Trang 6

>> matran(2,:) ans =

Khai báo vector v ma tr à ma tr ận

[x1 x2 …; x3 x4 …] Nhập giá trị cho vector và khôn ma trậnstart: increment: destination

linspace (start,destination ,number) logspace (start,destination ,number) eye(line)

ones(line,column) zeros(line,column) rand(line,column)

Toán tử (:)Khai báo tuyến tính cho vector Khai báo logarithm cho vector Khai báo ma trận đơn vịKhai báo ma trận với các phần tử 1 Khai báo ma trận với các phần tử 0 Khai báo ma trận với các phần tử nhập ngẫu nhiên

longer =1.0000 4.5000 8.0000 11.5000 15.0000

>> licreace=logspace(1,2,5) licreace =

>> matran(2,2) ans =

2

MATLAB có một lệnh rất hữu ích , phục vụ tạo ma trận với chức năng tín hiệu thử đó là :

rand(m,n) Khi gọi ta thu được ma trận m hàng và n cột với phần tử mang các giá trị ngẫu nhiên:

>> mt_ngaunhien=rand(2,3) mt_ngaunhien =

0.4565 0.8214 0.61540.0185 0.4447 0.7919

Trang 7

1.0000 + 1.0000i 1.0000 - 1.0000i

vector vector_1 và khôn vector_2 Nếu hai vector cần chập có phần tử là khôn các hệ số của hai

đa quả thu đ−ợc sẽ ứng với các hệ số sau khi nhân hai đa thức đó với nhau :

1.2.1 Tính toán với vector và ma trận

Nhiều phép tính có thể áp dụng cho vector và ma trận Ví dụ : Phép nhân với ký hiệu(*)

được dùng để tính tích của vector và ma trận Việc chuyển vị của vector và ma trận được thực

hiện nhờ lệnh transpose hoặc (‘) Nếu vector và ma trận là phức , ta dùng thêm lệnh là

ctranspose hoặc (‘) để tìm giá trị phức liên hợp Đối với các giá trị thực hai lệnh trên như nhau

>> M / matran

ans =

0.3333 0.2500 0.2000

1.0000 0.5000 0.3333

Phép tính trên cũng có hiệu lực cả khi ma trận có các phần tử phức:

>> matranphuc = [1+i 1-i; 1 2 ]

Trang 8

8

Trang 9

Results may be inaccurate RCOND = 1.850372e-018.

ans =

Tính toán với vector v ma tr à ma tr ận

.* / ^

transpose(matrix) hoặc matrix’ ctranspose(matrix) hoặc matrix’

inv(matrix) det(matrix) eig(matrix) rank(matrix) diff(vector[n])

conv(vector_1,vector_2)

Các phép tính với từng phần tửChuyển vị ma trận matrixChuyển vị ma trận matrix có phần tử phức liên hợpĐảo ma trận

Tính định thức của ma trận Tính giá trị riêng của ma trận Xác định hạng của ma trận Tính vector sai phânChập vector (nhân đa thức)

Trang 10

>>my_structure = struct(‘data’, matrix, ‘size’, [2 3]);

Việc truy cập vào dữ liệu được thực hiện bởi với dấu cách(.);

>>my_structure (2) data = matrix.^(-1)

; ans =

Ngoài ra MATLAB còn có các lệnh về cấu trúc móc vòng như cấu trúc nhập bởi lệnh componist

1.2.2 Trường

Tổng quát ở một mức độ cao hơn cấu trúc là trường (Cell Array) Đó chính là các Array

(mảng nhiều chiều), chứa Cell (tế bào) với dữ liệu thuộc các loại và kích cỡ khác nhau Ta có thể

tạo ra Cell Array bằng lệnh cell , hoặc đơn giản hơn bằng cách ghép các phần tử bên trong dấu

ngoặc {} Từng phần tử của Cell Array có thể được truy cập như các vector , ma trận thôngthương như các Array nhiều chiều , chỉ cần lưu ý rằng : Thay vì dùng dấu ngoặc tròn ( ) ta sửdụng dấu ngoặc móc {}

Giả sử ta tạo ra một Cell Array rỗng có tên my_cell như sau :

[] []

[] []

Bây giờ ta lần lượt gán cho từng mảng của my_cell các giá trị sau đây:

>> my_cell{1,1} ='chao cac ban';

>> my_cell{1,2} ='chuc cac ban hoc tap tot';

Trang 11

dụng rộng rãi nhờ v o tình nà khôn ăng −u việt của phần mềm n yà khôn

Cấu trúc (Structure) v tr à ma tr −ờng (Cell Array) Structure(‘n1’,’v1’,’n2’,’v2’, …) Khai báo cấu trúc

Structure.name Truy cập v oà khôn phần tử

name

Trang 12

c: chứa thông báo hệ điều hành của máy.

m: số phần tử của ma trận lớn nhất mà máy có thể làm việc được với Matlab

Trang 13

clear name

clear name1 name2 name3

clear variables: xóa tất cả các biến ra khỏi bộ nhớ

clear mex: xóa tất cả các tập tin mex ra khỏi bộ nhớ

cd

cd diretory

cd

c) Giải thích :

cd: cho biết thư nục hiện hành

diretory: đường dẫn đến thư mục muốn làm việc

cd chuyển đến thư mục cấp cao hơn một bậc

clear: xóa tất cả các biến khỏi vùng làm việc

clear name: xóa các biến hay hàm được chỉ ra trong name

clear functions: xóa tất cả các hàm trong bộ nhớ phụ

clear: xóa tất cả các biến chung

clear all: xóa tất cả các biến, hàm, và các tập tin mex khỏi bộ nhớ Lệnh này làm cho bộ nhớ trống hoàn toàn

8 Lệnh DELETE

a) Công dụng :

Xóa tập tin và đối tượng đồ họa

Trang 14

b) Cú pháp :

delete

filename

Trang 15

file name: tên tập tin cần xóa.

n: biến chứa đối tượng đồ họa cần xóa Nếu đối tượng là một cửa sổ thì cửa sổ sẽ đóng lại

dir: liệt kê các tập tin và thư mục có trong thư mục hiện hành

dir name: đường dẫn đến thư mục cần liệt kê

Trang 16

x: là tên của ma trận hay là tên của biến chứa chuỗi ký tự, nếu trình bày trực tiếp chuỗi

ký tự thì chuỗi ký tự được đặt trong dấu ‘’

13 Lệnh ECHO

Trang 17

Format long Hiển thị 14

con số sau dấu

3.14159265358979

phân số của phần nguyên nhỏ nhất

help: hiển thị vắn tắt các mục hướng dẫn

topic: tên lệnh cần được hướng dẫn

16 Lệnh HOME

a) Công dụng :

Trang 18

Đem con trỏ về đầu vùng làm việc.

b) Cú pháp :

Trang 19

load: nạp file matlap.mat

load filename: nạp file filename.mat

load filename.extension: nạp file filename.extension

Tập tin này phải là tập tin dạng ma trận có nghĩa là số cột của hàng dưới phải bằng số cộtcủa hàng trên Kết quả ta được một ma trận có số cột và hàng chính là số cột và hàng củatập tin văn bản trên

Trang 21

Tạo đường dẫn, liệt kê tất cả các đường dẫn đang có.

Lệnh pack sẽ thực hiện:

+ lưu tất cả các biến lên đĩa trong một tập tin tạm thời là pack.tmp

+ xóa tất cả các biến và hàm có trong bộ nhớ

+ lấy lại các biến từ tập tin pack.tmp

+ xóa tập tin tạm thời pack.tmp

kết quả là trong vùng nhớ các biến được gộp lại hoặc nén lại tối đa nên không bị lãng phí bộ nhớ

Pack.finame cho phép chọn tên tập tin tạm thời để chứa các biến Nếu không chỉ ra tên tập tin tạm thời thì Matlab tự lấy tên tập tin đó là pack.tmp

Nếu đã dùng lệnh pack mà máy vẫn còn báo thiếu bộ nhớ thì bắt buộc phải xóa bớt các biến trong vùng nhớ đi

path: liệt kê tất cả các dường dẫn đang có

p: biến chứa đường dẫn

path (p): đặt đường dẫn mới

Trang 22

[m,n] = size (x)

m = size (x,1)

Trang 23

d: tên vectơ có 2 phần tử, phần tử thứ nhất là số dòng, phần tử còn lại là số cột

m,n: biến m chứa số dòng, biến n chứa số cột

filename: tên file cần hiển thị nội dung

Lệnh này trình bày tập tin được chỉ ra

what: liệt kê tên các tập tin m, mat, mex có trong thư mục hiện hành

dirname: tên thư mục cần liệt kê

Trang 24

a) Công dụng :

Thông tin về biến đang có trong bộ nhớ

Trang 25

- Trừ ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích

th

* Nhân ma trận hoặc đại lượng vô hướng (ma trận 1 phải có số cột

./ Thực hiện chia thuận từng phần tử của ma trận n y cho ma trà khôn ận kia

who: liệt kê tất cả các tên biến đang tồn tại trong bộ nhớ

whos: liệt kê tên biến, kích thước, số phần tử và xét các phần ảo có khác 0

không who global và whos: liệt kê các biến trong vùng làm việc chung

II CáC TOáN Tử Vỡ Ký Tự ĐặC BIệT

1 Các toán tử số học (Arithmetic Operators):

.* Nhân từng phần tử của 2 ma trận hoặc 2 đại lượng vô hướng (các ma trận phải

Trang 26

.^ Lũy thừa từng phần tử ma trận hoặc đại lượng vô hướng (các ma trận phải có cùng kích thước).

Trang 27

Phép so sánh có chế độ −u tiên sau phép toán số học nh−ng trên phép toán logic.

Công dụng

& Thực hiện phép toán logic AND

 Thực hiện phép toán logic OR

~ Thực hiện phép toán logic NOT

Kết quả của phép toán là 1 nếu phép logic là đúng và là 0 nếu phép logic là sai Phép logic có chế độ ưu tiên thấp nhất so với phép toán số học và phép toán so sánh

b) Ví dụ:

Trang 28

Khi thực hiện phép toán 3>4 & 1+ thì máy tính sẽ thực hiện 1+2 được 3, sau đó tới 3>4được 0 rồi thực hiện 0 & 3 và cuối cùng ta được kết qủa là 0.

Trang 29

Công dụng[] Khai báo vector hoặc ma trận.

() Thực hiện phép toán ưu tiên, khai báo các biến và các chỉ số của vector

y: biến chứa kết quả

x: tên vedtor hay ma trận

2 Lệnh ANY

a) Công dụng :

Kiểm tra vector hay ma trận có giá trị khác 0 hay không

Trang 31

item: là tên file hay tên biến.

e: biến chứa giá trị trả về

0 item không tồn tại trong vùng làm việc

1 item là biến đang tồn tại trong vùng làm việc

2 item đang tồn tại trên đĩa (chỉ kiểm tra trong thư mục hiện

4 item là file được dịch từ phần mềm Simulink

5 item là hàm của Matlab

k: chỉ vị trí của phần tử cần tìm trong vector

i,j: chỉ số hàng và số cột tương ứng của phần tử cần

tìm s: chứa giá trị của phần tử cần tìm

Trang 32

x: tên vector, ma trận hay là yêu cầu đề ra Nếu không nêu ra yêu cầu thì mặc nhiên là tìm các phần tử khác 0.

Trang 33

thực hiện công việc;

kq: biến chứa kết quả

Nếu ‘string’ là các ký số thì chuyển thành những con số

Nếu ‘string’ là câu lệnh thì chuyển thành các lệnh thi hành được

Trang 35

công việc chính là khôn các lệnh cần thi h nh,à khôn có thể có nhiều lệnh, kết thúc lệnh

phải

7 Lệnh PAUSE

c) Gi ả i

thích:

‘promt’: chuỗi ký tự muốn nhập vào

‘s’: cho biết giá trị nhập vào là nhiều ký tự

thực hiện công việc 1;

elseif biểu thức luận lý 2

thực hiện công việc 2;

tên menu: là tiêu đề của menu

tên biến: là nơi cất giá trị nhận được sau khi chọn chức năng của menu

Chức năng 1, 2, ….,n:khi chọn chức năng nào thì tên biến có giá trị là số thứ tự của chức năng đó

a) Công dụng :

Dừng chương trình theo ý muốn

b) Cú

pháp:

Trang 37

thực hiện công việc;

pause off: tắt chức năng pause

pause (n): dừng chương trình tại n giây

Dùng để thực hiện 1 công việc cần lặp đi lặp lại theo một quy luật, với số bước lặp không xác định, phụ thuộc vào biểu thức luận lý

b) Cú pháp :

while biểu thức luận lý

c) Giải thích :

Biểu thức luận lý là các phép so sánh = =, <, >, <=, >=

Công việc chính là các lệnh cần thi hành, có thể có nhiều lệnh, kết thúc lệnh phải có dấu

; Khi thực hiện xong công việc thì quay lên kiểm tra lại biểu thức luận lý, nếu vẫn cònđúng thì tiếp tục thực hiện, nếu sai thì kết thúc

1 Lệnh

ABS

V TậP LệNH Xử Lý CHUỗI

ng mảLấy trị tuyệt đối của một số âm

b) Cú pháp :

n =

Trang 38

s: chuỗi ký tự, hoặc là khôn tên biến chứa chuỗi ký

Trang 39

n: con số nguyên hệ 10.

4 Lệnh HEX2DEC

Chuyển số nguyên sang dạng chuỗi

Chuyển các ký tự trong một chuỗi sang số thứ tự tương ứng trong bảng mã

Nếu n l chuà khôn ỗi ký tự thì kq l sà khôn ố tương ứng trong bảng mã

ASCII

a: số âm, hoặc là tên biến chứa số âm

x: trị tuyệt đối của a

Trang 40

Nếu n l chuà khôn ỗi ký tự thì kq l sà khôn ố tương ứng trong bảng mã

ASCII

kq: biến STR(n)chứa kết

quả n: tên biến cần chuyển

Nếu n là số nguyên thì kq là chuỗi ký số

Ngày đăng: 29/06/2020, 08:06

TỪ KHÓA LIÊN QUAN

w