1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÁO CÁO TÌM HIỂU VỀ PHẦN MỀM MATLAB VÀ ỨNG DỤNG CỦA MATLAB TRONG GIẢI MẠCH ĐIỆN

32 2,8K 18

Đ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 32
Dung lượng 1,75 MB

Nội dung

BÁO CÁO TÌM HIỂU VỀ PHẦN MỀM MATLAB VÀ ỨNG DỤNG CỦA MATLAB TRONG GIẢI MẠCH ĐIỆN

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Trang 2

M C L C ỤC LỤC ỤC LỤC

1 Tổng quan về Matlab 3

1.1 Khái niệm Matlab 3

1.2 Tổng quan về cấu trúc dữ liệu của Matlab 3

1.3 Hệ thống MATLAB 4

1.4 Làm quen với MATLAB 5

2 Cách sử dụng MATLAB 7

2.1 Một số lệnh,biến thường sử dụng trong MATLAB 7

2.2 Số phức trong MATLAB 8

2.3 Sử dụng cửa sổ Command Window 10

2.4 Sử dụng cửa sổ M-file 12

2.5 Đồ họa trong MATLAB 20

3 Sử dụng M-file của MATLAB trong giải bài toán mạch điện 27

3.1 Giải mạch điện ở trạng thái xác lập 27

3.2 Giải bài toán mạch điện ở quá trình quá độ 30

Trang 3

1 Tổng quan về Matlab.

1.1 Khái ni m Matlab ệm Matlab.

Matlab là viết tắt từ "MATrix LABoratory", được Cleve Moler phátminh vào cuối thập niên 1970 là một ngôn ngữ lập trình thực hành bậc caođược sử dụng để giải các bài toán về kỹ thuật được thiết kế bởi công

ty MathWorks Matlab tích hợp được việc tính toán, thể hiện kết quả,cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng Dữliệu cùng với thư viện được lập trình sẵn cho phép người sử dụng có thể cóđược những ứng dụng sau đây:

-Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thôngthường

-Cho phép lập trình tạo ra những ứng dụng mới

-Cho phép mô phỏng các mô hình thực tế

-Phân tích, khảo sát và hiển thị dữ liệu

-Với phần mềm đồ hoạ cực mạnh

-Cho phép phát triển, giao tiếp với một số phần mềm khác như C++,Fortran

1.2 Tổng quan về cấu trúc dữ liệu của Matlab.

Matlab là một hệ thống tương giao, các phần tử dữ liệu là một mảng( mảng này không đòi hỏi về kích thước ) Chúng cho phép giải quyết cácvấn đề liên quan đến lập trình bằng máy tính, đặc biệt sử dụng các phéptính về ma trận hay vector và có thể sử dụng ngôn ngữ C học Fortran lậptrình rồi thực hiện ứng dụng lập trình đó bằng các câu lệnh từ MATLAB.MATLAB được viết nhằm truy cập vào phần mềm ma trận một cách dễdàng, phần mềm này được phát triển bởi các công trình Linpack và

Trang 4

Eispack Ngày nay MATLAB dược phát triển bởi lapack và Artpack tạonên một nghệ thuật phần mềm cho ma trận.

a Dữ liệu

Dữ liệu của MATLAB thể hiện dưới dạng ma trận và có các kiểu

dữ liệu như: kiểu đơn single, kiểu double ( một kiểu dữ liệu thôngdụng dùng trong MATLAB ), kiểu Sparse, kiểu int8, uint8, int16,kiểu char, kiểu cell

b Ứng dụng

MATLAB tạo thuận lợi cho việc giải những bài toán phức tạp,MATLAB đc dùng để tính toán nghiên cứu ra các sản phẩm tốt nhấttrong sản xuất MATLAB cho phép các bạn ứng dụng các kĩ thuật đểphân tích, thiết kế, mô phỏng các mô hình

1.3 Hệ thống MATLAB.

Hệ thống MATLAB được chia làm 5 phần:

 Môi trường phát triển:

