Đồ Án Chuyên Ngành Ứng dụng Matlab
BỘ CÔNG THƯƠNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐH Công Nghiệp TP. HCM Độc lập - Tự do - Hạnh phúc
ĐỒ ÁN CHUYÊN NGÀNH
Nhóm sinh viên số 1: Hệ đào tạo: ĐH chính quy.
Lớp: ĐHDI7TH Nghành: Công nghệ kỹ thuật Điện.
Tên đề tài: Ứng dụng phần mềm Matlab Trong Tính Toán Phân Bố Công Suất
Kế hoạch thực hiện:
Ngày giao đề tài : Ngày nộp đồ án :
Trưỡng Bộ Môn Giáo Viên Hướng Dẫn
trang 1 Nhóm 1
Đồ Án Chuyên Ngành Ứng dụng Matlab
DANH SÁCH NHÓM
trang 2 Nhóm 1
STT MSSV HỌ TÊN LỚP
1 11010363 Nguyễn Văn Bắc DHDI7TH
2 11014453 Ngô Việt Cường DHDI7TH
3 11010203 Lê Văn Vương DHDI7TH
4 11016173 Nguyễn Khắc Dũng DHDI7TH
5 11014013 Lê Đình Đại DHDI7TH
Đồ Án Chuyên Ngành Ứng dụng Matlab
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Giảng viên phản biện
trang 4 Nhóm 1
Đồ Án Chuyên Ngành Ứng dụng Matlab
LỜI CẢM ƠN
Trong thời gian làm đồ án tốt nghiệp, chúng em đã nhận được nhiều sự giúp
đỡ, đóng góp ý kiến, động viên và chỉ bảo nhiệt tình của thầy cô giáo trong
Khoa Công Nghệ - Trường Đại học Công nghiệp TP. Hồ Chí Minh cs Thanh
Hóa.
Chúng em xin chân thành cảm ơn quý thầy cô đã giúp chúng em có được cơ sở
lý thuyết vững vàng và tạo điều kiện giúp đỡ chúng em trong suốt quá trình làm
đồ án và cả quá trình học tập !
trang 5 Nhóm 1
Đồ Án Chuyên Ngành Ứng dụng Matlab
CHƯƠNG MỞ ĐẦU
1. Tính bức thiết của đề tài
MATLAB là khả năng tính toán và biểu diễn đồ hoạ kỹ
thuật nhanh chóng, đa dạng và chính xác cao. Thư viện hàm của MATLAB
bao gồm rất nhiều chương trình tính toán con. Các chương trình con này
giúp người sử dụng giải quyết nhiều loại bài toán khác nhau, đặc biệt là các
bài toán về ma trận, số phức, hệ phương trình tuyến tính cũng như phi tuyến.
MATLAB cũng cho phép xử lý dữ liệu và biểu diễn đồ hoạ trong
không gian 2D và 3D với nhiều dạng đồ thị thích hợp, giúp người sử dụng
có thể trình bày kết quả tính toán một cách trực quan và thuyết phục hơn.
Thêm vào đó, các phiên bản MATLAB ngày càng phát triển nhiều module
phần mềm bổ sung các Toolbox (bộ công cụ) với phạm vi chức năng chuyên
dụng cho từng chuyên ngành cụ thể.
2. Mục đích nghiên cứu
Tính toán chi tiết phân bố công suất lưới điện Miền Nam phục vụ cho thực tiễn
vận hành lưới điện hợp lý nhất
3. Đối tượng và phạm vi nghiên cứu của đề tài
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.
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
trang 8 Nhóm 1
Đồ Án Chuyên Ngành Ứng dụng Matlab
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
Hàm sin của x
Hàm cos của x
Hàm chuyển từ chuổi sang số
Hàm chuyển từ số sang chuổi
:sqrt(x)
:sin(x)
:cos(x)
: str2num(x) :
num2str(x)
trang 9 Nhóm 1
Đồ Án Chuyên Ngành Ứng dụng Matlab
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
>>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)
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
Nhóm 1- DHDI7TH trang 11
Đồ Án Chuyên Ngành Ứng dụng Matlab
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.
Xét hệ : 1.1
Hệ (1.1) biểu diển dưới dạng ma trận: 1.2
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.
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:
Nhóm 1- DHDI7TH trang 13
Đồ Án Chuyên Ngành Ứng dụng Matlab
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:
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
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 <biểu thức điều kiện>
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:
Nhóm 1- DHDI7TH trang 14
Đồ Án Chuyên Ngành Ứng dụng Matlab
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
Phát biểu for-end khi số vòng lặp đã xác định.
1.6.2. Cấu trúc while-end
Cú pháp:
While <biểu thức điều kiện>
<khối lệnh>;
end
Sơ đồ khối như hình 1.6:
Nhóm 1- DHDI7TH trang 17
Đồ Án Chuyên Ngành Ứng dụng Matlab
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.
1.6.3. Cấu trúc switch-case
Cú pháp:
switch <biểu thức điều kiện>
case <giá trị thử 1>
<khối lệnh 1>
case <giá trị thử 2>
<khối lệnh 2>
. . . . . . . . . . . .
case <giá trị thử n>
<khối lệnh n>
Nhóm 1- DHDI7TH trang 18
Đồ Án Chuyên Ngành Ứng dụng Matlab
otherwise
<khối lệnh n+1>
end
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 : .
Ngũ giác : p Chữ thậ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])
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:
Nhóm 1- DHDI7TH trang 20
Đồ Án Chuyên Ngành Ứng dụng Matlab
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:
Hình 1.8. Vùng không gian làm việc của GUI.
Một số công cụ (đối tượng) của GUI như:
. Push button: tạo nút ấn.
. Edit text : tạo khung, tại khung này cho phép truy xuất dữ liệu.
. Static text : cho phép hiển thị chuổi văn bản. . Popup
Nhóm 1- DHDI7TH trang 21
Đồ Án Chuyên Ngành Ứng dụng Matlab
menu: tạo menu đổ xuống.
. Axes: tạo hệ trụ tọa độ, cho phép hiển thị các hình vẽ….
Để xây dựng GUI ta click chuột và kéo các đối tượng cần sử dụng vào vùng
Tại (2.1):
Hệ (2.1) có thể viết lại
Trong đó: Y14 = Y41 = 0 vì nút 1 và nút 4 không nối với nhau, tương tự ta
cũng có Y24 = Y42 = 0 và I3 = I4 = 0.
Tổng quát: nếu lưới điện có n nút thì hệ phương trình nút có dạng:
hay (2.3)
Trong đó:
Ibus : vectơ dòng điện bơm vào các nút. Quy ước chiều dòng điện đi
vào nút có giá trị dương, dòng điện đi ra khỏi nút có giá trị âm.
Nhóm 1- DHDI7TH trang 25