Đề tài Ứng dụng Matlab trong giải mạch điện tuyến tính ở chế độ xác lập

MATLAB là một bộ phần mềm dùng để tính toán các bài toán kỹ thuật, được viết bằng ngôn ngữ C do hãng Math Works Inc sản xuất. Nó được tạo trên cở sở những phần mềm do các nhà lập trình của các dự án LINPACK và EISPACK viết ra bằng ngôn ngữ Fortran dùng cho việc thực hiện các phép tính và thao tác trên ma trận. Tên của phần mềm MATLAB là chữ viết tắt của ‘Matrix Laboratory’ có nghĩa là ‘phương pháp ma trận’. Đến khi thực hành sử dụng phần mềm ta sẽ thấy mỗi phần tử cơ bản của Matlab là một ma trận. Phần mềm Matlab liên tục được bổ sung và hoàn thiện. Các ứng dụng điển hình của Matlab: - Toán học và tính toán. - Phát triển thuật toán. - Tạo mô hình, mô phỏng và giao thức. - Khảo sát, phân tích số liệu. - Đồ họa khoa học kỹ thuật. - Phát triển ứng dụng, gồm cả giao diện người dùng đồ họa GUI. - Thiết kế các hệ thống điều khiển trong thời gian thực.

docx42 trang | Chia sẻ: tienduy345 | Lượt xem: 3784 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Ứng dụng Matlab trong giải mạch điện tuyến tính ở chế độ xác lập, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC Trang MỞ ĐẦU LỜI CẢM ƠN Chương 1. TỔNG QUAN VỀ MATLAB ......3 1.1. Bắt đầu với Matlab .. 3 1.2. Các khái niệm cơ bản6 1.3. Các hàm toán học. 9 Chương 2. MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ XÁC LẬP ...10 2.1. Mạch điện tuyến tính ở chế độ xác lập .....10 2.2. Một số phương pháp giải mạch điện tuyến tính ở chế độ xác lập .11 Chương 3. XÂY DỰNG THUẬT TOÁN PHÂN TÍCH MẠCH .....18 3.1. Bài toán ......18 3.2 . Thuật toán phân tích mạch.18 Chương 4. KIỂM TRA VỚI MATLAB ...25 4.1. Ví dụ.. 25 4.2. Kiểm tra bằng Matlab... 27 KẾT LUẬN TÀI LIỆU THAM KHẢO Mở đầu Trong chuyên ngành Kỹ thuật điều khiển và Tự động hóa, lý thuyết mạch điện là một học phần quan trọng. Là cơ sở để sinh viên nắm vững và hiểu được các nguyên lý, nguyên tắc trong xây dựng, tính toán mạch điện, từ đó giúp sinh viên có thể đi sâu học tập, nghiên cứu các học phần là đặc thù của ngành. Với sự giảng dạy của thầy, cô bộ môn học phần lý thuyết mạch bản thân em đã phần nào nắm vững cơ lý thuyết, phương pháp để giải các bài tập mạch điện. Song với số lượng bài tập lớn, khối lượng tính toán nhiều, phải thường xuyên làm việc với những mạch điện phức tạp ở các chế độ khác nhau. Vì vậy việc tính toán để giải một bài tập lý thuyết mạch thường mất khá nhiều thời gian, trong quá trình tính toán có thể mắc nhiều sai lầm dẫn đến kết quả thu được không chính xác. Qua quá trình tìm hiểu về phần mềm mô phỏng Matlab & Simulink, với những ứng dụng thiết thực, rộng lớn của nó ở rất nhiều lĩnh vực khoa học – kỹ thuật nói chung và đặc biệt đối với kỹ sư điều khiển – tự động hóa, cụ thể hơn là việc hỗ trợ giải bài toán mạch điện. Với mục đích tìm ra phương pháp giải bài tập về mạch tuyến tính nhanh chóng và chính xác, đề tài “Ứng dụng Matlab trong giải mạch điện tuyến tính ở chế độ xác lập” được hình thành. Lời cảm ơn Để hoàn thành được đồ án với đề tài “ Ứng dụng Matlab trong giải mạch điện tuyến tính ở chế độ xác lập”, với sự nỗ lực của bản thân, em đã vận dụng những kiến thức được học, được trang bị từ thầy cô giảng dạy tại giảng đường, sự tìm tòi học hỏi, cùng sự thu thập thông tin liên quan tới đề tài. Bên cạnh đó em luôn nhận dược sự hướng dẫn, giúp đỡ tận tình của các thầy cô và sự góp ý của các bạn trong nhóm đồ án. Em xin gửi lời cảm ơn chân thành tới thầy. Người đã hướng dẫn em làm đồ án này, thầy đã giúp đỡ, tạo mọi điều kiện thuận lợi để em hoàn thành được đồ án. Lần đầu tiên thực hiện làm một đồ án, với thời gian và khả năng kiến thức còn hạn chế, đồ án không thể tránh khỏi những thiếu sót. Em xin nhận được những nhận xét, góp ý từ thầy cô và các bạn. Em xin chân thành cảm ơn! Chương 1: TỔNG QUAN VỀ MATLAB BẮT ĐẦU VỚI MATLAB Giới thiệu chung MATLAB là một bộ phần mềm dùng để tính toán các bài toán kỹ thuật, được viết bằng ngôn ngữ C do hãng Math Works Inc sản xuất. Nó được tạo trên cở sở những phần mềm do các nhà lập trình của các dự án LINPACK và EISPACK viết ra bằng ngôn ngữ Fortran dùng cho việc thực hiện các phép tính và thao tác trên ma trận. Tên của phần mềm MATLAB là chữ viết tắt của ‘Matrix Laboratory’ có nghĩa là ‘phương pháp ma trận’. Đến khi thực hành sử dụng phần mềm ta sẽ thấy mỗi phần tử cơ bản của Matlab là một ma trận. Phần mềm Matlab liên tục được bổ sung và hoàn thiện. Các ứng dụng điển hình của Matlab: Toán học và tính toán. Phát triển thuật toán. Tạo mô hình, mô phỏng và giao thức. Khảo sát, phân tích số liệu. Đồ họa khoa học kỹ thuật. Phát triển ứng dụng, gồm cả giao diện người dùng đồ họa GUI. Thiết kế các hệ thống điều khiển trong thời gian thực. Matlab cung cấp cho ta các phương pháp theo hướng chuyên dụng hóa được gọi là các Toolbox (hộp công cụ). Các Toolbox cho phép người sử dụng học và áp dụng các kỹ thuật chuyên dụng cho một lĩnh vực nào đó. Toolbox là một tập hợp toàn diện các hàm của matlab (M-file) cho phép mở rộng môi trường Matlab để giải các lớp bài toán cụ thể. Các lĩnh vực trong đó có sẵn các Toolbox bao gồm: xử lý tín hiệu, hệ thống điều khiển, mạng noron, mô phỏng Hệ thống Matlab gồm có 5 phần chính: Ngôn ngữ Matlab: là một ngôn ngữ ma trận, mảng cấp cao với các câu lệnh, hàm, cấu trúc dữ liệu vào/ra, các tính năng lập trình đối tượng. Nó cho phép lập trình các ứng dụng từ nhỏ đến các ứng dụng lớn, từ ứng dụng đơn giản đến phức tạp. Môi trường làm việc của Matlab: đây là một bộ các công cụ và phương tiện mà bạn sử dụng với tư cách người dùng hoặc người lập trình Matlab. Nó bao gồm các phương tiện cho việc quản lý các biến trong không gian làm việc Workspace cũng như xuất nhập dữ liệu. Nó cũng bao gồm các công cụ để phát triển quản lý, gỡ rối và định hình M – file. Xử lý đồ họa: đây là một hệ thống đồ họa của Matlab. Nó bao gồm các lệnh cao cấp cho trực quan hóa dữ liệu hai chiều và ba chiều, xử lý ảnh, ảnh động, Nó cũng cung cấp các lệnh cấp thấp cho phép bạn tùy biến giao diện đồ họa cũng như đi xây dựng một giao diện đồ họa hoàn chỉnh cho ứng dụng Matlab của mình. Thư viện toán học Matlab: đây là một thuật toán khổng lồ các thuật toán tính toán từ các hàm cơ bản cộng, trừ, nhân, chia, sin, cos, số học phứctới các hàm phức tạp hơn như: nghịch đảo, ma trận, tìm giá trị riêng của ma trận, phép biến đổi fourier nhanh. Giao diện chương trình ứng dụng Matlab API ( Application Program Interface): đây là một thư viện cho phép ta viết các chương trình C và Fortran tương thích với Matlab. Simulink là một chương trình đi kèm với Matlab, là một hệ thống tương tác với việc mô phỏng các hệ thống động học phi tuyến. Nó là một chương trình đồ họa sử dụng chuột để thao tác cho phép mô hình hóa một hệ thống bằng cách vẽ một sơ đồ khối trên màn hình. Nó có thể làm việc với các hệ thống tuyến tính, phi tuyến, hệ thống liên tục theo thời gian, hệ thống gián đoạn theo thời gian, hệ thống đa biến... Giao diện 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 Command Window. Command History: Lưu lại tất cả các lệnh mà ta đã nhập vào trong Command Window. Ta có thể xem lại tất cả các lậnh bằng cách dùng scroll bar, hay thực hiện lại lệnh đó bằng cách nhấp kép lên dòng lệnh. Ngòai ra ta còn có thể cut, paste, delete các lệnh. Workspace browser: trong MATLAB các dữ liệu được lưu trong biến. Workspace browser liệt kê tất cả các biến mà ta đang sử dụng trong MATLAB. Nó cung cấp thông tin về kích thước, loại dữ liệu. Ta có thể truy cập trực tiếp vào dữ liệu bằng cách nhấn kép vào biến để hiển thị Array editor. Launch pad: cho phép người dùng truy cập nhanh vào các bộ Toolbox, phần Help. 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 CÁC KHÁI NIỆM CƠ BẢN Câu lệnh và biến trong Matlab Các câu lệnh trong Matlab thường có dạng sau: biến = biểu thức Tên biến được bắt đầu bằng một chữ cái, sau đó có thể là các chữ và số. Matlab chấp nhận tên biến (cũng như tên hàm) có đến 19 kí tự và phân biệt chữ in hoa và chữ in thường. Không giống với một số phần mềm lập trình khác, ở đây biến không phải khai báo trước. Nếu không viết tên biến và dấu = trước biểu thức thì chương trình sẽ tự động tạo tên biến là and. Ví dụ: >>2/4 and = 0.5000 Nếu cuối câu lệnh ta đánh dấu kết thúc ‘ ; ‘ thì các phép tính được thực hiện nhưng không xuất kết quả ra màn hình. Ngược lại nếu không gõ dấu kết thúc thì kết quả tính được in ra màn hình. Nếu câu lệnh quá dài không thể viết hết được trên một hang thì có thể dùng dấu ba chấm () để viết tiếp trên dòng thứ hai. Muốn viết lời chú dẫn, trước dòng đó ta gõ dấu %, khi chạy chương trình máy sẽ bỏ qua dòng này. Các phép toán Các phép toán số học: nối các toán hạng trong biểu thức với nhau. Dấu các phép toán như sau: + cộng - trừ * nhân / chia phải \ chia trái ^ lũy thừa Các phép toán quan hệ: == bằng <= nhỏ hơn hoặc bằng >= lớn hơn hoặc bằng ~= không bằng < nhỏ hơn > lớn hơn Các phép toán logic & và / hoặc ~ không Các phép toán quan hệ và logic thường được dung trong các biểu thức của các toán tử điều khiển như if, while. Số dùng trong Matlab Matlab dùng số thập phân truyền thống với số chữ số thập phân tùy chọn. Bạn cũng có thể dùng số dưới dạng lũy thừa của 10 và số có số đơn vị phức. Dưới đây là một số ví dụ về các số hợp thức dùng trong Matlab: 4 57 -180.1122 3.0983741 12.6529E4 20.2908e-2 12i -23.1261i 5e2i 1.2.4. Nhập số liệu từ bàn phím Dùng lệnh input với quy cách viết như sau: a=input(‘ hãy nhập giá trị của a: a =’) Khi chạy chương trình máy sẽ dừng để đợi ta gõ vào từ bàn phím giá trị của a, sau đó bấm Enter. In kết quả ra màn hình Cách 1: Không gõ dấu kết thúc (;) ở cuối câu lệnh. Khi chạy kết quả tính được tự động in ra trên màn hình. Ví dụ: >>x=12+6*sin(pi/7) x= 14.6033 Cách 2: Dùng lệnh disp >> x=12+6*sin(pi/7) disp(x) 14.6033 Ma trận Ma trận được biểu thị trong dấu ngoặc vuông, mỗi phần tử trên một hang được cách nhau bằng các ô trống hoặc dấu phẩy (,), còn mỗi hang được ngăn cách bởi dấu chấm phẩy (;). Ví dụ: Viết ma trận A gồm 3 hàng, 3 cột. >>A=[1 2 3;2 3 4;3 4 5] A= 2 3 2 3 4 3 4 5 1.2.7 Số phức Matlab có thể thực hiện được các phép toán về số phức. Số phức được biểu thị nhờ hàm I và j. Ví dụ viết số phức z dùng i và j như dưới đây cho kết qur như nhau: z= 2+4*i hoặc z= 2+4*j Một ví dụ khác về số phức được viết dưới dạng e mũ: z= r*exp(i*theta) CÁC HÀM TOÁN HỌC Các hàm lượng giác sin : sin cos : cosin tan : tang asin : arcsin acos : arccosin atan : arctang atan2 : arctan góc phần tư sinh : sin hybecbolic cosh : cosin hybecbolic tanh : tang hybecbolic Các hàm toán sơ cấp abs : giá trị tuyệt đối hoặc modun của số phức angle : góc pha real : phần thực của số phức imag : phần ảo sqrt : căn bậc hai conj : số phức liên hợp round : làm tròn đến số nguyên gần nhất fix : làm tròn hướng về zero gcd : ước số chung lớn nhất lom : bội số chung nhỏ nhất exp : hàm e mũ log : logarit cơ số tự nhiên log10 : logarit cơ số 10 Chương 2 MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ XÁC LẬP . MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ XÁC LẬP Mạch điện là tập hợp các thiết bị điện nối với nhau bằng các dây dẫn (phần tử dẫn) tạo thành những vòng kín trong đó có dòng điện có thể chạy qua. Mạch điện thường gồm các loại phần tử sau: nguồn điện, phụ tải, dây dẫn. Cấu trúc mạch điện: Nút: là giao điểm của ít nhất 3 nhánh. Vòng: gồm nhiều nhánh tạo thành vòng kín, mỗi nút gặp không quá một lần. Nhánh: gồm một hoặc một số phần tử mắc nối tiếp với nhau. Mạch điện tuyến tính là mạch điện có mô hình toán học bao gồm hữu hạn các tuyến trạng thái, các thông số R, L, C của các phần tử mạch là các hằng số và không phụ thuộc điện áp hai đầu hay dòng điện đi qua nó. Các phần tử tuyến tính: Điện trở Cuộn cảm Tụ điện ( R) ( L) ( C) Chế độ xác lập: chế độ xác lập là quá trình trong đó dưới tác động của nguồn, dòng điện và điện áp trên các nhánh đạt trạng thái ổn định. Ở chế độ xác lập dòng điện và điện áp trên các nhánh biến thiên theo một quy luật giống với quy luật biến thiên của nguồn. Ví dụ : Mạch điện I3 I2 L1 C1 R1 L1 L2 C2 R1 L3 C3 R2 R3 I1 E1 E3 2.2. MỘT SỐ PHƯƠNG PHÁP GIẢI MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ XÁC LẬP 2.2.1 Các định luật Kỉchhoff Định luật Kirchhoff I: tổng các dòng điện đi vào một nút nào đó bằng tổng các dòng điện từ nút đó đi ra. kak.ik = 0 ak = 1 khi ik đi vào nút ak = -1 khi ik đi ra nút ak = 0 khi nhánh k không nối tới nút. Ví dụ : Tại nút A : i1 - i2 - i3 - i4 = 0 i1 i2 i3 A i4 Định luật Kirchhoff II: tổng đại số các điện áp sụt trên các thông số thụ động của một vòng kín bằng tổng đại số các sức điện động có trong vòng kín đó. kUk = rer Ví dụ: Cho mạch điện: R1 i1 e1 i3 R3 R2 i2 i4 e4 Với mạch kín trên, ta có: R1i1 + R2i2 + R3i3 = e1 - e4 Phương pháp dòng nhánh Là phương pháp lập phương trình mạch điện theo định luật Kirchhoff I và Kirchhoff II với biến là dòng trong các nhánh. Ta xác định số nút n và số nhánh m của mạch điện. Mạch điện có n nút thì viết (n – 1) phương trình theo định luật Kirchhoff I. Mạch điện có m nhánh thì viết (m – n + 1) phương trình theo định luật Kirchhoff I I2 I3 R1 Z1 Z3 Z2 I1 E1 E2 i2 i3 L1 C1 R1 L1 L3 C3 R1 L2 C2 R3 R2 i1 e1 e2 II I Xét mạch điện: Chọn chiều dòng điện như hình vẽ. Lập phương trình mạch theo định luật Kirchhoff I: I1 + I2 - I3 = 0 Lập phương trình mạch theo định luật Kirchhoff II: Theo vòng 1: I1 Z1 + I3Z3 = E1 Theo vòng 2: - I2 Z2 - I3Z3 = E3 Ta lập được hệ phương trình: I1 + I2 - I3 = 0 I1 Z1 + I3Z3 = E1 - I2 Z2 - I3Z3 = E3 Với: Z1 = R1 + jwL1 - j1wC1 Z2 = R2 + jwL2 - j1wC2 Z3 = R3 + jwL3 - j1wC3 Ta tiến hành giải các phương trình để tìm giá trị yêu cầu. Phương pháp điện áp hai nút Là phương pháp riêng của phương pháp điện thế điểm nút. Sử dụng khi mạch có nhiều nhánh nhưng chỉ có hai nút. Xét mạch điện: I2 I3 R1 Z1 Z3 Z2 I1 E1 E2 II I A A i2 i3 L1 C1 R1 L1 L3 C3 R1 L2 C2 R3 R2 i1 e1 e2 B B Chọn chiều dòng điện như hình vẽ: Theo phương pháp này ta lập công thức tính UAB: UAB = EnYnYn Trong đó có quy ước các sức điện động En có chiều ngược với điện áp UAB thì lấy dấu dương và cùng chiều lấy dấu âm. Với: Yn = 1Zn Z1 = R1 + jwL1 - j1wC1 Z2 = R2 + jwL2 - j1wC2 Z3 = R3 + jwL3 - j1wC3 Ta tiến hành giải các phương trình để tìm giá trị yêu cầu. 2.2.4 Phương pháp dòng điện vòng Là phương pháp lập phương trình mạch theo định luật Kirchhoff II với biến là dòng điện quy ước chạy trong các vòng của mạch. Nếu mạch điện có n nút và m nhánh khi áp dụng phương pháp dòng điện vòng ta sẽ viết được: ( m – n +1) phương trình. II I A A I2 I3 R1 Z1 Z3 Z2 I1 E1 E2 i2 i3 L1 C1 R1 L1 L3 C3 R1 L2 C2 R3 R2 i1 e1 e2 B B Chọn chiều dòng điện như hình vẽ: Đặt: I1 = Iv1 I2 = Iv2 I3 = Iv1 + Iv2 Ta lập được hệ phương trình: ( Z1 + Z3) Iv1 - Z3Iv2 = E1 ( Z1 + Z3) Iv2 - Z3Iv1 = - E2 Lưu ý: Phần tử chung Z3 : nếu Iv1 và Iv2 so với Z3 ngược chiều thì lấy dấu (-) và ngược lại. Với : Z1 = R1 + jwL1 - j1wC1 Z2 = R2 + jwL2 - j1wC2 Z3 = R3 + jwL3 - j1wC3 Ta tiến hành giải các phương trình để tìm giá trị yêu cầu. Phương pháp xếp chồng Trong mạch điện tuyến tính có nhiều nguồn tác động: Dòng điện qua mỗi nhánh bằng tổng đại số các dòng điện qua nhánh do tác động của từng sức điện động gây nên. Điện áp trên mỗi nhánh bằng tổng đại số các điện áp gây nên trên nhánh do tác động của từng sức điện động gây nên. i2 i3 L1 C1 R1 L1 L3 C3 R1 L2 C2 R3 R2 i1 e1 e2 II I Xét mạch điện: I2 I3 R1 Z1 Z3 Z2 I1 E1 E2 Ta lần lượt cho từng nguồn tác động để tìm từng thành phần của dòng cần tìm. Trường hợp 1: khi chỉ có nguồn E1. Ta có: Z1 nt ( Z2 // Z3 )I2 I3 R1 Z1 Z3 Z2 I1 E1 => Ztd = Z1 + Z2.Z3Z2+ Z3 I11. Ztd = E1 I12 = I11.Z3Z2+ Z3 I2 I3 R1 Z1 Z3 Z2 I1 E2 I13 = I11.Z2Z2+ Z3 Trường hợp 2: khi chỉ có nguồn E2 Ta có: Z2 nt ( Z1 // Z3 ) => Ztd = Z2 + Z1.Z3Z1+ Z3 I22. Ztd = - E2 I21 = I22.Z3Z1+ Z3 I23 = -I22.Z1Z1+ Z3 Giá trị dòng điện cần tìm là: I1 = I11 + I21 I2 = I12 + I22 I3 = I13 + I23 Chương 3: XÂY DỰNG THUẬT TOÁN PHÂN TÍCH MẠCH 3.1. BÀI TOÁN Các dữ liệu cho trước: Sơ đồ mạch. Các thông số của các phần tử ( điện trở, điện dung, điện cảm,). Các thông số của nguồn áp, nguồn dòng. Các thông số cần tính: Dòng điện chạy qua các nhánh. Điện áp trên các phần tử. Công suất 3.2. XÂY DỰNG THUẬT TOÁN PHÂN TÍCH MẠCH 3.2.1. Phân tích mạch Để xây dựng thuật toán giải bài toán mạch này, ta chuyển phương trình mạch sang số phức, khi đó hệ phương trình vi phân mô tả mạch sẽ trở thành hệ phương trình đại số và dễ dàng giải được. Xét mạch điện tổng quát gồm m nhánh, n nút Im I2 R1 Z1 Z2 Zm I1 E1 Em im i2 L1 C1 R1 L1 L2 C2 R1 Lm Cm R2 Rm i1 e1 em Ta sẽ lập được hệ gồm m phương trình vi phân như sau: Chuyển hệ phương trình sang số phức ta có: (3.1) Trong đó: Zk = là tổng trở phức của nhánh k. Xét mạch điện tổng quát m nhánh, n nút trên: Từ công thức tổng quát (3.1) => I1- I2+ Im = 0 I1 Z1+ I2Z2 = E1 –I2 Z2- ImZm = -Em Trong đó: Z1, Z2, Zm là tổng trở phức các nhánh. Từ hệ phương trình ta lập được các ma trận: A= 1-11Z1Z200-Z2-Zm B = 0E1-Em ; C = A-1 Ma trận dòng điện các nhánh là: I = C*B I là ma trận cột, mỗi dòng của ma trận là dòng điện của nhánh tương ứng. Từ dòng điện ta tìm được các thông số khác của mạch. Hệ phương trình (3.1) là hệ phương trình đại số tuyến tính, ta dễ dàng giải được trên Matlab. Lưu đồ thuật toán để giải bài toán lý thuyết mạch ở chế độ xác lập được biểu diễn như sau: Hình 3.1: Lưu đồ thuật toán phân tích mạch điện tuyến tính ở chế độ xác lập Kết thúc Tính điện áp trên các phần tử C = 0 XC = 0 XC = Z = Rk + j(XL - XC) Bắt đầu Nhập giá trị R, L, C, M(nếu có), E, Tính XL Sai Đúng Tính dòng điện các nhánh Tính ma trận A,B 3.2.2. Viết chương trình trên Matlab Chương trình được viết như sau: Nhánh số 1 >> R1=('gia tri dien tro R1'); >> L1=('gia tri dien cam L1'); >> C1=('gia tri dien dung C1'); >> E1=('gia tri nguon E1'); >> anpha1=('gia tri goc pha cua E1'); >> anpha1=anpha1*pi/180; %doi gia trị goc pha tu do sang radian >> disp('Nhanh so 2') Nhánh số 2 >> R2=('gia tri dien tro R2'); >> L2=('gia tri dien cam L2'); >> C2=('gia tri dien dung C2'); >> E2=('gia tri nguon E2'); >> anpha2=('gia tri goc pha cua E2'); >> anpha2=anpha2*pi/180; %doi gia tri goc pha tu do sang radian >> disp('Nhanh so m') Nhánh số m >> Rm=('gia tri dien tro Rm'); >> Lm=('gia tri dien cam Lm'); >> Cm=('gia tri dien dung Cm'); >> Em=('gia tri nguon Em'); >> anpham=('gia tri goc pha cua Em'); >> anpham=anpham*pi/180; >> w=('gia tri tan so goc w'); Tính toán các thông số: >> XL1=w*L1; >> XL2=w*L2; >> XLm=w*Lm; >> if(C1~=0) XC1=1/(w*C1) else XC1=0 end >> if(C2~=0) XC2=1/(w*C2) else XC2=0 end >> if(Cm~=0) XCm=1/(w*Cm) else XCm=0 end >> Z1=R1+(XL1 - XC1)*i; >> Z2=R2+(XL1 – XC1)*i; >> Zm=Rm+(XLm – XCm)*i; >> E1=E1*cos(anpha1) - i*E1*sin(anpha1); >> E2=E2*cos(anpha2) - i*E2*sin(anpha2); >> Em=Em*cos(anpham) - i*Em*sin(anpham); >> A=[1 -1 1;Z1 Z2 0;0 -Z2 -Zm]; >> C=inv(A); >> B=[0;E1;-Em]; >> I=C*B Từ ma trận I ta đưa ra giá trị dòng điện từng nhánh: >> I1= I(1,1) >> I2= I(2,1) >> Im= I(m,1) Ta tìm được giá trị dòng điện trên các nhánh, từ đó tìm các giá trị điện áp >> U1= I1 * Z1 >> U2= I2 * Z2 >> Um= Im * Zm Để tính giá trị hiệu dụng từ kết quả phức ta có lệnh: >>modun = abs(In) Để tính giá trị góc pha ban đầu: >>argumen =angle(In) Lưu ý: Ta cần chú ý vào mối quan hệ giữa các thông số, chiều dòng điện trong mạch để tính toán tr