Đây là nơi đặt các thanh công cụ, các phương tiện giúp chúng ta sửdụng các lệnh và các file Bao gồm: Desktop, Command Window,Command History, Browsers for viewinghelp

 Thư viện, các hàm toán học:

Bao gồm các cấu trúc như tính tổng, sin, cosin, các phép tính đơngiản cho đến các phép tính phức tạp như tính ma trận nghịch đảo, trịriêng, chuyển đổi, laplace

 Ngôn ngữ MATLAB:

Đó là ngôn ngữ về ma trận và mảng, các dòng lệnh, các hàm, các cấutrúc dữ liệu vào, có thể lập trình hướng đối tượng

Trang 5

 Đồ họa MATLAB:

Bao gồm các câu lệnh thể hiện đồ họa trong môi trường 2D và 3D,tạo các ảnh chuyển động, cung cấp các hình ảnh tương tác giữangười sử dụng và máy tính

 Giao tiếp với các ngôn ngữ khác:

MATLAB cho phép tương tác với các ngôn ngữ khác nhưC,fortran

1.4 Làm quen v i MATLAB ới MATLAB.

Giao diện làm việc của MATLAB:

Trang 6

Hình 1: giao diện của MATLAB.

Cửa sổ đó chứa các công cụ ( giao diện giữa người và máy ) cần thiết choviệc quản lý các file, các biến, các của sổ lệnh, có thể coi desktop là cácpanel gồm các ô, vùng, quản lý và tác dụng của từng của sổ nhỏ được quản

lý bởi desktop

+ Cửa sổ lệnh Command Window: đây là cửa sổ chính của MATLAB.Tại đây ta thực hiện tất cả các công việc nhập dữ liệu và xuất kết quả tính

Trang 7

toán Dấu >> báo hiệu chương trình sẵn sàng hoạt động, kết thúc mỗi lầnnhập bằng dấu ENTER, muốn đóng màn hình MATLAB có thể sử dụnglệnh quit, exit hoặc tổ hợp phím Ctrl+q.

+ Cửa sổ soạn thảo Editor: Nhờ chương trình soạn thảo MATLAB ta cóthể viết mới hay sửa đổi các Scripts và các hàm Bên cạnh chức năng soạnthảo, còn có các chức năng thông thường khác mà một chương trình soạnthảo cần phải có, phục vụ xử lý từng bước nội dung chương trình, hay đểphát hiện lỗi

+ Cửa sổ quá khứ

Command History: tất cả

các lệnh trong Command

Window được lưu trữ và

hiện thị tại đây Có thể lặp

Trang 8

+ Cửa sổ môi

trường công tác

Wordspace Browser:

Tất cả các biến, hàm

tồn tại trong môi

trường công tác đều

được hiển thị trong

môi trường này với

đầy đủ thông tin

như: tên, loại biến/hàm, kích cỡ tính theo byte và loại dữ liệu Ngoài ra còn

có thể cất vào bộ nhớ toàn bộ dữ liệu đó hoặc sử dụng chức năng ArrayEditor (soạn thảo mạng) để thay đổi các biến

+ Cửa sổ Launch Pad: Cửa sổ này cho phép người dùng truy cập nhanhvào cửa sổ MATLAB, phần Help hoặc phần Online Documents, mởDemos

+ Cửa sổ thư mục hiện tại Current Directory Browser: Nhờ cửa sổ nàyngười sử dụng có thể nhận biết, chuyển đổi thư mục hiện tại của môitrường công tác, mở File, tạo thư mục mới

- Clear biến 1, biến 2 : xóa các biến được liệt kê trong câu lệnh

- Who: hiển thị các biến được định nghĩa trong chương trình

Hình 3: Cửa sổ Wordspace

Trang 9

- Whos: hiển thị các biến được định nghĩa trong chương trình cùng vớithông số về biến.

- Size (tên biến đã được định nghĩa): cho biết kích cỡ của biến dướidạng ma trận với phần tử thứ nhất là số hàng của ma trận, phần tử thứhai là số cột của ma trận

