1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài giảng Giải tích mạch và mô phỏng trên máy tính: Phần 1 ĐH Phạm Văn Đồng

30 36 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 30
Dung lượng 756,22 KB

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

Nội dung

(NB) Bài giảng Giải tích mạch và mô phỏng trên máy tính: Phần 1 gồm có 3 chương cung cấp kiến thức về Chương 1: Các khái niệm cơ bản, Chương 2: Tính toán trên các mảng số, Chương 3: Nhập xuất dữ liệu trong MATLAB.

Trang 1

1

TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG

KHOA KỸ THUẬT CÔNG NGHỆ

 

BÀI GIẢNG GIẢI TÍCH MẠCH

VÀ MÔ PHỎNG TRÊN MÁY TÍNH

Bậc học: CAO ĐẲNG

(BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI)

Bộ môn: Điện - Điện tử

Khoa: Kỹ thuật - Công nghệ

Quảng Ngãi - 05/ 2019

Trang 2

2

TRƯỜNG ĐẠI HỌC PHẠM VĂN ĐỒNG

KHOA KỸ THUẬT CÔNG NGHỆ

 

BÀI GIẢNG GIẢI TÍCH MẠCH

VÀ MÔ PHỎNG TRÊN MÁY TÍNH Bậc học: CAO ĐẲNG (45 TIẾT)

(BỘ LAO ĐỘNG THƯƠNG BINH VÀ XÃ HỘI)

GV: Trương Quang Sanh

Bộ môn: Điện - Điện tử

Khoa: Kỹ thuật - Công nghệ

Quảng Ngãi - 05/ 2019

Trang 3

3

LỜI NÓI ĐẦU

Điều khiển tự động hóa đóng vai trò quan trọng trong sự phát triển của khoa học và

kỹ thuật Lĩnh vực này sử dụng rất rộng rãi từ hệ thống phi thuyền không gian, hệ thống điều khiển tên lửa, máy bay không người lái, robot, người máy tay, máy trong các quá trình sản xuất hiện đại và ngay cả trong đời sống hàng ngày: Điều khiển nhiệt độ, độ ẩm,

Khi các máy móc hiện đại ngày nay càng phức tạp hơn nhiều tín hiệu vào và ra thì việc mô tả hệ thống điều khiển đòi hỏi cần phải tính toán nhanh và xử lý một lượng lớn các lệnh phức tạp

Nhằm tạo kỹ năng lập trình và mô phỏng để giải quyết các bài toán đại số, phương trình vi phân, ma trận, các bài toán về phương trình toán lý, trong kỹ thuật điện, điện tử, tự

động… Bài giảng “GIẢI TÍCH MẠCH VÀ MÔ PHỎNG TRÊN MÁY TÍNH” sẽ giúp

cho chúng ta tìm hiểu những nội dung cơ bản nhất về Matlab và Simulink cũng như ứng dụng giải quyết những bài toán kỹ thuật điện đơn giản

Nội dung của bài giảng gồm 8 chương:

Chương 1: Các khái niệm cơ bản Chương 2: Tính toán trên các mảng số Chương 3: Nhập - xuất dữ liệu trong MATLAB Chương 4: Các lệnh điều khiển trong MATLAB Chương 5: Đồ họa trong MATLAB

Chương 6: Các bài toán đại số tuyến tính và phương trình vi phân Chương 7: Simulink

Do thời gian biên soạn có hạn nên không tránh được những sai sót, mong những góp ý xin gửi về Bộ môn Điện - Điện tử, khoa Kỹ thuật - Công nghệ, Trường Đại học Phạm Văn Đồng Trân trọng cảm ơn!

Tác giả!

Trang 4

4

MỤC LỤC

MỤC LỤC 4

Chương 1 CÁC KHÁI NIỆM CƠ BẢN 6

1.1 Giới thiệu phần mềm matlab 6

1.2 Làm việc trong môi trường Matlab 7

1.3 Các lớp dữ liệu 8

Chương 2 TÍNH TOÁN TRÊN CÁC MẢNG SỐ 10

2.1 Khởi tạo các mảng số 10

2.2 Các phép tính trên mảng số 12

2.3 Các hàm toán học và logic 16

2.4 Xử lý, tính toán các mảng số 19

Chương 3 NHẬP - XUẤT DỮ LIỆU TRONG MATLAB 23

3.1 Nhập dữ liệu từ bàn phím bằng hàm input 23

3.2 Nhập dữ liệu từ chuột bằng hàm menu 23

