intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

ĐỀ TÀI " GIẢI TÍCH MẠNG VỚI MATLAB "

Chia sẻ: Huynh Quang Thinh Thinh | Ngày: | Loại File: DOC | Số trang:113

401
lượt xem
124
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Việc xác định các thông số chế độ của mạng điện phân phối như dòng, áp , công suất rất có ý nghĩa trong công tác thiết kế, vận hành, điều khiển mạng điện. Tính toán trào lưu công suất sẽ tìm được tổn thất công suất trên các nhánh rẽ và của toàn mạng, từ đó xác định được tổn thất điện năng, làm cơ sở đánh giá các chỉ tiêu kinh tế kỹ thuật

Chủ đề:
Lưu

Nội dung Text: ĐỀ TÀI " GIẢI TÍCH MẠNG VỚI MATLAB "

  1. GIẢI TÍCH MẠNG BẰNG MATLAB MỞ ĐẦU GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 1
  2. GIẢI TÍCH MẠNG BẰNG MATLAB A. MỞ ĐẦU 1. GIỚI THIỆU CHUNG Việc xác định các thông số chế độ của mạng điện phân phối như dòng, áp, công suất rất có ý nghĩa trong công tác thi ết k ế, v ận hành, điều khiển mạng điện. Tính toán trào lưu công suất sẽ tìm được tổn thất công suất trên các nhánh rẽ và của toàn mạng, từ đó xác định được tổn thất điện năng, làm cơ sở để đánh giá các chỉ tiêu kinh tế - kỹ thuật. Tính toán trào lưu công suất còn xác định được khả năng đáp ứng công suất của nguồn cho phụ tải, khả năng tải của máy biến áp trung gian hoặc lưới truyền tải. Từ đó có các phương án cung c ấp đi ện, v ận hành thích hợp. Tính toán phân bố điện áp tại các nút của mạng điện phân ph ối, sẽ xác định được tổn thất điện áp trên các nhánh và đi ện áp t ại các nút tải. Kết quả tính toán nhằm phục vụ công tác quy hoạch, thiết kế và vận hành mạng điện. .Trong quy hoạch, thiết kế, tổn thất điện áp dùng để lựa chọn hoặc kiểm tra dây dẫn. .Trong vận hành tổn thất điện áp dùng để tính toán điều chỉnh điện áp. Ngoài ra, tính toán trào lưu công suất còn xác định đ ược phân b ố dòng điện trên các nhánh. Dòng điện nhánh cũng là một thông số quan trọng, dùng để kiểm tra dây dẫn và các thiết bị theo điều ki ện phát nóng. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 2
  3. GIẢI TÍCH MẠNG BẰNG MATLAB 2. MỤC ĐÍCH VÀ PHẠM VI NGHIÊN CỨU CỦA ĐỀ TÀI Xây dựng chương trình MATLAB tính phân bố công suất và điện áp cho mạng điện phân phối. Chương trình được xây dựng với mục tiêu chính: hướng đến khả năng ứng dụng trong tính toán thực tế. Quá trình thực hiện chương trình chú trọng các vấn đề sau: 1. Có thể thực hiện tính toán cho mạng điện phân phối có n nút. 2. Đơn giản hóa khâu nhập dữ liệu, rút ngắn các bước tính tay để giảm thiểu sai số, kết quả tính toán đảm bảo yêu cầu chính xác. 3. Dễ dàng sử dụng. 4. Có thể trình bày kết quả tính toán trên các phần mềm khác như MICROSOFT EXCEL, qua đó làm tăng tính tiện ích. Trong quá trình thực hiện, em khảo sát hai phương pháp lặp Gauss – Seidel và Newton – Rapshon áp dụng trong giải tích hệ thống điện, đưa ra mô hình hóa và viết chương trình ứng dụng theo hai phương pháp này. Trên cơ sở thực hiện chương trình sẽ xác định phương pháp tính toán phù hợp cho mạng điện phân phối. 3. KẾT CẤU CỦA ĐỀ TÀI 1. Tổng quan MATLAB. 2. Phương pháp tính toán phân bố công suất và điện áp cho m ạng điện phân phối. 3. Viết chương trình MATLAB để phân bố công suất và đi ện áp cho mạng điện phân phối. 4. Ứng dụng chương trình để tính phân bố công suất và điện áp cho mạng điện thực tế. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 3
  4. GIẢI TÍCH MẠNG BẰNG MATLAB NỘI DUNG GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 4
  5. GIẢI TÍCH MẠNG BẰNG MATLAB CHƯƠNG 1 TỔNG QUAN MATLAB GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 5
  6. GIẢI TÍCH MẠNG BẰNG MATLAB CHƯƠNG 1 TỔNG QUAN MATLAB Matlab (Matrix laboratory) là chương trình lập trình ứng dụng được sử dụng trong nhiều lĩnh vực như điện, điện tử, điều khiển tự động…Matlab có thể giải quyết được nhiều bài toán đặt biệt là các bài toán về ma trận. 1.1. GIAO DIỆN CỦA CHƯƠNG TRÌNH Các cửa sổ làm việc chính của Matlab gồm có: Help – Demo Mfile Cửa sổ Current Directory Cửa sổ Command Windown Cửa sổ Command History Hình 1.1. Các cửa sổ làm việc chính của Matlab Command windown: cửa sổ để nhập các lệnh và dữ liệu, đồng thời là nơi xuất các kết quả tính toán. Command history: cửa sổ lưu trữ các lệnh đã thực thi cùng với thời gian sử dụng. Current directory: cho biết các thư mục đang lưu trữ. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 6
  7. GIẢI TÍCH MẠNG BẰNG MATLAB Help (demo): trợ giúp thông tin về phần mềm. Mfile: cửa sổ để viết các lệnh lập trình, có phần mở rộng là file.m. Hình 1.2. Cửa sổ Mfile 1.2. CÁC PHÉP TOÁN – TÊN BIẾN – CÁC HÀM CƠ BẢN 1.2.1.Các phép toán Các phép toán đại số: +, -, *,^, /, \ (chia trái), ' phép chuyển vị ma trận hay liên hợp phức. Các toán tử quan hệ: =, == (bằng) , =~ (khác). Các toán tử logic: & (and), | (or), ~ (not). GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 7
  8. GIẢI TÍCH MẠNG BẰNG MATLAB Các hằng: pi, j, inf (vô cùng), NaN (không xác định). 1.2.2. Cách đặt tên biến Matlab có những quy định về tên biến: tên biến phải bắt đầu bằng chữ và không chứa các kí tự đặt biệt như @, %, /,…Ngoài ra Matlab còn phân biệt chữ hoa với chữ thường. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 8
  9. GIẢI TÍCH MẠNG BẰNG MATLAB 1.2.3. Điều khiển vào ra Các lệnh sau dùng để đưa số liệu vào và ra: Nhập dữ liệu : input (cú pháp: tên biến = input(‘chuổi hiển thị’)). Hiển thị nội dung của mảng hay chuổi : disp (cú pháp disp(tên biến hoặc tên chuổi cần hiển thị). Điều khiển xuất kết quả tính toán : format Lưu dữ liệu : save (cú pháp: save ‘tên file’ ‘tên biến’ ‘kiểu định dạng’). 1.2.4. Một số hàm toán học cơ bản Hàm căn bậc hai của x :sqrt(x) Hàm sin của x :sin(x) Hàm cos của x :cos(x) Hàm chuyển từ chuổi sang số : str2num(x) Hàm chuyển từ số sang chuổi : num2str(x) Trong các hàm lượng giác trên thì biến x có đơn vị là radian nếu x có đơn vị là độ thì ta phải đổi sang radian. 1.3. SỐ PHỨC TRONG MATLAB 1.3.1. Nhập số phức Để nhập số phức z=3+j4 ta có thể nhập từ của sổ Command Windown hoặc từ Mfile: Nhập dưới dạng đại số: >> z=3+j*4 Nhập dưới dạng cực: >> z=5*exp(j*45*pi/180) 1.3.2. Các phép toán cơ bản với số phức Lấy môđun số phức z :abs(z) Lấy acgumen số phức z :angle(z) GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 9
  10. GIẢI TÍCH MẠNG BẰNG MATLAB Lấy phần thực số phức z :real(z) Lấy phần ảo số phức z :imag(z) Số phức liên hợp :conj(z) Các phép toán khác như +, -, *, / cũng giống như số thực. 1.4. MA TRẬN VÀ ỨNG DỤNG 1.4.1. Ma trận Ma trận là một mảng các số liệu gồm có m hàng và n cột:  a11 ... a1n  a12 a ... a 2 n  a22 A =  21  . . .   a m1 am 2 ... a mn  Có các cách nhập ma trận: . Nhập ma trận từ bàn phím (liệt kê). . Nhập từ file dữ liệu. . Tạo ma trận từ các hàm có sẵn, các hàm tự tạo. Nhập ma trận A theo kiểu liệt kê: >> A=[1 2 3 4; 5 6 7 8 9]; Nhập ma trận nhờ các hàm tự tạo: >>A=zeros(m,n) (ma trận A gồm toàn các phần tử 0, có m hàng n cột). >>A=ones(m,n) (ma trận A gồm toàn các phần tử 1) Địa chỉ mảng: Để truy xuất đến phần tử nằm ở hàng i cột j c ủa ma trận A ta dùng lệnh: >>A(i,j) >>A(:,i) (Truy xuất tất cả các phần tử của cột i) >>A(i,:) (Truy xuất tất cả các phần tử của hàng i) GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 10
  11. GIẢI TÍCH MẠNG BẰNG MATLAB 1.4.2 Các phép toán với ma trận trong Matlab Phép cộng trừ hai ma trận: >>X=A+B (X=A-B). Các ma trận A, B phải cùng kích thước. Phép nhân hai ma trận: >>X=A*B. Số cột của A phải bằng với số hàng của B. Nhân theo mảng: >>X=A.*B. Khi nhân theo mảng thì A, B phải cùng kích thước. Với phép nhân này thì các phần tử của hai ma trận này được nhân tương ứng với nhau. Phép chia ma trận: Nếu X*B=A thì X=A/B Nếu A*X=B thì X=A\B (phép chia trái). Chia theo mảng: >>X=A./B Phép lũy thừa ma trận: >>X=A^p (p là một số nguyên dương) . Ma trận X có được bằng cách nhân các ma trận A với nhau p lần. >>X=A.^B Phép nghịch đảo ma trận: >>X=inv(A) 1.4.3. Ứng dụng ma trận vào giải hệ phương trình Nghiệm của hệ phương trình tuyến tính có thể xác định thông qua các phép toán ma trận. a11 x1 + a12 x 2 + .... + a1n x n = b1 a x + a x + .... + a x = b  21 1 22 2 2n n 2 Xét hệ:  (1.1) ............................................... a n1 x1 + a n 2 x 2 + .... + a nn x n = bn  GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 11
  12. GIẢI TÍCH MẠNG BẰNG MATLAB Hệ (1.1) biểu diển dưới dạng ma trận:  a11 a12 .... a1n   x1   b1  a a22 .... a2 n   x2  b2   21    =   hay A.X=B (1.2) . .  .   .  .       an1 an 2 .... ann   xn  bn  Với A là ma trận hệ số, B và X là các vectơ cột. Nhân cả hai vế của hệ (1.2) với A-1 ta được: A-1.A.X = A-1.B hay X = A-1.B Lúc này ta sử dụng hàm: inv(A) để xác định ma trận nghịch đảo A-1 , như vậy nghiệm của hệ là: >>X=inv(A)*B Tuy nhiên khi det(A)=0 việc xác định ma trận nghịch đảo A-1 không chính xác. Khi đó Matlab sẽ giải hệ (1.2) bằng một hàm được lập trình sẵn và cho kết quả tin cậy hơn: >>X=A\B Giải hệ phương trình tuyến tính còn được ứng dụng để giải mạch điện thông qua phương pháp xây dựng ma trận tổng dẫn nút: Y. U=J Y là ma trận tổng dẫn của mạch điện, có dạng: Y11 Y12 .... Y1n  Y Y22 .... Y2 n  =  21  Y . . .   Yn1 Yn 2 .... Ynn  ( n×n ) Yii: tổng dẫn riêng của nút i, bằng tổng các tổng dẫn nối vào nút i. Yij: tổng dẫn tương hổ giữa nút i và j, bằng tổng các tổng dẫn nối giữa hai nút i và j nhưng ngược dấu, n = (s ố nút) -1. Trong đó đi ện thế của một nút bất kì được chọn làm chuẩn. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 12
  13. GIẢI TÍCH MẠNG BẰNG MATLAB U là vectơ điện thế tại các nút. Trừ thế của nút chọn làm chuẩn, có dạng: •  ϕ 1  • ϕ  U =  2  •  ϕ n  (1×n )  J là vec tơ dòng điện bơm vào nút. Trừ dòng bơm vào nút chọn làm chuẩn, có dạng: •  J1 • J 2  J =   •   J n  (1×n ) Giải hệ phương trình Y.U=J ta sẽ tìm được điện thế các nút, khi đã xác định được điện thế các nút ta sẽ tính được dòng điện và công suất chảy qua các nhánh. Việc giải hệ này rất đơn giản với Matlab, ta sử dụng lệnh: >> U=Y\J Hoặc: >> U=inv(Y)*J GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 13
  14. GIẢI TÍCH MẠNG BẰNG MATLAB 1.5. CẤU TRÚC ĐIỀU KIỆN Cấu trúc điều kiện là một cấu trúc cơ bản trong lập trình. 1.5.1. Cấu trúc if-end Cú pháp: if lệnh 1; lệnh 2; ……… lệnh n; end Sơ đồ khối của cấu trúc if – end như hình 1.3: Begin Sai Điều kiện đúng Khối lệnh End Hình 1.3. Sơ đồ khối cấu trúc if-end Khi biểu thức điều kiện đúng thì Matlab thực thi lệnh. Nếu sai thì th ực thi các lệnh phía sau end. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 14
  15. GIẢI TÍCH MẠNG BẰNG MATLAB 1.5.2. Cấu trúc if-elseif-else-end Cú pháp: if ; elseif ; else ; end Sơ đồ khối của cấu trúc if-elseif-else-end như hình 1.4: Begin Đúng Điều kiện 1 Sai Đúng Khối lệnh 1 Điều kiện 2 Sai Khối lệnh 3 Khối lệnh 2 End Hình 1.4. Sơ đồ khối cấu trúc if-elseif-end Nếu điều kiện 1 đúng thì thực hiện khối lệnh 1, nếu sai Matlab s ẽ kiểm tra biểu thức điều kiện 2. Nếu điều kiện 2 sai thì Matlab s ẽ th ực hiện các lệnh nằm trong khối lệnh 3. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 15
  16. GIẢI TÍCH MẠNG BẰNG MATLAB 1.6. CẤU TRÚC LẶP 1.6.1. Cấu trúc for-end Cú pháp: for =:: ; end Sơ đồ khối của cấu trúc for-end như hình 1.5: Begin k:=csđầu sai k
  17. GIẢI TÍCH MẠNG BẰNG MATLAB 1.6.2. Cấu trúc while-end Cú pháp: While ; end Sơ đồ khối như hình 1.6: Begin Sai Điều kiện đúng Khối lệnh End Hình 1.6. Sơ đồ khối cấu trúc while-end Phát biểu while-end khi chưa xác định rõ số vòng lặp, quá trình lặp chỉ kết thúc cùng với điều kiện đi kèm. Nếu điều kiện kiểm tra không rõ ràng thì ch ương trình có th ể không thoát ra được. Trong trường hợp này nhấn tổ hợp phím Ctrl+C để dừng chương trình. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 17
  18. GIẢI TÍCH MẠNG BẰNG MATLAB 1.6.3. Cấu trúc switch-case Cú pháp: switch case case ............ case otherwise end Nếu giá trị của biểu thức đứng sau switch trùng với giá trị thử i thì Matlab sẽ thực hiện khối lệnh i rồi chuyển sang các lệnh đứng sau end. Trong trường hợp giá trị của biểu thức đứng sau switch không trùng với giá trị thử nào thì Matlab sẽ thực thi các lệnh đứng sau otherwise. 1.7. ĐỒ HỌA 2D TRONG MATLAB 1.7.1. Lệnh vẽ Đồ họa 2D ta dùng lệnh: plot. 1.7.2. Đặc tả kiểu đường vẽ Ta có thể dùng các kiểu đường vẽ khác nhau khi vẽ hình. Ví dụ: vẽ hàm y=x^2. Nguyên tắc : vẽ từng điểm và nối chúng lại với nhau. Lệnh vẽ >> x=[-4 -3 -2 -1 0 1 2 3 4] %tạo ra mảng x : >>y=x.^2 %tạo ra mảng y >>plot(x,y,'--' ) %vẽ bằng đường nét đứt. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 18
  19. GIẢI TÍCH MẠNG BẰNG MATLAB Các kiểu đường vẽ xác định như sau: Đường liền : - Đường nét đứt : -- Đường chấm chấm: : Đường chấm gạch : -. 1.7.3. Đặc tả kích thước, màu của đường vẽ và kiểu đánh dấu của điểm Kích thước đường vẽ được xác định bằng các hàm: Độ rộng đường thẳng :LineWidth Màu của khối đánh dấu :MarkerFaceColor Màu các cạnh của khối đánh dấu :MarkerEdgeColor Kích thước khối đánh dấu :MarkerSize Màu của đường vẽ xác định bằng các tham số: Red :r Green :g Blule :b Cyan :c Mangeta :m Yellow :y Black :k White :w Kiểu của điểm xác định bằng các tham số: Vòng tròn :o Hình vuông : s Dấu sao Điểm :* :. Chữ thập Ngũ giác :p :x 1.7.4. Thêm đường vẽ vào đồ thị Để thêm đường vẽ vào đồ thị mà vẫn giữu nguyên đồ thị cũ ta dùng lệnh hold on. 1.7.5. Đặt các thông số cho trục Ta có thể quy định giá trị của các trục theo ý riêng. Để thực hiện ta dùng lệnh axis. Cú pháp:axis ([ xmin , xmax , ymin , ymax]) GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 19
  20. GIẢI TÍCH MẠNG BẰNG MATLAB 1.8. GIAO DIỆN ĐỒ HỌA GUIDE TRONG MATLAB GUI cung cấp các công cụ có khả năng liên kết các môi trường tính toán và đồ họa làm tăng tính trực quan và sinh động của vấn đề. Để khởi động GUI, từ của sổ Command Windown ta gõ lệnh guide, khi đó cửa sổ GUI xuất hiện: Hình 1.7. Cửa sổ GUIDE – MATLAB Muốn tạo một GUI ta chọn hộp ‘Create New GUI’. Không gian làm việc xuất hiện: Xem thuộc tính. RUN Các công cụ (đối tượng GUI). Vùng không gian thiết kế. Hình 1.8. Vùng không gian làm việc của GUI. GVHD: Th.S Nguyễn Văn Lân SVTH: Huỳnh Quang Thịnh 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1