- Save: lưu giữ các biến vào một File dưới dạng Matlab.mat

- Load: Tải các biến đã được lưu giữ trong một File đưa vào vùng làmviệc

+ Một số biến được định nghĩa trước:

- ans: tự động gán tên này cho kết quả của phép tính mà ta không đặttên

- pi:

- realmax: đưa ra giá trị số lớn nhất mà máy tính có thể tính toán được

- realmin: đưa ra giá trị số nhỏ nhất mà máy tính có thể tính toán được

2.2 S ph c trong MATLAB ố lệnh,biến thường sử dụng trong MATLAB ức trong MATLAB.

+ Biểu thức biểu diễn số phức:

- imag(x): tìm phần ảo của số phức x

- conj(x): tìm số phức liên hợp của số phức x

- abs(x): tìm giá trị tuyệt đối của số phức x

- angle(x): góc tạo bởi giữa trục thực và trục ảo cảu số phức x

Trang 11

2.3 S d ng c a s Command Window ử dụng trong MATLAB ụng trong MATLAB ử dụng trong MATLAB ổ Command Window.

Do dữ liệu của MATLAB dưới dạng ma trận nên các biến dùng trongMATLAB cũng ở dạng ma trận, việc đặt tên biến không được đặt một cáchtùy tiện mà phải đặt theo một quy định

Nhập các biến, ma trận, các lệnh liệt kê trực tiếp

Trường hợp không sử dụng biến lưu kết quả, biến ans tự động được gán: >>6+7

Trang 12

1 2

3 4MATLAB có hàng trăm hàm được định nghĩa sẵn như: sin , cos

Chú ý : thứ tự ưu tiên các phép toán : dấu ngoặc() trong biểu thức -> toán

tử ^ (thực hiện từ trái sang phải) -> toán tử nhân * , chia / (có cùng mức

ưu tiên thực hiện từ trái sang phải) -> phép cộng + , phép trừ -

Ví dụ : cho 3 số a=1, b=-2, c=1, giải phương trình bậc 2 với các hệ số đó:

Trang 13

+ Lưu và lấy dữ liệu:

>> load ('C:\matlabR12\work\ten_file', '-ASCII ')

Ví dụ:

>>a=3;

>>b=4;

>>save('C:\matlabR12\work\save','a','b','-ASCII') %lưu 2 biến a và b

>>load('C:\matlabR12\work\save','-ASCII') %khôi phục dữ liệu

2.4 S d ng c a s M-file ử dụng trong MATLAB ụng trong MATLAB ử dụng trong MATLAB ổ Command Window.

Cách vào M-file: File/New/M-file, môi trường soạn thảo Editor/ Debugger

Trang 14

Khi viết xong chương trình, ghi nội dung với tên Vidu.m rồi thoát ra khỏicủa sổ soạn thảo trở về cửa sổ lệnh Tại cửa sổ này gõ tên Vidu.m vào sautín hiệu lệnh >>

- Script file: là một chương trình con không có giá trị trả về

- Function file: là một chương trình con có giá trị trả về

a Script file

Để thay đổi các giá trị a, b, c ta

sửa lại chương trình Vidu.m trên

Trang 15

Mỗi một file hàm của MATLAB được khai báo như sau:

Function [tên kết quả] = tenham(danh sách các biến)

Phần thân của chương trình trong hàm là các lệnh của MATLAB được thựchiện tính toán các giá trị các đại lượng được nêu ở phần tên kết quả theocác biến được nêu trong phần danh sách các biến Các biến chỉ có tác dụng

Hình 5: viết chương trình giải pt bậc 2 với Script file (2)

Trang 16

nội trong các hàm vừa được khai báo Tên của các biến được cách nhaubằng dấu phẩy (,).

Ví dụ 1: Thành lập hàm đổi từ độ sang radian

function rad = change(do)

rad = do*pi/180; %đổi độ sang radian

File.m thường lấy tên là tên hàm, ta đặt tên file vừa lập là change.m

Nếu muốn đổi 45o sang rad ta chỉ cần gõ