3.3 Xuất dữ liệu ra cửa sổ lệnh bằng hàm disp Hàm format và các khuôn dạng số24 3.4 Xuất dữ liệu ra cửa sổ lệnh bằng hàm sprintf 26

3.5 Xuất dữ liệu ra file bằng lệnh save 27

3.6 Nhập dữ liệu từ file bằng lệnh load 27

3.7 Nhập xuất dữ liệu với các file văn bản có định dạng bằng các hàm

fopen, fscanf, fprintf, fclose 28

Chương 4 CÁC LỆNH ĐIỀU KHIỂN TRONG MATLAB 31

4.1 Các lệnh rẽ nhánh: if end, switch end 31

4.2 Các lệnh lặp: for end, while end 34

4.3 Các lệnh chuyển trong vòng lặp 37

4.4 Hàm tạm dừng 39

Chương 5 ĐỒ HỌA TRONG MATLAB 41

Trang 5

5

5.1 Cơ sở đồ họa Matlab 41

5.2 Đồ họa 2 chiều 42

5.3 Đồ họa 3 chiều 44

5.4 Thiết kế giao diện đồ họa 46

Chương 6 CÁC BÀI TOÁN ĐẠI SỐ TUYẾN TÍNH VÀ 51

PHƯƠNG TRÌNH VI PHÂN 51

6.1 Tính toán với vectơ và ma trận 51

6.2 Hệ phương trình đại số tuyến tính 53

6.3 Giải thuật giải phương trình vi phân 54

6.4 Giải thuật giải bài toán kỹ thuật điện 56

Chương 7 SIMULINK 60

7.1 Khởi động Simulink 60

7.2 Thao tác cơ bản với Simulink 62

7.3 Thư viện Sources, Sinks 63

7.4 Khai báo tham số và mô phỏng 70

TÀI LIỆU THAM KHẢO 79

Trang 6

6

Chương 1 CÁC KHÁI NIỆM CƠ BẢN

1.1 Giới thiệu phần mềm matlab

Đối với lĩnh vực điều khiển - tự động hóa nói riêng và trong lĩnh vực khoa học - kỹ thuật nói chung, mô phỏng là công cụ quan trọng cho phép khảo sát các đối tượng, hệ thống hay quá trình kỹ thuật - vật lý, mà nhất thiết không phải có đối tượng hay hệ thống thực Matlab - simulink được trang bị công cụ mô phỏng mạnh và các phương pháp mô hình hóa

Matlab là một bộ chương trình phần mềm lớn của lĩnh vực tính toán số Tên bộ

chương trình chính là chữ viết tắt từ MATric LABoratory, thể hiện định hướng chính của

chương trình là các phép toán 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ăng nhập/xuất cũng như các khả năng điều khiển chu trình mà nhờ đó ta có thể dựng nên các đoạn chương trình để thực thi

Thêm vào phần cốt lõi là các Toolbox (bộ công cụ) với phạm vi chức năng chuyên dụng mà người sử dụng cần Trong phạm vi giáo trình này chỉ giới thiệu một số Toolbox liên quan đến mô phỏng mạch, điều khiển - tự động hóa Đặc biệt, Simulink là một Toobox có vai trò đặc biệt quan trọng: 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

Trước khi khởi động Matlab, thì người dùng phải tạo một thư mục làm việc để chứa các file chương trình của mình (ví dụ: E:/thuchanh_matlab)

Matlab sẽ thông dịch các lệnh được lưu trong file có dạng *.m Sau khi cài đặt Matlab thì việc khởi động chạy chương trình này chỉ đơn giản là nhấp vào biểu tượng của

nó trên desktop , hoặc vào Start\All Programs\Matlab\Matlab

Sau khi đã khởi động Matlab xong, thì bước kế tiếp là chỉ thư mục làm việc của mình cho Matlab Nhấn vào biểu tượng trên thanh công cụ và chọn thư mục làm việc của mình (ví dụ: E:/thuchanh_matlab)

Cửa sổ làm việc của Matlab sẽ như hình 1.1 Nó bao gồm 3 cửa sổ làm việc chính: Cửa sổ lệnh (Command Window), cửa sổ thư mục hiện tại (Current Directory) và cửa sổ chứa tập các lệnh đã được sử dụng (Command History)

Trang 7

7

Hình 1.1 Giao diện làm việc của phần mềm Matlab

Để tạo một file ***.m trong thư mục làm việc, ta có thể thực hiện:

 Nhấn vào biểu tượng hoặc vào File\New\M-file

 Cửa sổ soạn thảo xuất hiện, gõ chương trình cần thiết vào file Sau khi đã hoàn tất nhấn vào biểu tượng để lưu vào thư mục hiện tại (E:/thuchanh_matlab)

