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

Ứng dụng Matlab trong xây dựng thư viện một số hàm hỗ trợ giải bài tập lý thuyết mạch.

81 2,4K 2

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

Nội dung

1 Mục lục Lời nói đầu Đất nước ta trình hội nhập, cạnh tranh với nước giới tất lĩnh vực liệt, đòi hỏi ngành, cấp phải đổi phương pháp quản lý, áp dụng công nghệ tiên tiến, đại, để nâng cao chất lượng hiệu Đối với ngành giáo dục vậy, để cạnh tranh phải nâng cao chất lượng đào tạo, giữ vững thương hiệu Muốn vậy, trường học, đặc biệt trường đại học cao đẳng, yếu tố lực giảng viên, giáo viên, nhà trường cần phải trọng đến việc sử dụng phương tiện dạy học đại, ứng dụng phần mềm phục vụ cho trình giảng dạy môn học Qua sinh viên tiếp cận với công nghệ tiên tiến giúp em nâng cao lực nhận thức, lực tư duy, kỹ ứng dụng, để giải tốt nhiệm vụ mà môn học yêu cầu Các ngành học nói chung, ngành điện nói riêng, việc giải tập môn học, môn học Lý Thuyết Mạch lượng thời gian lớn Môn Lý Thuyết Mạch không sâu vào việc giải thích tượng vật lý, mà môn học ý nhiều đến tinh toán ứng dụng kỹ thuật, phục vụ cho chuyên ngành lĩnh vực khoa học kỹ thuật khác liên quan đến kỹ thuật điện Từ trước đến phương pháp giải tập lý thuyết mạch thường là: từ sơ đồ mạch điện lập phương trình, hệ phương trình, sau tiến hành giải phương trình, hệ phương trình để tìm kết Gặp mạch điện có nhiều phép tính phương trình phức tạp, việc giải tập mạch điện nhiều nhánh, mạch điện chế độ độ, đường dây dài… nhiều thời gian Để giải vấn đề này, cần phải ứng dụng phần mềm Có nhiều phần mềm tính toán với khả ứng dụng cao như: Maple, Mathcad, Athematica, Matlab… Trong Matlab phần mềm có khả ứng dụng cao tiện ích Với nội dung luận văn : Ứng dụng Matlab xây dựng thư viện số hàm hỗ trợ giải tập lý thuyết mạch Qua đó, việc thực lập hàm hỗ trợ việc mô tập mạch điện dùng phần mềm Matlab máy tính giúp cho sinh viên tiến hành giải tập cách nhanh chóng, xác hiệu 2 Nội dung luận văn gồm phần sau: Chương I - Cơ sở Matlab: Giới thiệu tổng quan phần mềm Matlab, số đặc điểm khả ứng dụng giải toán kỹ thuật Chương II - Ứng dụng Matlab giải số dạng toán lý thuyết mạch điện - tập trung trình bày khả ứng dụng Matlab giải mạch điện toán: tính toán số phức, ảnh tín hiệu hình sin, tính toán quan hệ ma trận mạng cửa, tính toán trình độ, tính toán thông số đường dây dài, tính toán truyền công suất đường dây dài Chương III - Kết hàm thư viện giao diện GUI – tổng kết số kết triển khai Matlab phần thư viện hàm giao diện tính toán số phức, giao diện ảnh tín hiệu hình sin, giao diện tính toán quan hệ ma trận mạng cửa, giao diện tính toán trình độ, giao diện tính toán thông số đường dây dài, giao diện tính toán truyền công suất đường dây dài số giao diện GUI hộ trợ khai thác thư viện hàm viết ChươngIV - Kết luận hướng phát triển, tóm tắt lại kết đạt luận văn đồng thời phân tích số mặt tồn đề xuất số hướng phát triển luận văn 3 CHƯƠNG I CƠ SỞ MATLAB Matlab ngôn ngữ lập trình thực hành bậc cao sử dụng để giải toán kỹ thuật Matlab tích hợp việc tính toán, thể kết quả, cho phép lập trình, giao diện làm việc dễ dàng cho người sử dụng Dữ liệu với thư viện lập trình sẵn cho phép người sử dụng có ứng dụng sau  Sử dụng hàm có sẵn thư viện, phép tính toán học thông thường  Cho phép lập trình tạo ứng dụng  Cho phép mô mô hình thực tế  Phân tích, khảo sát hiển thị 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 số phần mềm khác C++, Fortran… 1.1.Tổng quan cấu trúc liệu Matlab, ứng dụng Matlab hệ thống tương giao, phần tử liệu mảng (mảng không đòi hỏi kích thước) Chúng cho phép giải vấn đề liên quan đến lập trình máy tính, đặc biệt phép tính ma trận hay véc tor có sử dụng ngôn ngữ C Fortran lập trình thực ứng dụng lập trình câu lệnh gọi từ Matlab Matlab viết tắt từ chữ matrix laboratory tức thư viện ma trận, từ phần mềm Matlab viết nhằm cung cấp cho việc truy cập vào miền ma trận cách dễ dàng, phần mềm ma trận phát triển công trình Linpack Eispack Ngày Matlab phát triển Lapack Artpack tạo nên nghệ thuật phần mềm cho ma trận 1.1.1 Dữ liệu Dữ liệu Matlab thể dạng ma trận (hoặc mảng - tổng quát), có kiểu liệu liệt kê sau • Kiểu đơn (single), kiểu có lợi nhớ liệu đòi hỏi byte nhớ hơn, kiểu liệu không sử dụng phép tính toán học, độ xác • Kiểu double, kiểu kiểu thông dụng biến Matlab Chương I: Cơ sở Matlab 4 • Kiểu Sparse • Kiểu int8, uint8, int16… • Kiểu char, ví dụ ‘ Hello’ • Kiểu cell • Kiểu Structure Trong Matlab kiểu liệu double kiểu mặc định sử dụng phép tính số học 1.1.2.Ứng dụng Matlab ứng dụng rộng rãi nhiều lĩnh vực sử dụng nhiều phép tính toán học Với đặc điểm khả thân thiện với người sử dụng nên dễ dàng sử dụng ngôn ngữ lập trình khác như: Basic, Pascal, C Matlab cung cấp môi trường phong phú cho biểu diễn liệu có khả mạnh mẽ đồ họa, bạn tạo giao diện riêng cho người sử dụng (Graphic User Interface - GUI) để giải vấn đề cho riêng Thêm vào đó, Matlab đưa công cụ để giải vấn đề đặc biệt, gọi Toolbox (thư viện công cụ) Ví dụ Student Edition Matlab bao gồm Toolbox điều khiển tự động, Toolbox xử lí số liệu, Toolbox tính toán biến hình thức Ngoài bạn tạo Toolbox cho riêng 1.1.3.Toolbox công cụ quan trọng Matlab Công cụ Matlab cung cấp cho phép bạn ứng dụng kỹ thuật để phân tích, thiết kế, mô mô hình Ta tìm thấy toolbox môi trường làm việc của:  Mạng nơ ron  Logic mờ  Simulink 1.2 Hệ thống Matlab Hệ thống giao diện Matlab chia thành phần:  Môi trường phát triển Chương I: Cơ sở Matlab 5 Đây nơi đặt công cụ, phương tiện giúp sử dụng lệnh file, ta liệt kê số sau: + Desktop + Command Window + Command History + Browsers for viewingghelp  Thư viện hàm toán học Bao gồm cấu trúc tính tổng, sin, cosin, actan2, etc…, phép tính đơn giản đến phép tính phức tạp tính ma trận nghịch đảo, trị riêng, chuyển đổi furie, laplace, symbolic library  Ngôn ngữ Matlab Đó ngôn ngữ bậc cao ma trận mảng, với dòng lệnh, hàm, cấu trúc liệu vào, lập trình hướng đối tượng  Đồ hoạ Matlab Chương I: Cơ sở Matlab 6 Bao gồm câu lệnh thể đồ hoạ môi trường 2D 3D, tạo hình ảnh chuyển động, cung cấp giao diện tương tác người sử dụng máy tính  Giao tiếp với ngôn ngữ khác Matlab cho phép tương tác với ngôn ngữ khác C, Fortran 1.3 Một số lệnh Matlab 1.3.1 Các phép toán bản = - + / * Gán giá trị cho biến Các phép toán ^ ; , Eps I ,j Inf NaN Pi Xuất cuối giá trị, ngầm định giá trị không cho xuất giá trị hình Ngăn cách phần tử (tương đương dấu cách) Cấp xác tương đối sử dụng giá trị dấu phẩy động Toán tử ảo Vô Not a Number Hằng số pi=3.14 1.3.2 Các biến (khai báo sử dụng) Chế độ mặc định kết biến gán cho ans Nếu sử dụng dấu “=” ta định nghĩa biến gán giá trị cho biến Khi nhập tên biến mà không gán giá trị, ta thu giá trị biến Tên biến chứa tới 32 chữ cái, gạch ngang thấp chữ số Chữ viết hoa chữ viết nhỏ phân biệt Các giá trị thực thành chuỗi lệnh dòng, chỉ cách dấu (;), dùng dấu (,) để tách lệnh giá trị xuất hình Ví dụ: >>giatri_1=8; giatri_2=4; >>giatri_1=8 giatri_1= >> x=giatri_1 + giatri_2, X= giatri_1 * giatri_2 x= Chương I: Cơ sở Matlab 7 12 X= 32 1.3.3 Các hàm đăc biệt Trong Matlab có sẵn nhiều hàm toán, liệt kê hàm thường dùng bảng sau: Một số hàm toán học thông dụng sqrt Căn bậc hai exp Lũy thừa số e sin Hàm sin cos Hàm cos tan Hàm tang abs Lấy giá trị tuyệt đối độ lớn số phức angle Góc pha số phức real Lấy phần thực số phức imag Lấy phần ảo số phức sinh(x) Hàm tính hyperbolic sine x cosh(x) Hàm tính hyperbolic cose x deconv(a,b) Chia hai đa thức a b sum(v) Tổng phần tử vector min(v) Phần tử vector nhỏ max(v) Phần tử vector lớn Tất hàm bảng có khả sử dụng tính toán với vector 1.3.4 Các cấu trúc liệu bản a.Vector ma trận Để khai báo xử lý vector ma trận thường nhập trực tiếp, nhập trực tiếp, phần tử hàng cách dấu phẩy dấu cách trống, hàng cách dấu; ngắt dòng >> A=[1 4;3 2] A= >>B=[1 4;6 3] Chương I: Cơ sở Matlab 8 B= Để truy cập phần tử vector ma trận thực cách khai báo chỉ số phần tử Đặc biệt, cần xuất phần tử hàng hay cột, sử dụng toán tử (:) >> B(2,3) ans = >> B(2,:) ans = >> B(:,3) ans = b Tính toán với vector ma trận Có nhiều phép toán áp dụng cho vector ma trận: Để thực phép nhân hai ma trận làm sau: >> a=[2 4;2 1;5 1]; >> b=[1 1;3 2;1 3]; >> c=a*b c = 10 16 15 13 13 13 10 >> d=a/b d = -0.5556 0.4444 1.2222 2.1111 0.1111 -0.4444 -1.5556 2.4444 -0.7778 Nếu phép tính *, /, ^ cần thực cho phần tử vector ma trận, ta phải đặt thêm vào trước ký hiệu phép tính Chương I: Cơ sở Matlab 9 ký hiệu (.) Phép tính biến vô hướng thực cho phần tử một: >> a./b ans = 2.0000 0.5000 4.0000 0.6667 2.0000 0.5000 5.0000 1.0000 0.3333 Để tính ma trận nghịch đảo dùng lệnh inv(ma tran) >> inv(a) ans = -0.0476 -0.0476 0.2381 -0.0476 0.2857 -0.0952 0.2857 -0.0476 -0.0952 Lệnh det(ma tran) dùng để tính định thức của ma trận >> det(a) ans = -63 1.3.5 Các hàm phức tạp a.Hàm plot Hàm plot cho phép vẽ đồ thị mặt phẳng tọa độ x, y Ví dụ: vẽ đồ thị y = sin x Cho giá trị x từ −π đến π , giá trị cách 0,05π >> x=[-pi:0.05*pi:pi]; >> y=sin(x); >> plot(x,y); Muốn vẽ thêm đồ thị y1=cos (x) ta dùng lệnh hold on Lệnh hold on cho phép giữ lại tất hình vẽ vẽ trước Lệnh plot vẽ thêm vào Nếu ta không sử dụng lệnh hold on cụ thể trường hợp này, ta đồ thị y= sin x Khi hoàn thành hình vẽ, ta sử dụng lệnh hold off để bỏ hình cũ ta vẽ tiếp hình khác Một vài hàm toán học khác dùng hỗ trợ tính toán lý thuyết mạch: b.Hàm poly Hàm poly cho phép xác định đa thức từ tập hợp nghiệm chúng Ví dụ: Xác định đa thức có nghiệm: -1;0;1;2 Chương I: Cơ sở Matlab 10 10 >> poly([-1 2]) ans = -2 -1 Kết đa thức có dạng: x − x − x + x c.Hàm polyder Hàm polyder cho phép thực tính đạo hàm đa thức mà hệ số hàm thể dạng ma trận Ví dụ: Thực tính đạo hàm hàm f ( x ) = x − x − x + x với ma trận hệ số là: [1 −2 −1 0] >> polyder([1 -2 -1 0]) ans = -6 -2 Kết đa thức có dạng: x − x − x + d Một vài hàm toán học khác Syms x Khai báo biến hình thức x diff(f(x)) Tính đạo hàm hàm f(x) conv(a,b Nhân hai đa thức có hệ số nhập thông qua hai ma trận a b ) 1.3.6 Cấu trúc lệnh bản a.Cấu trúc if-else-end Cú pháp cấu trúc: if biểu thức điều kiện khối lệnh end Khối lệnh hai trạng thái if end thực tất biểu thức điều kiện Trong trường hợp có hai điều kiện thay đổi, cấu trúc if- else- end là: if biểu thức điều kiện khối lệnh thực điều kiện else khối lệnh thực điều kiện sai end Chương I: Cơ sở Matlab 67 67 Hình 3.4 Giao diện kết 3.2 Giao diện ảnh phức tín hiệu hình sin 3.2.1 Giao diện ban đầu Trên hình 3.5 bao gồm hai panel nhập số liệu dạng đại số dạng Ơle Kết hiển thị hai dạng đồ thị hình sin đồ thị mặt phẳng phức, dạng phương trình hàm hình sin Hình 3.5 Giao diện ảnh phức tín hiệu hình sin Chương III: Kết 68 68 3.2.2 Giao diện sau nhập số liệu Để nhập số liệu chuyển từ dạng đại số sang dạng Ơle chỉ việc nhập phần thực(a), phần ảo (b) sau nhập tần số nguồn (mặc định tần số nguồn f=50 Hz) Hình 3.6 Giao diện kết Chương III: Kết 69 69 3.2.3 Giao diện kết Hình 3.7 Giao diện kết Sau nhập thông số vào ô cần thiết, chỉ cần nhấn vào nút chuyển đổi (đại số>>Ơle Ơle>>đại số) kết hình 3.7 3.3 Giao diện tính toán quan hệ ma trận mạng cửa 3.3.1 Giao diện ban đầu Hình 3.8 Quan hệ ma trận A,Z,Y,H,G,B mạng hai cửa Chương III: Kết 70 70 Trên hình 3.8 giao diện dùng để chuyển đổi tính toán mối quan hệ ma trận A,Z,Y,H,G,B tính toán thông số sơ đồ tương đương hình T π mạng hai cửa Giao diện tính toán bao gồm panel có 15 lựa chọn chuyển đổi qua lại ma trận A,Z,Y,H,G,B đôi Hai panel để nhập số liệu dạng ma trận chỉ cần nhập số liệu từ dạng ma trận Hai panel lại để hiển thị thông số sơ đồ tương đương dạng hình T π 3.3.2 Giao diện sau nhập số liệu Để nhập số liệu trước tiên cần phải lựa chọn 15 lựa chọn chuyển đổi ma trận sau nhập thông số ma trận biết Hình 3.9 Giao diện sau nhập số liệu 3.3.3 Giao diện kết Sau nhập số liệu, chỉ việc bấm chuột vào nút chuyển đổi (>> hay [...]... 1000100000*s+2100*s^2+s^3+100000000000 >> mySys=tf(sym2poly(n),sym2poly(d)) Transfer function: Chương II: Ứng dụng Matlab trong giải một số bài toán lý thuyết mạch điện 36 36 1100 s^2 + 100000 s + 1e011 -s^3 + 2100 s^2 + 1e009 s + 1e011 >> step(mySys) >> bode(mySys) Chương II: Ứng dụng Matlab trong giải một số bài toán lý thuyết mạch điện ... độ Đề-các) Dạng đại số của một số phức được biểu diễn: x = a + jb trong đó: a – thành phần thực, b- thành phần ảo của số phức x Dạng Ơ-le của một số phức được biểu diễn x = A∠ϕ trong đó: A – biên độ của số phức, ϕ- pha của số phức Chương II: Ứng dụng Matlab trong giải một số bài toán lý thuyết mạch điện 21 21 Công thức để chuyển đổi giữa hai dạng: • Công thức chuyển đổi x = A∠ϕ → a + jb a = A cos ϕ... chuyển đổi từ dạng đại số sang dạng Ơ-le % Các biến đầu vào: % a – thành phần thực % b – thành phần ảo % Các kết quả đầu ra: % A – biên độ của số phức % phi – pha của số phức A1= a+jb; Chương II: Ứng dụng Matlab trong giải một số bài toán lý thuyết mạch điện 22 22 A=abs(A1); phi=angle(A1*180/pi); 2.1.2 Cộng, trừ, nhân , chia số phứcở dạng Ơ le a Cơ sở lý thuyết & & Giả sử cho hai số phức: V1 = a1 +... II: Ứng dụng Matlab trong giải một số bài toán lý thuyết mạch điện 24 24 2.2 Giải mạch điện bằng SCAM (Symbolic Circuit Analysis in MatLab) 2.2.1 Cơ sở lý thuyết Hiện nay có rất nhiều phần mềm mô phỏng mạch điện để vẽ mạch và phân tích mạch điện Tuy nhiên hầu hết các phần mềm chỉ cho phép mô phỏng mạch và đo dòng, áp, công suất…còn việc lập các hệ phương trình cho mạch điện, khi một số tham số của... lần lượt là tham số đầu ra, dấu bằng, tên hàm Tham số đầu vào được viết theo tham số đầu vào và được bao trong ngoặc đơn - Một số dòng đầu tiên nên viết chú thích cho hàm - Các thông tin trả lại của hàm được lưu vào tham số (ma trận) đầu ra Vì vậy luôn kiểm tra chắc chắn rằng trong hàm có chứa câu lệnh ấn định giá trị của tham số đầu ra - Các biến cùng tên có thể được sử dụng bởi cả hàm và chương trình... kq=V1*exp(j*phi1*pi/180)*V2*exp(j*phi2*pi/180) - Chia hai số phức: function kq=chia(V1,phi1,V2,phi2) %phi1,phi2 tinh theo do kq=V1*exp(j*phi1*pi/180)/V2*exp(j*phi2*pi/180)) Chương II: Ứng dụng Matlab trong giải một số bài toán lý thuyết mạch điện 23 23 a Cơ sở lý thuyết2 .1.3 Giải hệ phương trình phức Giả sử có hệ n phương trình tuyến tính n ẩn (các hệ số và biến có thể là số phức):  a11 x1 + a12 x2 + a13 x3 + +... dụng bởi cả hàm và chương trình khi cần đến nó Các giá trị tính toán trong hàm, tham số đầu ra không chịu tác động của chương trình - Nếu một hàm cho nhiều hơn một giá trị đầu ra phải viết tất cả các giá trị trả lại của hàm thành một vector trong dòng khai báo hàm - Một hàm có nhiều tham số đầu vào cần phải liệt kê chúng khi khai báo hàm Ví dụ: Thực hiện chương trình tính tổng trở tương đương của đoạn... R3 1 1 2 2 0 2 0 0 12 1000 2000 2000 Chương II: Ứng dụng Matlab trong giải một số bài toán lý thuyết mạch điện 27 27 Chú ý: Các ký hiệu các phần tử (V, R ) đều phải được viết dạng chữ in hoa 2.2.2 Bài toán Ví dụ 1: Xét mạch điện ở trên như sau: Nhập bảng mô tả mạch điện dưới đây vào Mfile trong Matlab và lưu thành một file có đuôi mở rộng là cir với một tên tùy ý (ví dụ đặt tên là vidu1.cir) V1 1... thực hiện trong Matlab Từ cơ sở đó đề xuất xây dựng giao diện thực hiện trong Matlab sao cho thuận tiện nhất cho người sử dụng; đồng thời nghiên cứu lập trình để tính toán giải các bài toán lý thuyết mạch một cách tổng quát cho các nội dung đã được đề cập ở phần lý thuyết của chương 2.1 Biểu diễn số phức và ảnh phức của tín hiệu xoay chiều điều hòa 2.1.1 Hàm chuyển đổi giữa hai dạng cơ bản mô tả... 1 1 1 \ ] [- - + | + + | v_2] [ R1 \ R1 [ [ R2 R3 / ] ] v_1 ] Kích thư c của ma trận Z như sau: Z= [ 0] [ 0] [ V1] Như vậy ta có thể sử dụng phương trình dạng MNA để viết phương trình cho điểm nút trên mạch điện, ví dụ xây dựng phương trình cho điểm nút 2 như sau: Chương II: Ứng dụng Matlab trong giải một số bài toán lý thuyết mạch điện 31 31 − v1  1 1 1  + + + ÷v2 = 0 R1  R1 R2 R3  hoặc ... Sử dụng h m có sẵn thư viện, phép tính toán h c thông thư ng  Cho phép lập trình tạo ứng dụng  Cho phép mô mô h nh thực tế  Phân tích, khảo sát hiển thị liệu  Với phần mềm đồ hoạ cực mạnh... Khi hoàn thành h nh vẽ, ta sử dụng lệnh hold off để bỏ h nh cũ ta vẽ tiếp h nh khác Một vài h m toán h c khác dùng h trợ tính toán lý thuyết mạch: b .H m poly H m poly cho phép xác định đa thức... độ lớn số phức angle Góc pha số phức real Lấy phần thực số phức imag Lấy phần ảo số phức sinh(x) H m tính hyperbolic sine x cosh(x) H m tính hyperbolic cose x deconv(a,b) Chia hai đa thức a b

Ngày đăng: 28/12/2015, 20:53

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