>>rad=change(45)

rad=

0.7854

Ví dụ 2: tạo hàm giải phương trình

bậc 2 với tên hàm là bachai.m

Hình 6: hàm giải ptb2 viết trong M-file

Hình 7: thực hiện chương trình bachai.m trong command window

Trang 17

-2.2707

Chú ý :

Cấu trúc câu lệnh điều kiện và vòng lặp

+ Cấu trúc câu lệnh điều kiện.

Trang 18

 Câu điều kiện và lệnh Break.

Cú pháp: if<biểu thức logic> ,break,End

Trang 19

Quy tắc: Thoát khỏi vòng lặp nếu điều kiện trong biểu thức logic đúngngược lại sẽ thực hiện tiếp bên trong vòng lặp

Ví dụ: giải ptb2, biện luận số nghiệm của pt

a=input(' vao a=')

Hình 8:giải và biện luận ptb2 bằng câu lệnh điều kiện

Hình 9: thực hiện chương trình giải và biện luận ptb2

Trang 20

- Nếu ma trận biểu thức mà rỗng thì không thực hiện vòng lặp.

- Nếu biểu thức là một đại lượng vô hướng thì vòng lặp thực hiện 1 lần

và chỉ nhận giá trị của đại lượng vô hướng

- Khi kết thúc vòng lặp,chỉ số chỉ nhận giá trị cuối cùng

- Có thể dùng toán tử: for i = chỉ số đầu:gia số:chỉ số cuối

lưu vào với tên: lenhfor

Gõ vào cửa sổ Command Window

Trang 21

Nhóm lệnh A;

End

Quy tắc: nếu biểu thức đúng thì thực hiện nhóm lệnh A, khi thực hiện xongkiểm tra điều kiện nếu điều kiện vẫn đúng thực hiện tiếp nhóm lệnh A, nếusai vòng lặp kết thúc

+ Symbolic trong M-file

Ví dụ:

syms x %khai báo biến x là biến symbolic

f=3*x^2+2*x+5 %hàm f là hàm symbolic

biến symbolic là một biến có thể thay đổi được

hàm chứa biến symbolic là hàm số thay đổi theo biến suymbolic

2.5 Đ h a trong MATLAB ồ họa trong MATLAB ọc Bách Khoa Hà Nội

2.5.1 Vẽ đồ thị đường điểm trong MATLAB.

Để vẽ đồ họa trong MATLAB chúng ta sử dụng lệnh plot

Trang 22

của y theo các chỉ số tương ứng của chúng, nếu y là ma trận các số thực,nếu y là các số phức thì plot(y) tương ứng với plot(real(y),image(y)).

2.5.2 Vẽ các đường, các điểm trong không gian.

Dùng hàm plot3(x,y,z) để vẽ các đường, các điểm trong không gian

Chú ý lệnh View(a,b) để quan sát góc nhìn của đồ thị, trong đó a là góc tínhtheo chiều ngược chiều kim đồng hồ từ phía âm của trục y, còn b là gócnhìn tính bằng độ xuống mặt phẳng (x,y) Nếu không sử dụng View, giá trịmặc định của (a,b) là (-37.5,30).khi cho a=0, b=90 thì hình vẽ trở về hình

Trang 23

Khi chuyển từ hệ tọa độ cực

sang hệ tọa độ Decart ta làm

Trang 24

Phân thành 4 khoanh, mỗi

khoanh tương ứng với phần

trăm của các phần tử trong x

Đồ thị: hình 14

Hình 13: Đồ thị bar(x,exp(-x.*x))

Hình 14: Đồ thị hình tròn của vecto x=[1 2 3 4]

Trang 25

2.5.6 Lệnh plot3(x,y,z) và cách tạo lưới.

Trang 26

 Mô phỏng hệ thống bằng hàm quá độ xung.

 Mô phỏng hệ thống bằng các đặc tính biên độ tần số và pha tần số

Hình 17: Mô phỏng hệ thống bằng hàm quá độ xung