Để thực thi tập lệnh có trong ***.m trong thư mục làm việc thì người dùng chỉ cần

gõ tên file đó và Matlab sẽ tự động thực thi các dòng lệnh có trong ***.m này

1.2 Làm việc trong môi trường Matlab

Matlab là một môi trường tính toán số và lập trình Giống như một máy tính cơ bản,

nó làm tất cả các phép tính toán học cơ bản như cộng, trừ, nhân, chia; giống như máy tính

kỹ thuật, nó bao gồm: số phức, căn thức, số mũ, logarit, các phép toán lượng giác như: sin, cos, tang,…; nó cũng giống như máy tính có thể lập trình, có thể lưu trữ, tìm kiếm lại dữ liệu, cũng có thể tạo, bảo vệ và ghi trình tự các lệnh để tự động phép toán khi giải quyết các vấn đề, có thể so sánh logic, điều khiển thực hiện lệnh để đảm bảo tính đúng đắn của phép toán Giống như các máy tính hiện đại nhất, nó cho phép biểu diễn dữ liệu dưới nhiều dạng như: biểu diễn thông thường, ma trận đại số, các hàm tổ hợp và có thể thao tác với dữ liệu thường cũng như đối với ma trận

Matlab cung cấp một môi trường phong phú cho biểu diễn dữ liệu và có khả năng mạnh mẽ về đồ họa, tạo các giao diện riêng cho người sử dụng GUIs Thêm vào đó

Trang 8

8

Matlab đưa ra những công cụ để giải quyết những vấn đề đặc biệt, gọi là Toolbox Ngoài

ra ta còn có thể tạo ra các Toolbox cho riêng mình

1.3 Các lớp dữ liệu

Dữ liệu của Matlab thể hiện dưới dạng ma trận (hoặc mảng) và có các kiểu dữ liệu được liệt kê sau đây:

- Kiểu đơn single: Dữ liệu số với độ chính xác đơn, kiểu này có lợi về mặt bộ nhớ

nhưng không được sử dụng trong các phép tính toán học vì có độ chính xác kém

- Kiểu double: Dữ liệu số với độ chính xác kép, kiểu này là kiểu thông dụng nhất của

các biến trong Matlab

- Kiểu uint8, uint16, …

- Kiểu char

- Matlab còn có một số kiểu dữ liệu khác cao cấp hơn: kiểu cell, kiểu struct (bản

ghi)

Biến và cách đặt tên cho biến

Biến (variable): trong Matlab là 1 kí hiệu được sử dụng để chứa 1 giá trị Gồm biến

toàn cục (global), biến cục bộ (local)

Tên biến (variable name): bắt đầu bằng một chữ cái, tiếp theo là các chữ cái, chữ số

hoặc kí tự gạch chân ( _ )

Tên_biến = giá trị hoặc biểu thức

Tên biến phải tuân thủ theo các quy tắc sau:

 Tên biến có phân biệt chữ hoa và chữ thường

Ví dụ: Iterms, iterms, itErms và ITERMS là các biến khác nhau

 Tên biến có thể chứa nhiều nhất 31 kí tự, sau kí tự thứ 31 sẽ bị lờ đi

Trang 9

9

Các hằng

Câu hỏi ôn tập Chương 1

Câu 1.1: Làm thế nào để khởi động Matlab?

Câu 1.2: Cách tạo và lưu một file ***.m vào thư mục đã tạo trước?

Câu 1.3: Làm thế nào để định nghĩa một biến?

Câu 1.4: Các quy định khi đặt tên biến là gì?

Câu 1.5: Trình bày các lớp dữ liệu trong Matlab?

-

Trang 10

Với mảng có số lượng phần tử ít thì ta có thể nhập vào trực tiếp, nhưng với mảng có

số lượng lớn các phần tử thì ta dùng một trong hai cách sau:

- Tạo một mảng bắt đầu là phần tử 0, sau bằng phần tử trước cộng với 0.1, phần tử cuối là 1, tất cả các phần tử của mảng được nhân với pi:

Trang 11

Các mảng trên là các mảng mà các phần tử của nó được tạo lên theo một quy luật nhất định Nhưng đôi khi mảng được yêu cầu, nó không thuận tiện tạo các phần tử bằng các phương pháp trên, không có một mẫu chuẩn nào để tạo các mảng này Tuy nhiên ta có thể tạo mảng bằng cách vào nhiều phần tử cùng một lúc

Trang 12

12

