MATLAB là 1 phần mềm chạy trong môi trường Windows do hãng MathWorks sản xuất và cung cấp. Có thể coi Matlab là ngôn ngữ của kỹ thuật. Nó tích hợp các công cụ rất mạnh phục vụ tính toán, lập trình, thiết kế, mô phỏng,… trong một môi trường rất dễ sử dụng trong đó các bài toán và các lời giải biểu diễn theo các ký hiệu toán học quen thuộc.
TRƯỜNG ĐẠI HỌC THÁI BÌNH KHOA ĐIỆN – ĐIỆN TỬ TIỂU LUẬN MÔN: TIN HỌC ỨNG DỤNG NGÀNH ĐIỆN Sinhviên thực : NGUYỄN VĂN LÂM Lớp : DH6 – DCN1 Giáo viên hướng dẫn: ĐÀO THỊ MỸ LINH Thái Bình, ngày … tháng …năm… LỜI MỞ ĐẦU Hiện nay, với phát triển toàn xã hội, ngành công nghiệp liên tục phát triển mở rộng thêm ngành có phát triển riêng Đối với ngành công nghiệp điện – điện tử trọng phát triển kèm với phát triển khoa học – kỹ thuật vấn đề cần quan tâm ngày cao Do đó, với ngành điện chúng em hơm ta sâu vào việc tính tốn cơng thức em sâu vào tiểu luận môn “ tin học ứng dụng ngành điện” NHẬN XÉT CỦA GIÁO VIÊN Chương : Nêu sở lý thuyết Matlab I GIỚI THIỆU VỀ MATLAB Giới thiệu MATLAB phần mềm chạy môi trường Windows hãng MathWorks sản xuất cung cấp Có thể coi Matlab ngơn ngữ kỹ thuật Nó tích hợp cơng cụ mạnh phục vụ tính tốn, lập trình, thiết kế, mô phỏng,… môi trường dễ sử dụng tốn lời giải biểu diễn theo ký hiệu toán học quen thuộc Các ứng dụng điển hình : - Tốn học tính tốn - Phát triển thuật tốn - Tạo mơ hình, mơ tạo 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 xây dựng giao diện người dùng đồ họa GUI Matlab hệ thống tương tác phần tử liệu mảng (array) không cần khai báo kích thước Điều cho phép bạn giải nhiều tốn tính tốn kỹ thuật đặc biệt toán liên quan đến ma trận véc tơ Matlab viết tắt hai từ tiếng anh Matrix Laboratory ( Phịng thí nghiệm ma trận) Ban đầu Matlab viết để phục vụ việc tính tốn ma trận Trải qua thời gian dài, phát triển thành cơng cụ hữu ích, ngơn ngữ kỹ thuật Trong mơi trường đại học, cơng cụ chuẩn cho khóa học mở đầu cao cấp tốn học, khoa học kỹ thuật Trong cơng nghiệp, cơng cụ lựa chọn cho việc phân tích, phát triển nghiên cứu hiệu suất cao Matlab cung cấp họ giải pháp theo hướng chuyên dụng hóa gọi Toolbox (hộp cơng cụ) Các toolbox cho phép người sử dụng học áp dụng kỹ thuật chuyên dụng cho lĩnh vực Toolbox tập hợp tồn diện hàm Matlab (M-file) cho phép mở rộng môi trườn Matlab để giải lớp toán cụ thể Các lĩnh vực có sẵn toolbox bao gồm : Xử lý tín hiệu, hệ thống điều khiển, logic mờ, mơ phỏng,… Hệ thống Matlab gồm có phần : - Ngơn gữ Matlab : ngơn ngữ ma trận / mảng cấp cao câu lệnh, hàm, cấu trúc liệu, vào/ra, tính lập trình hướng đối tượng Nó cho phép lập trình từ ứng dụng nhỏ đến ứng dụng lớn phức tạp - Môi trường làm việc Matlab : Đây công cụ phương tiện mà bạn sử dụng với tư cách người dùng lập trình Matlab Nó bao gồm phương tiện cho việc quản lý biến không gian làm việc Workspace xuất nhập liệu Nó bao gồm cơng cụ phát triển, quản lý, gỡ rối định hình M-file, ứng dụng Matlab - Xử lý đồ họa : Đây hệ thống đồ họa Matlab Nó bao gồm lệnh cao cấp cho trực quan hóa liệu hai chiều ba chiều, xử lý ảnh, ảnh động…Nó cung cấp lệnh cấp thấp cho phép bạn tùy biến giao diện đồng họa xây dựng giao dện đồng họa hoàn chỉnh cho ứng dụng Matlab - Thư viện tốn học : Đây tập hợp khổng lồ thuật tốn tính tốn từ hàm cộng ,sin, cos, số phức,… tời hàm ma trận nghịch đảo ma trận, tìm trị riêng 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 thư viện cho phép bạn viết chương trình C Fortran tương thích với Matlab Các lệnh khỏi chương trình, liệt kê biến, xóa biến Lệnh exit : tác dụng khỏi chương trình Lệnh clc (clear commad) xóa tất lệnh cửa sổ Command Window Lệnh clear xóa tồn biến nhớ thời Lệnh whos cho biết tất biến thời, kích thước nhớ biến Lệnh quit giống lệnh exit Các phím mũi tên lên xuống ( bàn phím) dùng để gọi lại lệnh thực trước Hoặc nhấn tổ hợp phím : ctrl + Q Cửa sổ lệnh Matlab Cửa sổ lệnh cửa sổ người sử dụng giao tiếp với Matlab Trình dịch Matlab hiển thị dấu nhắc >> để hiển thị sẵn sàng nhận thực lệnh bạn Ví dụ, muốn nhập dòng lệnh gán biến x=5, ta gõ sau : >> x=5 Sau nhấn phím enter, Matlab đáp ứng sau: >>x=5 x= Hiệu chỉnh, sửa đổi dịng lệnh Các mũi tên, phím điều khiển bàn phím cho phép gọi lại, sửa đổi sử dụng lệnh gõ trước Ví dụ, ta gõ vào dịng lệnh: >>a=(1+sqt(5)/2%sqtr(x) hàm tính tốn bậc hai x Do ta gõ thiếu chữ r cú pháp hàm sqtr nên Matlab báo lỗi sau: Undefined function or variable ‘sqt’ có nghĩa hàm biến ‘sqt’ khơng định nghĩa Thay gõ lại dịng lệnh , đơn giản ta nhấn phím , câu lệnh bị sai hiển thị lại Sử dụng phím (hoặc dùng chuột) để di chuyển trỏ đến vị trí chữ q chữ t chèn vào chữ r sau nhấn enter, kết là: >>a=(1+sqrt(5)/2 a= 1.6180 Xóa cửa sổ lệnh Sử dụng lệnh clc để xóa cửa sổ lệnh ( xóa hình) Lệnh khơng xóa nội dung khơng gian làm việc Workspace, mà xóa hình Sau sử dụng clc ta sử dụng phím để gọi lại lệnh cũ Một số phím chuyên dụng lệnh thông dụng Ctrl + p : Gọi lại lệnh thực trước Hoặc Ctrl + n : Gọi lại lệnh vừa thực trước Hoặc Ctrl + f: chuyển trỏ sang bên phải ký tự Hoặc ctrl + b : chuyển trỏ sang bên trái ký tự Dấu “;” dùng […] để kết thúc hàng ma trận kết thúc biểu thức câu lệnh mà không hiển thị kết hình nhảy xuống dịng Ctrl + A Home : chuyển trỏ đầu dòng Ctrl + E End : Chuyển trỏ đến cuối dịng BackSpace : Xóa ký tự bên trái trỏ Esc : xóa dịng lệnh Ctrl + K : Xóa từ vị trí trỏ đến cuối dịng Ctrl + C : Dùng chương trình thực Clc : lệnh xóa hình đồ họa Input : lệnh nhập liệu vào từ bàn phím Demo : lệnh cho phép xem chương trình mẫu Ctrl – c : Dừng chương trình bị rơi vào trạng thái lặp khơng kết thúc Dịng lệnh dài : Nếu dịng lệnh dài q dùng … để chuyển xuống dịng II CÁC PHÉP TỐN CƠ BẢN 2.1 Phép tốn số học Matlab có hai kiểu phép tốn số học, phép ma trận (matrix arithmetic operation) phép toán mảng (array arithmetic operation) Phép toán ma trận định nghĩa luật đại số tuyến tính Phép tốn mảng thực tương ứng phần tử Để phân biệt phép toán ma trận phép toán mảng người ta đưa thêm vào trước toán tử dấu chấm “.” Phép toán ma trận Phép toán Toán tử Phép toán mảng Phép toán Toán tử Cộng + Cộng + Trừ - Trừ - Nhân * Nhân * Chia phải / Chia phải / Chia trái \ Chia trái \ Lũy thừa ^ Lũy thừa ^ Phép gán = Phép gán = Ví dụ : >>9/3 ans = >>9\3 ans = 0.33333 2.2 Thứ tự ưu tiên cho phép toán số học: 1) Ngoặc đơn 2) Lũy thừa 3) Nhân, chia 4) Cộng , trừ Bảng mô tả phép toán số học Matlab Tên hàm Tên hàm Matlab toán học Cộng + Trừ STT Ý nghĩa Ví dụ Kết + 2+3 - - 5-3 Nhân * × 2*3 Chia / : 6/2 Lũy thừa ^ ^ 5^2 25 Số mũ số e x Logarit nepe x Logarit thập phân x Logarit theo 10 số x Exp(x) e^x Log(x) Ln(x) Log10(x) Lg10(x) Log2(x) Lg2(x) Exp(1) 2,71828 Exp(2) 7,3891 Log(2.17828) Log(exp(1)) Log10(10) Log10(100) Log2(2) Log2(4) Ngồi Matlab cịn hỗ trợ hàm tìm ước số chung lớn gcd () tìm bội số chung nhỏ l cm () Ví dụ >>gcd(10,20) >>lcm(10,20) >>gcd(45,30) >>lcm(45,30) Ans = Ans = Ans= Ans = 10 20 15 90 2.3 Phép toán lượng giác Khi sử dụng phép toán lượng giác, ý Matlab hiểu đối số hàm lượng giác radian Cũng kết trả hàm lượng giác ngược radian Radian = (Độ * 3.14) : 180 Độ (radian*180) : 3.14 Bảng mô tả phép toán lượng giác matlab Stt Tên hàm toán học Tên hàm Matlab Mơ tả tốn học Ví dụ Kết Sin Sin Sin 300 Sin(30*pi/180) 0.5000 Cos Cos Cos 300 Cos(0.5) 0.8776 Tang Tan Tg 100 Tan(10*pi/180) 0.1763 CoTang Cot Cotg450 Cot(45*pi/180) Arcsin Asin Arcsin0.5 Asin(0.5)*180/pi 300 Arccos Acos Arccos0.86 Acos(0.86)*180/pi 300 Arctang Atan Arctang1 Atan(1)*180/pi 450 arccotang acot Arccotang1 Acot(1)*180/pi 450 2.4 phép toán làm tròn lấy phần dư Stt Tên hàm Ý nghĩa Ví dụ Kết Fix Làm trịn tành phần thập phân fix(1.5680) Floor floor(1.5680) Ceil ceil(15680) Round Làm tròn số nguyên gần round(1.5680) Mod(x,y) Tính phần dư phép chia, lấy theo y Mod(13,5) Rem(x,y) Tính phần dư phép chia, lấy theo x Rem(13,2) Sign(x) Lấy dấu x Sign(-2) -1 Làm tròn số nguyên gần nhỏ Làm tròn số nguyên gần lớn Ví dụ : >>round(1.6) >>mod(10,8) >>fix(1.5680) ans = ans = ans = 2 >>floor(10.8) >>Rem(10,8) >>ceil(1.5680) ans = ans = ans = 10 2 2.5 Phép toán quan hệ logic 2.5.1 Các phép toán quan hệ: Các phép toán quan hệ bao gồm: - Nhỏ hơn: < - Nhỏ bằng: - Lớn bằng: >= - Bằng: = - ˜= Không bằng(khác): Biểu thức có tốn tử quan hệ nhận giá trị (true) sai (false) Trong matlab, biểu thức có giá trị 1, biểu thức sai có giá trị Để tính tốn với phép tính số học đơn giản, dấu nhắc >> cửa sổ lệnh Command Windows, gõ vào trực tiếp: Ví dụ: >>10>15 >>2>3 >>2=2 ans= ans= ans= 1 >>10>2>2˜=3 ans= ans= ans= 1 Bảng mô tảcác phép tốn Matlab Stt Tên hàm Ý nghĩa Ví dụ Kết > So sánh lớn 1>2 < So sánh nhỏ 1= So sánh lớn 1>=2 A =[1 7; 9; 5]; B=[0 4; 6; 7];C=A&B 10 C= 1 1 1 - Phép (or) : Ký hiệu VD : phép or ma trận cỡ A,B ma trận có phần tử phần tử tương ứng ma trận phần tử tương ứng ma trận khác >>A = [0 7; 9; 0]; >>B = [0 4; 6; 0]; >>C=A | B C= 1 1 1 Phép đảo (not) : Ký hiệu ~ VD : Phép đảo ma trận ma trận có cỡ với phần tử có giá trị phần tử ma trận đầu có giá trị phần tử ma trận đầu có giá trị khác >>A=[0 7; 9; 0] >>B=~A B= 0 0 0 Bảng mô tả phép tốn logic Matlab Stt Tên hàm Ý nghĩa Ví dụ Kết & Phép giao (1>3)&(2>4) And Phép giao And(1>3,2>4) Phép hợp (1>3)|(2>1) | 11 Or Phép hợp Or(1>3,2>1) ~ Phép phủ định ~(1>2) Not Phép phủ định Not(1>2) Xor Phép Xor Xor(1>3,2>B =5^2+2^3 12 B= 33 >>log(100)*exp(10) Ans= 1.0144e+005 >>A=B/C A= 1.973e-004 2.5.5 Số phức phép toán số phức Matlab phần mềm mạnh có khả tính tốn phép tính liên quan đến số phức Chú ý : Trong phép tính số phức Matlab cho phép tính tốn với số phức dạng đại số Matlab chấp nhận số phức biểu thị hàm đặc biệt i j, hai toán tử hàm + Biểu diển số phức : Tên = phần thực + phần ảo i(hoặc j) + Các phép toán số phức: Cộng, trừ, nhân số phức : C1=a1+b1i; C2=a2+b2i Cộng: c1+c2 Trừ : c1-c2 Nhân: c1*c2 Chia : c1/c2 Các hàm đặc biệt: real(x): tìm phần thực số phức x imag(x): tìm phần ảo số phức x 13 conj(x): tìm số phức liên hợp số phức x abs(x): tìm giá trị tuyệt đối số phức x angle(x): góc tạo số thực ảo Ví dụ: >>a=3+4j >>real(a) >>modul=abs(a) a= ans= modul = 3.0000+4.0000j >>imag(a) >>goc=angle(a) ans= goc= 0.9273 Bảng mơ tả phép tốn số phức Matlab Stt Tên hàm Ý Ví dụ Kết Z1=5+7i 5.0000+7.0000i Z2=5-10*j 5.0000-10.0000i nghĩa Tạo số phức Tạo số phức Complex(a,b) Trả số Z1=complex(5,7) 5.0000+7.0000i phức có phần thực a, phần ảo b Abs(z) Tính Abs(z1) 11.1803 giá trị modun số phức z 14 Angle(z) Tính Angle(z1) 0.9505 Imag(z1) -10 Real(z2) Z3=conj(z1) 5.0000-7.0000i giá trị góc pha số phức zrad Imag Tính giá trị ảo số phức z Real Tính giá trị thực số phức z Conj(z) Tạo liên hợp phức + Cộng Z1+z2 10.0000-3.0000i 10 - Trừ Z1-z2 0-17.0000i 11 * Nhân Z1*z2 95.000015.0000i 12 / Chia Z1/z2 -0.3600+0.6800i 2.5.6 Định dạng số Dữ liệu số xuất hình Matlab ấn định mặc định theo chữ số thập phân Tuy nhiên, số trường hợp cần định dạng khác 15 Stt Tên hàm Ý nghĩa Kết Format Định dạng 3.1416 chữ số thập phân Fomat short Fomat long 3.1416 Định dạng 16 3.141592653589 chữ số Fomat short e Định dạng 3.1416e+000 chữ số, gồm chữ số thập phân phần mũ Fomat long e Định dạng 16 3.1415926535e+000 chữ số , gồm 15 chữ số thập phân phần mũ Fomat blank Định dạng 3.14 chữ số , không áp dụng cho số phức Fomat + Hiển thị dấu + số, gồm +,- khoảng trống Fomat rat Định dạng số 355/113 dạng phân số 16 CHƯƠNG II : ỨNG DỤNG TÍNH TỐN CÁC THƠNG SỐ CỦA MẠCH ĐIỆN SAU r1=1 r2=40 r3=60 u1=240 A=[1 -1 -1; r1 U_AB=[0; u1] I=inv(A) I1=I(1,1) disp ('dong dien disp(I1) I2=I(2,1) disp ('dong dien disp (I2) I3=I(3,1) disp ('dong dien disp (I3) r2; r3 -r2] tai nhanh 1:') tai nhanh 2:') tai nhanh 3:') 17 18 r1=8 r2=3 u1=18 A=[1 -1 -1; U=[0; u1] I=inv(A) I1=I(1,1) disp ('dong disp(I1) I2=I(2,1) disp ('dong disp (I2) I3=I(3,1) disp ('dong disp (I3) r1 r2; -r2 0] dien tai nhanh 1:') dien tai nhanh 2:') dien tai nhanh 3:') Udm=10; %Khai bao bien lab=5; lbc=3; Pab=1000; Qab=500; Pbc=750; Qbc=250; %Khai bao bien lab=5; lbc=3; %Chon dien tro va dien khang day dan r_0=0.3 19 x_0=0.4 % chon cong suat tac dung va cong suat phan khang Sbc=Pbc+Qbc Rbc=r_o*lbc Xbc=x_0*lbc Sab=(Pab+Pbc)+(Qab+Qbc) Rab=r_0*lab Xab=x_0*lab % Ton that dien ap tren toan bo duong day U=1/U_dm((Pab+Pbc)*Rab+(Qab+Qbc)*Xab)+(Pbc*r_0+Qbc*x_ 0) %Khai bao bien U_dm=10000 U_cp=(5*Udm)/100 %Nhap gia tri ton that dien ap tonthat=input('Nhap ton that =') if tonthat