Hình 18: Mô phỏng hệ thống bằng hàm đặc tính tần biên pha.

Trang 28

3 Sử dụng M-file của MATLAB trong giải bài toán mạch điện.

3.1 Gi i m ch đi n tr ng thái xác l p ải mạch điện ở trạng thái xác lập ại Học Bách Khoa Hà Nội ệm Matlab ở trạng thái xác lập ại Học Bách Khoa Hà Nội ập.

B1 Xác nhận giải mạch điện bằng dòng vòng hay dòng nhánh

B2 Viết ma trận thể hiện quan hệ giữa các dòng vòng hay dòng nhánh.B3 Xác định các thông số của các vòng hay các nhánh như : điện trở,nguồn dòng, nguồn áp, hỗ cảm…

B4 Đưa ra các biểu thức để xác định dòng điện của từng vòng, từng nhánh

và hiệu điện thế giữa các đỉnh

B5 Vẽ đồ thị của dòng điện, điện áp (nếu đề bài yêu cầu)

Trang 29

Khởi động Matlab rồi vào File/New/M-file, môi trường soạn thảo Editor/Debugger sẽ xuất hiện: gõ trực tiếp các lệnh sau rồi lưu lại với tên vidu1.m:B=[1 0 1;0 1 1] % Ma tran dong vong

Iv=inv(Zv)*Ev % dong vong, inv la phep tinh nghich dao

Inh=B'*Iv % dong nhanh

Trang 30

Unh=Znh*(Inh+Jnh)-Enh % dien ap nhanh

Sau khi lưu lại, quay trở lại cửa sổ Current Directory kích trái chuột vàotên vidu1.m rồi kích vào Run Tại cửa sổ Command Window sẽ cho tanhập các giá trị của các phần tử trong mạch Với số liệu: E1=100, E2=200/_30, J3=10/_60, Z1=11+j41, Z2=21+j51, Z3=31+j61, Z12=Z21=0,Z23=Z32=-j*0.5*sqrt(51*61), Z13=Z31=-j*0.75*sqrt(41*61) kết quả sẽhiện ra:

Kết quả trên màn hình

3.2 Gi i bài toán m ch đi n quá trình quá đ ải mạch điện ở trạng thái xác lập ại Học Bách Khoa Hà Nội ệm Matlab ở trạng thái xác lập ội

Sử dụng phương pháp toán tử Laplace để giải bài toán quá độ :

 L=laplace(F) : biến đổi Laplace của hàm F với biến mặc định t và nócho ta một hàm của s

 L=laplace(F,t) : L là hàm của t thay thế cho biến mặc nhiên s

Trang 31

 L=laplace(F,w,z) : L là hàm của z và F là hàm của w và nó thay thếcho biến symbolic mặc nhiên s và t tương ứng.

 F=ilaplace(L) : Biến đổi Laplace ngược với hàm symbolic L với biếnmặc nhiên độc lập s, nó cho ta một hàm của t

 F=ilaplace(L,y) : F là hàm của y thay thế cho biến mặc nhiên t

 F=ilaplace(L,y,x) : F là hàm của x, L là hàm của y,nó thay thế chobiến symbolic mặc nhiên t và s

Ví dụ : Cho mạch điện như hình vẽ :

E=120sint10t V, J=10A,

R1=10 Ω, R2=20Ω, L=1H,

C=1mF Khi khóa ở vị trí

1, mạch ở trạng thái xác

lập Tại thời điểm t=0

khóa K chuyển từ 1 sang

2 Tìm dòng điện quá độ trên

Gõ các dòng lệnh sau vào cửa sổ

m-file rồi lưu lại với tên vidu2.m :

B=[1 1 0;0 1 1]

syms s % Khai bao bien symbolic

E1=1200/(s*s+100); E2=10; E3=200/s;

Enh=[E1;-E2;E3]

Z1=10;Z2=20+s;Z3=1000/s;

Znh=[Z1 0 0;0 Z2 0;0 0 Z3]

Ngày đăng: 26/07/2015, 14:20

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w