a là mảng gồm các phần tử [1 3 5], mảng d là mảng gồm các phần tử của a và ghép thêm các phần tử [1 0 1]

Tóm lại ta có bảng cấu trúc các mảng cơ bản:

x=[ 2 2*pi sqrt(2)

2-3j ]

Tạo vector hàng x chứa các phần tử đặc biệt

x = first : last Tạo vector hàng x bắt đầu tại first, phần tử sau bằng

phần tử trước cộng với 1, kết thúc là phần tử có giá trị bằng hoặc nhỏ hơn last

x = first : increment :

last

Tạo vector hàng x bắt đầu tại first, giá trị cộng là increment, kết thúc là phần tử có giá trị bằng hoặc nhỏ hơn last

Ðể tạo vectơ cột, ta dùng dấu chấm phẩy để phân cách các phần tử Ngoài ra, ta

cũng có thể dùng các hàm linspace hay từ các vectơ hàng, sau đó dùng phương pháp chuyển vị.

Trang 13

2.2.2 Phép toán giữa mảng với mảng

Thuật toán thực hiện phép toán giữa các mảng không phải đơn giản như trên mà nó còn bị ràng buộc bởi các điều kiện khác như đối với hai mảng kích cỡ như nhau thì ta có các phép toán sau: phép cộng, phép trừ, phép nhân, chia tương ứng giữa các phần tử của của hai mảng

Trang 15

15

Chú ý ta chỉ có thể dùng phép nhân_chấm hay phép chia_chấm đối với các mảng g và

h mà không thể dùng phép nhân ( * ) hay phép chia ( / hoặc \ ) vì đối với các phép toán

này yêu cầu số cột và số hàng của hai ma trận phải tương thích

2.2.3 Mảng với lũy thừa

MATLAB dùng toán tử ( ^ ) để định nghĩa luỹ thừa của mảng

Ví dụ ta có hai mảng g và h như ở trên, ta có thể tạo các mảng mới bằng toán tử

Trang 16

Sau đây là bảng một số phép toán cơ bản của mảng:

Dữ liệu minh hoạ: a = [a1 a2 an] , b = [b1 b2 bn] ,

c là số vô hướng Cộng với số đơn A+c = [a1 +c a2 +c an+c]

Nhân với số đơn A*c = [a1 *c a2 *c an*c]

Cộng mảng A+b = [ a1+b1 a2+b2 an+bn ]

Nhân mảng a.*b = [ a1*b1 a2*b2 an*bn ]

Chia phải mảng a./ b = [ a1/ b1 a2/ b2 an/ bn ]

Chia trái mảng a.\ b = [ a1\ b1 a2\ b2 an\ bn ]

Luỹ thừa mảng a.^c = [ a1^c a2^c an^c ]

c.^a = [ c^a1 c^a2 c^an ] a.^b = [ a1^b1 a2^b2

Trang 17

17

và thuật toán, nó rất hữu ích để giải quyết các vấn đề khoa học Tất cả các hàm được liệt

kê trong menu help Ở đây chỉ đề cập đến các hàm thông dụng nhất

2.3.1.1 Hàm toán học cơ bản

abs(x) Hàm tính giá trị tuyệt đối của x

sqrt(x) Hàm tính căn bậc hai của x

round(x) Làm tròn x về số nguyên gần nhất

fix(x) Làm tròn số x về 0

floor(x) Làm tròn về phía -∞

ceil(x) Làm tròn về phía ∞

sign(x) Hàm cho giá trị là -1 nếu x nhỏ hơn 0, giá trị bằng 0 nếu x bằng

0, có giá trị là 1 nếu x lớn hơn 0

rem (x,y) Hàm trả lại số dư của phép chia x cho y

exp(x) Hàm tính giá trị của ex

log(x) Hàm tính giá trị ln(x)

log10(x) Hàm tính giá trị log10(x)

2.3.1.2 Hàm lượng giác cơ bản

Ðơn vị của các tham số phải là radian

sin(x) Tính sin của góc x

cos(x) Tính cos của góc x

tan(x) Tính tan của góc x

2.3.2 Các toán tử logic và quan hệ

Ðối với các số thì trong toán tử và quan hệ quy định các số khác không là True còn

số không là False Kết quả của phép toán logic và quan hệ đưa ra là 1 cho True, 0 cho False

2.3.2.1 Toán tử quan hệ

Toán tử quan hệ Matlab bao gồm các phép so sánh:

Trang 18

Toán tử logic cung cấp một cách diễn đạt mối quan hệ phủ định hay tổ hợp:

Biểu thức logic với các toán tử tổ hợp được xác định theo qui luật sau:

Ðôi khi gặp những biểu thức phức tạp chứa cả toán tử & lẫn toán tử | , MATLAB

sẽ có qui luật về trình tự xử lý như sau:

Ðầu tiên là xử lý các tính toán số học Sau đó, các toán tử logic được xem xét từ trái sang phải Những biểu thức con có trong biểu thức cần xử lý (có các toán tử & và | ) cũng được xem xét từ trái sang phải với các toán tử & được xử lý trước các toán tử |

Ví dụ:

Trang 20

20

Ở trên ta dùng dấu hai chấm ( : ) để chỉ tất cả các hàng

>> A = [1 2 3; 4 5 6; 7 8 9]; % Gán lại các giá trị của ma trận A

>> B = A(3:-1:1,1:3) % Tạo ma trận B bằng cách đảo ngược các hàng của ma trận A

Trang 22

22

2 2 2 2

4 4 4 4

8 8 8 8

Câu hỏi ôn tập chương 2

Câu 2.1: Trình bày cách tạo mạng đơn? Cho ví dụ?

Câu 2.2: Vectơ hàng và vectơ cột là gì? Cho ví dụ?

Câu 2.3: Trình bày cách tạo mảng số?

Câu 2.4: Cho mảng g dưới đây:

Trang 23

- input: Từ khóa của hàm nhập dữ liệu;

- x: Tên biến được gán giá trị nhập vào;

- prompt: Dòng text mà người sử dụng đánh vào;

Khi đó biến x sẽ có giá trị bằng giá trị mà người sử dụng nhập vào

Ngoài ra ta có hàm: x = input (‘prompt’ , ‘s’) trả về chuổi kí tự Trong khi thực hiện

lệnh ta có thể sử dụng một số ký hiệu đặc biệt như dấu ngắt xuống dòng \n, dấu móc trên cao ‘ ’(khi thực hiện ta thu được trên màn hình duy nhất một dấu ‘) và gạch nghiêng chéo

\\( khi thực hiện ta thu được trên màn hình duy nhất một dấu\)

Sau đây là một ví dụ về một Script có khúc đối thoại nhập văn bản:

Price = input ([‘What does the exchange rate \n , …

‘looke like today ?’ ]);

Currency = input (‘ DEM\\EUR ?’ , ‘s’);

Sau khi gọi Script và nhập số liệu, ví dụ ta có thể nhận kết quả như sau

What does the exchange rate

Look like today ? 1.93

3.2 Nhập dữ liệu từ chuột bằng hàm menu

Để thực hiện nhập dữ liệu từ chuột bằng hàm menu, từ của sổ chính của Matlab ta

thực hiện File/ Import Data như sau:

Khi đó sẽ xuất hiện một cửa sổ import data như sau:

Trang 24

24

Sau đó ta chọn đường dẫn đến thư mục chứa file dữ liệu cần nhập, và chọn nút open

để nạp dữ liệu

3.3 Xuất dữ liệu ra cửa sổ lệnh bằng hàm disp Hàm format và các khuôn dạng số

Để xuất dữ liệu ra cửa sổ lệnh ta dùng hàm disp có cấu trúc như sau:

disp(x) disp(‘text’)

Trong đó,

disp : Từ khoá của hàm xuất dữ liệu,

x : tên biến hoặc các giá trị số cần xuất ra màn hình,

text : dòng text mà người sử dụng cần xuất ra màn hình

Khi xuất số liệu hay chuỗi ký tự ra màn hình ta đều có thể đặt định dạng cho việc

xuất Lệnh disp(string) có tác dụng xuất chuỗi ký tự Lệnh này có thể sử dụng cho chuỗi

ký tự chứa văn bản động, trong đó các chữ số phải được biến thành chuỗi ký tự nhờ lệnh

num2str(variable [,format])

Đối với số liệu vector ta có thể lập định dạng xuất nhờ string = sprintf(string,

variable), sau đó xuất bằng lệnh disp Khi sử dụng hai lệnh num2str và sprintf, cú pháp

lập định dạng về cơ bản cũng giống như ngôn ngữ lập trình C Tất cả các biến phải được khai báo chung trong một ma trận duy nhất, và mỗi cột là một bộ tham số xuất

Ví dụ: Thành lập hàm M-file, nhập vào giá trị tiết diện dây dẫn, nhập vào chiều dài

và xuất ra giá trị điện trở của đoạn dây Cho dây dẫn bằng đồng (ρ=18.84 Ω mm2/km).Thành lập hàm M-file

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w