intTypePromotion=1
ADSENSE

Bài giảng Giải tích mạch và mô phỏng trên máy tính - ĐH Sư Phạm Kỹ Thuật Nam Định

Chia sẻ: Mucnang222 Mucnang222 | Ngày: | Loại File: PDF | Số trang:248

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

Tập bài giảng được biên soạn dùng cho sinh viên ngành công nghệ kỹ thuật Điện, Điện tử trường Đại học Sư phạm kỹ thuật Nam Định, nội dung bao gồm 4 chương, được trình bày cụ thể như sau: MATLAB trong giải tích mạch điện; Ứng dụng MATLAB giải tích mạch điện tuyến tính ở chế độ xác lập; Ứng dụng MATLAB giải tích mạch điện tuyến tính trong quá trình quá độ; Ứng dụng MATLAB giải tích một số mạch điện tử cơ bản.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Giải tích mạch và mô phỏng trên máy tính - ĐH Sư Phạm Kỹ Thuật Nam Định

  1. LỜI NÓI ĐẦU Ngay từ xa xưa con người đã biết dùng toán học để chứng minh các hiện tượng vật lý, giải quyết các vấn đề của khoa học kỹ thuật. Ngày nay toán học càng phát triển hơn, là nền tảng cơ bản, cùng với các phần mềm mô phỏng giúp người làm khoa học kỹ thuật chứng minh được các luận điểm của mình trước khi kiểm nghiệm thực tế, từ đó rút ngắn thời gian giảm chi phí nghiên cứu và phát triển sản phẩm. Với cái tên ban đầu “ Phòng thí nghiệm toán học” Matlab cũng hướng theo mục tiêu trên và được thiết kế cho giảng dạy nghiên cứu trên cơ sở các lý thuyết ma trận, đại số tuyến tính và giải tích số. Ngày nay Matlab đã vượt xa khỏi khuôn khổ ban đầu, trở thành một công cụ tương tác và ngôn ngữ lập trình dùng cho các lĩnh vực tính toán khoa học, kỹ thuật. Theo thời gian, Matlab được rất nhiều người chấp nhận. Trong công nghiệp, Matlab là công cụ dùng để phân tích, triển khai và nghiên cứu ngày càng rộng rãi. Trong các trường chuyên nghiệp, Matlab được xem là công cụ giảng dạy chuẩn trong lĩnh vực khoa học kỹ thuật. Có thể nói rằng, nếu biết sử dụng Matlab - một công cụ tính toán mạnh mẽ kết hợp với phần mềm phân tích số liệu và hiển thị phong phú, thì sinh viên đã có điều kiện để học tập hiệu quả trong quá trình học đại học. Với những lợi ích của Matlab như vậy, hơn nữa qua tìm hiểu thực tế nhận thấy có rất ít tài liệu cho các chuyên ngành điện, điện tử ứng dụng Matlab. Được sự đồng ý của hội đồng khoa học, nhóm biên soạn đã lựa chọn Matlab đưa vào giảng dạy trong chương trình môn học “Giải tích mạch và mô phỏng trên máy tính”. Tuy nhiên với công cụ và thư viện rộng lớn được ứng dụng trong nhiều ngành kỹ thuật khác nhau của Matlab, cho nên ở đây nhóm tác giả chỉ khai thác một phần của Matlab được sử dụng cho giải tích và mô phỏng đặc tính các linh kiện, các mạch điện, điện tử. Tập bài giảng được biên soạn dùng cho sinh viên ngành công nghệ kỹ thuật Điện, Điện tử trường Đại học Sư phạm kỹ thuật Nam Định, bao gồm 4 chương: Chương 1: MATLAB trong giải tích mạch điện. Chương 2: Ứng dụng MATLAB giải tích mạch điện tuyến tính ở chế độ xác lập. Chương 3: Ứng dụng MATLAB giải tích mạch điện tuyến tính trong quá trình quá độ. Chương 4: Ứng dụng MATLAB giải tích một số mạch điện tử cơ bản. 1
  2. Nhóm biên soạn xin chân thành cảm ơn các đồng nghiệp trong khoa Điện – Điện tử, cùng các đồng nghiệp trong trường Đại học Sư phạm Kỹ thuật Nam Định đã đóng góp ý kiến và tạo điều kiện giúp chúng tôi hoàn thành tài liệu này. Trong lần biên soạn đầu tiên, chắc chắn sẽ không tránh khỏi một số sai sót, mong bạn đọc đóng góp ý kiến cho nhóm tác giả để tập bài giảng được hoàn thiện hơn. Chúng tôi xin chân thành cảm ơn! Nam Định, tháng 11 năm 2014 Ban biên soạn: ThS. Cao Văn Thế ThS. Đoàn Ngọc Sỹ 2
  3. MỤC LỤC LỜI NÓI ĐẦU .......................................................................................................................... 1 Chương 1: MATLAB TRONG GIẢI TÍCH MẠCH ĐIỆN ............................................... 5 1.1. Lập trình MATLAB ............................................................................................. 5 1.1.1. Giới thiệu MATLAB ......................................................................................5 1.1.2. Ma trận ..........................................................................................................10 1.1.3. Mảng .............................................................................................................22 1.1.4. Số phức .........................................................................................................31 1.1.5. Cấu trúc M-file ............................................................................................. 33 1.2. Đồ thị trên MATLAB ......................................................................................... 37 1.2.1. Các hàm vẽ đồ thị trên MATLAB ................................................................ 37 1.2.2. Chỉnh sửa đồ thị và chú thích .......................................................................49 1.2.3. Đồ thị tọa độ Logarit và tọa độ cực .............................................................. 54 1.2.4. Điều khiển màn hình đồ thị ..........................................................................56 1.3. Các toán tử điều khiển......................................................................................... 59 1.3.1. Toán tử for ....................................................................................................59 1.3.2. Toán tử if ......................................................................................................61 1.3.3. Vòng lặp while .............................................................................................. 64 1.3.4. Các hàm vào/ra ............................................................................................. 65 Bài tập chương 1 .................................................................................................................... 73 Hướng dẫn giải bài tập chương 1 ......................................................................................... 75 Chuơng 2: ỨNG DỤNG MATLAB GIẢI TÍCH MẠCH ĐIỆN TUYẾN TÍNH Ở CHẾ ĐỘ XÁC LẬP ........................................................................................................................ 84 2.1.Phân tích mạch điện một chiều ............................................................................84 2.1.1. Các khái niệm ............................................................................................... 84 2.1.2. Các phương pháp giải tích mạch điện .......................................................... 87 2.2. Phân tích mạch điện xoay chiều ..........................................................................95 2.2.1. Phân tích mạch điện xoay chiều một pha .....................................................95 2.2.2. Phân tích mạch điện xoay chiều ba pha ......................................................102 2.2.3. Phân tích đáp ứng tần số .............................................................................117 Bài tập chương 2 .................................................................................................................. 122 Hướng dẫn giải bài tập chương 2 ....................................................................................... 126 Chương 3: ỨNG DỤNG MATLAB GIẢI TÍCH MẠCH ĐIỆN TUYẾN TÍNH TRONG QUÁ TRÌNH QUÁ ĐỘ ....................................................................................... 139 3.1. Phân tích mạch RC ............................................................................................139 3.1.1. Mạch RC song song ....................................................................................139 3.1.2 Mạch RC nối tiếp .........................................................................................140 3
  4. 3.2. Phân tích mạch RL ............................................................................................ 143 3.2.1 Mạch RL song song .................................................................................... 143 3.2.2 Mạch RL nối tiếp ........................................................................................ 143 3.3. Mạch RLC ......................................................................................................... 147 3.3.1 Mạch RLC song song .................................................................................. 147 3.3.2 Mạch RLC mắc nối tiếp .............................................................................. 159 Bài tập chương 3 .................................................................................................................. 171 Hướng dẫn giải bài tập chương 3 ...................................................................................... 174 Chương 4: ỨNG DỤNG MATLAB GIẢI TÍCH MỘT SỐ MẠCH ĐIỆN TỬ CƠ BẢN .... 177 4.1. Mạch Diode ....................................................................................................... 182 4.1.1. Khảo sát đặc tính của Diode ....................................................................... 182 4.1.2. Các mạch chỉnh lưu Diode ........................................................................ 189 4.1.3. Diode ổn áp. ................................................................................................ 193 4.2. Mạch Transistor ................................................................................................ 198 4.2.1. Khảo sát đặc tính của Transistor ................................................................ 198 4.2.2. Các mạch định thiên cho Trasistor lưỡng cực ............................................ 205 4.2.3. Các mạch định thiên cho MOSFET ........................................................... 217 4.3. Mạch OPAM ..................................................................................................... 224 4.3.1. Khảo sát đặc tính của OPAM ..................................................................... 224 4.3.2. Các mạch khuếch đại dùng OPAM và đáp ứng tần số của nó ................... 226 Bài tập chương 4 .................................................................................................................. 236 Hướng dẫn giải bài tập chương 4 ...................................................................................... 240 TÀI LIỆU THAM KHẢO .................................................................................................. 247 4
  5. Chương 1: MATLAB TRONG GIẢI TÍCH MẠCH ĐIỆN MATLAB (MATRIX LABORATORY) là một phần mềm lập trình cấp cao dạng thông dịch, là môi trường tính toán số được thiết kế bởi John Little và Cleve Moler của MathWorks. MATLAB cho phép thực hiện các phép tính toán số, ma trận, vẽ đồ thị hàm số hay biểu diễn thông tin, thực hiện các thuật toán, tạo dao diện người dùng và liên kết với các chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác nhau. MATLAB là ngôn ngữ của tính toán khoa học được ứng dụng rộng rãi cho các kỹ sư và các nhà khoa học làm việc trong môi trường công nghiệp cũng như ở môi trường nghiên cứu. MATLAB giúp đơn giản hóa việc giải quyết các bài toán tính toán kỹ thuật so với các ngôn ngữ lập trình truyền thống như C, C++ hay Fortran. MATLAB được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh số, truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài chính, hay tính toán sinh học … Trong lĩnh vực điện, điện tử MALAB là công cụ đắc lực để giải quyết các bài toán giải tích, mô phỏng mạch điện, điện tử. Chương 1 trình bày về các các phương pháp lập trình trên MATLAB; các biến và hằng số; các phép toán đại số và logic; các ma trận, mảng và đa thức; các lệnh vẽ đồ thị 2D và 3D; các hàm trong thư viện và các hàm tự xây dựng; các toán tử lập trình cơ bản… với mục đích giới thiệu và giúp người đọc làm quen với ngôn ngữ lập trình MATLAB. 1.1. Lập trình MATLAB 1.1.1. Giới thiệu MATLAB a. Các phiên bản phần mềm MATLAB Phần mềm MATLAB đã được cải tiến và nâng cấp lên qua nhiều phiên bản: - Phiên bản đầu tiên MATLAB 1.0 ra đời năm 1984 viết bằng C cho MS- DOS PC được phát hành đầu tiên tại IEEE Conference on Design and Control (Hội nghị IEEE về thiết kế và điều khiển) tại Las Vegas, Nevada. - Năm 1986, MATLAB 2 ra đời trong đó hỗ trợ UNIX. - Năm 1987, MATLAB 3 phát hành. - Năm 1990 Simulink 1.0 được phát hành gói chung với MATLAB. - Năm 1992 MATLAB 4 thêm vào hỗ trợ 2-D và 3-D đồ họa màu và các ma trận truy tìm. Năm này cũng cho phát hành phiên bản MATLAB Student Edition (MATLAB ấn bản cho sinh viên). - Năm 1993 MATLAB cho MS Windows ra đời. Đồng thời công ty này có trang web là www.mathworks.com 5
  6. - Năm 1995 MATLAB cho Linux ra đời. Trình dịch MATLAB có khả năng chuyển dịch từ ngôn ngữ MATLAB sang ngôn ngữ C cũng được phát hành trong dịp này. - Năm 1996 MATLAB 5 bao gồm thêm các kiểu dữ liệu, hình ảnh hóa, bộ truy sửa lỗi (debugger), và bộ tạo dựng GUI. - Năm 2000 MATLAB 6 cho đổi mới môi trường làm việc MATLAB, thêm LAPACK và FFTW (Fastest Fourier Transform in the West - "Biến đổi Fourier nhanh nhất của phương Tây"). - Năm 2002 MATLAB 6.5 phát hành đã cải thiện tốc độ tính toán, sử dụng phương pháp dịch JIT (Just in Time) và tái hỗ trợ MAC. - Năm 2004 MATLAB 7 phát hành, có khả năng chính xác đơn và kiểu nguyên, hỗ trợ hàm lồng nhau, công cụ vẽ điểm, và có môi trường phân tích số liệu tương tác. - Đến tháng 12/2008, phiên bản 7.7 được phát hành với SP3 cải thiện Simulink cùng với hơn 75 sản phẩm khác. - Năm 2009 cho ra đời 2 phiên bản 7.8 (R2009a) và 7.9 (R2009b). - Năm 2010 phiên bản 7.10 (R2010a) cũng đã được phát hành. Tùy theo nhu cầu sử dụng và cấu hình máy tính, người sử dụng có thể lựa chọn các phiên bản MATLAB để cài đặt. Phiên bản Matlab được sử dụng mô phỏng trong tài liệu này là Matlab 7.8.0.347 (R2009a). Hình 1.1. Phần mềm MATLAB version 7.8.0.347 (R2009a). 6
  7. b. Cửa sổ làm việc của MATLAB. Sau khi cài đặt phần mềm (tham khảo cách cài đặt phần mềm tại mathworks.com ), khởi động chương trình, giao diện sử dụng chương trình như sau: Hình 1.2 Cửa sổ làm việc của MATLAB - Current Directory: Vùng quản lý các File trong thư mục mà ta lưu các dự án làm việc trên Matlab. - Command Window: Vùng cửa sổ lệnh cho phép gõ trực tiếp các lệnh để thực hiện chương trình. - Workspace : Không gian làm việc, hiển thị các file mà dự án tạo ra để xử lý các số liệu trong quá trình làm việc. - Command History: Lưu lại lịch sử các lệnh mà người sử dụng đã dùng theo thời gian. Các file MATLAB có dạng tệp mở rộng là: *.m và chỉ chạy trong môi trường MATLAB. Có 2 cách để nhập lệnh trong MATLAB: + Nhập lệnh trực tiếp từ cửa sổ command Window. + Nhập lệnh từ một file( sử dụng M-file hoặc load) Để phân biệt với các cách nhập lệnh khác, khi nhập lệnh trên cửa sổ lệnh ta sử dụng dấu nhắc “>>”. Khi nhập lệnh vào cửa sổ lệnh, lệnh đó sẽ được thi hành ngay và kết quả hiện lên màn hình. Nếu không muốn cho kết quả hiện lên màn hình thì sau lệnh đặt thêm dấu “;” (kết quả sẽ được lưu vào bộ nhớ của chương trình). Ví dụ: Gán biến x=10+5 >> x=10+5 x= 15 >> x=10+5; 7
  8. Hai lệnh trên cho kết quả tương đương là tạo ra biến x có giá trị bằng 15, nhưng lệnh không có dấu “;” sẽ trả ra kết quả x=15, lệnh còn lại lưu giá trị biến x vào chương trình, khi cần dùng phải gọi lại tên biến x. c. Các phím tắt trong MATLAB: Bảng 1.1. Bảng các phím tắt trong MATLAB Phím tắt Ý nghĩa ↑ hoặc Ctrl + P Gọi lại lệnh trước đó ↓ hoặc Ctrl + N Gọi lệnh sau ← hoặc Ctrl + B Lùi lại một kí tự → hoặc Ctrl + F Tiến lên một kí tự Ctrl +→ hoặc Ctrl + R Sang phải một từ Ctrl +← hoặc Crtl + L Sang phải một từ Home hoặc Ctrl +A Về đầu dòng End hoặc Ctrl + E Về cuối dòng Esc hoặc Ctrl + U Xoá dòng Del hoặc Ctrl + D Xoá kí tự tại chỗ con nháy đứng Backspace hoặc Ctrl+H Xoá kí tự trước chỗ con nháy đứng d. Các phép toán cơ bản của MATLAB : Bảng 1.2. Bảng các phép toán cơ bản trong MATLAB Ký hiệu Ý nghĩa + Cộng - Trừ * Nhân / Chia phải \ Chia trái ^ Luỹ thừa ` Chuyển vị ma trận hay số phức liên hợp d. Các toán tử quan hệ : Bảng 1.3. Bảng toán tử quan hệ trong MATLAB Ký hiệu Ý nghĩa < Nhỏ hơn Lớn hơn >= Lớn hơn hoặc bằng == Bằng ~= Không bằng 8
  9. e. Các toán tử logic : Bảng 1.4. Các toán tử Logic trong MATLAB Ký hiệu Ý nghĩa & AND | OR ~ NOT f. Các biến và hằng : - Biến trong MATLAB: MATLAB cho phép không cần phải khai báo biến trước khi sử dụng. Qui tắc đặt tên biến: + Ký tự đầu tiên phải là chữ viết trong bảng chữ cái (Alphabe) + Các kí tự sau có thể là chữ cái hoặc số, hay _ + MATLAB phân biệt chữ hoa với chữ thường. - Hằng số trong MATLAB: đây là các biến đã được định nghĩa sẵn trong MATLAB, khi sử dụng không được đặt tên theo các biến này. Bảng 1.5. Các hằng số trong MATLAB Ký hiệu Ý nghĩa pi 3.14159265 i Số ảo j Tương tự i eps Sai số 2-52 realmin Số thực nhỏ nhất ( 2-1022) realmax Số thực lớn nhất ( 21023) inf Vô cùng lớn NaN Not a Number g. Các hàm toán học: Bảng 1.6. Các hàm toán học thông dụng trong MATLAB Ký hiệu Ý nghĩa x exp(x) Hàm e sqrt(x) Căn bậc hai của x log(x) Logarit tự nhiên log10(x) Logarit cơ số 10 abs(x) Modun của số phức x angle(x) Argument của số phức a conj(x) Số phức liên hợp của x imag(x) Phần ảo của x 9
  10. real(x) Phần thực của x sign(x) Dấu của x cos(x) cosx sin(x) sinx tan(x) tgx acos(x) arccosx asin(x) arcsinx atan(x) arctgx cosh(x) e x  ex 2 sinh(x) e x  ex 2 tanh(x) sinh(x) cosh(x) 1.1.2 Ma trận a. Khái niệm ma trận trong MATLAB Xét ma trận A gồm n hàng, m cột, ký hiệu A(nxm:)  a11 a12 ... a1n  a a22 ... a2 n  A  21  ... ... ... ...     an1 an 2 .... anm  MATLAB làm việc với các số liệu dạng ma trận, ma trận trong MATLAB được khai báo theo nguyên tắc sau: + Ngăn cách các phần tử của ma trận bằng dấu “,” hay khoảng trống . + Dùng dấu “;” để kết thúc một hàng. + Bao quanh các phần tử của ma trận bằng cặp dấu ngoặc vuông [ ]. MATLAB phân biệt chữ hoa và chữ thường. Các số liệu đưa vào môi trường làm việc của MATLAB được lưu lại cho đến khi gặp lệnh clear all. Ví dụ: Khai báo các ma trận: 1 2 3 A  3 2 4 1 5 3 ; B  1 4 2 1 ; 10
  11. 1  C  4 7  Giải Tại cửa sổ lệnh, nhập các lệnh sau: >> A = [ 1 2 3; 3 -2 4; 1 5 3] Kết quả: A= 1 2 3 3 -2 4 1 5 3 >> B = [ 1 4 2 1] Kết quả: B= 1 4 2 1 >> C = [ 1; 4; 7] Kết quả: C= 1 4 7 b. Chỉ số của các phần tử trong ma trận. Một phần tử trong ma trận được xác định bởi chỉ số hàng và cột. Giả sử ta có ma trận A(mxn) , gồm m hàng, n cột thì phần tử ở hàng i, cột j của ma trận A được xác định bằng lệnh: >> A(i,j) (i, j  1) Ta cũng có thể tham chiếu tới phần tử của ma trận chỉ với một chỉ số: A(k) với k = i + (j ‐ 1)m. Để xác định kích thước của một ma trận ta dùng lệnh length(trả về kích thước lớn nhất) hay size(số hàng và cột). Để gọi toàn bộ các phần tử trong một hàng hay cột,ta sử dụng toán tử (:): + A(:,n): gọi toàn bộ số hàng tương ứng với cột thứ n của ma trận A + A(m,:): gọi toàn bộ số cột tương ứng với hàng m của ma trận A + A(x:y,n): gọi từ hàng x đến hàng y tương ứng với cột n của ma trận A + A(m,x:y): gọi từ cột x đến cột y tương ứng với hàng m của ma trận A 1 2 3 4 Ví dụ: Cho ma trận X    5 6 7 8  11
  12. Viết chương trình: + Nhập vào ma trận X, hiển thị ra cửa sổ lệnh. + Truy cập đến phần tử ở hàng 2, cột 3 của ma trận. + Xác định kích thước lớn nhất của ma trận. + Xác định số hàng và số côt của ma trận. + Xác định các phần tử hàng 2 của ma trận. + Xác định các phần tử từ hàng 1 đến hàng 2 của cột thứ 3 của ma trận. + Xác định các phần tử cột 3 của ma trận. + Xác định các phần tử từ cột 2 đến cột 3 hàng 2 của ma trận. Giải % Nhập vào ma trận X, hiển thị ra cửa sổ lệnh. >>X=[1 2 3 4; 5 6 7 8]; >>X X= 1 2 3 4 5 6 7 8 % Truy cập đến phần tử ở hàng 2, cột 3 của ma trận. >>X(2,3) ans = 7 % Hoặc có thể sử dụng cách tham chiếu với 1 chỉ số k=i+(j-1)m=2+(3-1).2=6 >>X(6) ans = 7 % Xác định kích thước lớn nhất của ma trận. >>length(X) ans = 4 % Xác định số hàng và số côt của ma trận. >> [m, n] = size(X) m= 2 n= 4 12
  13. % Xác định các phần tử hàng 2 của ma trận. >>X(2,:) ans = 5 6 7 8 % Xác định các phần tử từ hàng 1 đến hàng 2 của cột thứ 3 của ma trận. >>X(1:2,3) ans = 3 7 % Xác định các phần tử cột 3 của ma trận. >>X(:,3) ans = 3 7 % Xác định các phần tử từ cột 2 đến cột 3 hàng 2 của ma trận. >>X(2,2:3) ans = 6 7 c. Tạo ma trận bằng hàm có sẵn MATLAB cung cấp thư viên một số hàm để tạo các ma trận cơ bản: + zeros(nxm): tạo ra ma trận kích thước (nxm) có các phần tử đều bằng 0 Ví dụ 1: Viết lệnh tạo ma trận a(2x3) và b(3x3) có các phần tử đều bằng 0 Giải % Ma trận a >> a=zeros(2,3) a= 0 0 0 0 0 0 % Ma trận b >> b=zeros(3) b= 0 0 0 0 0 0 0 0 0 13
  14. + ones(nxm): Tạo ra ma trận nxm có các phần tử đều bằng 1 Ví dụ 2: Viết lệnh tạo ma trận z(2x3) và p(3x3) có các phần tử đều bằng 1. Giải % Ma trận z >> z=ones(2,3) z= 1 1 1 1 1 1 % Ma trận p >> p=ones(3) p= 1 1 1 1 1 1 1 1 1 + rand(n,m): tạo ma trận nxm có các phần tử ngẫu nhiên phân bố đều. Ví dụ 3: Viết lệnh tạo ma trận d(4x4) có các phần tử ngẫu nhiên phân bố đều. Giải >> d=rand(4) d= 0.8147 0.6324 0.9575 0.9572 0.9058 0.0975 0.9649 0.4854 0.1270 0.2785 0.1576 0.8003 0.9134 0.5469 0.9706 0.1419 + randn(n,m): tạo ma trận nxm có các phần tử ngẫu nhiên phân bố trực giao. Ví dụ 4: Viết lệnh tạo ma trận e kích thước (4x4) có các phần tử ngẫu nhiên phân bố trực giao. Giải >> e=randn(4,4) e= -0.1241 0.6715 0.4889 0.2939 1.4897 -1.2075 1.0347 -0.7873 1.4090 0.7172 0.7269 0.8884 1.4172 1.6302 -0.3034 -1.1471 + eye(n): tạo ma trận đơn vị kích thước nxn (ma trận vuông) 14
  15. Ví dụ 5: Tạo ma trận f(4x4) có các phần tử trên đường chéo chính bằng 1, các phần tử còn lại đều bằng 0. Giải >> eye(4) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 + eye(m, n): tạo ma trận đơn vị mở rộng (ma trận không phải là ma trận vuông, có thêm hàng hoặc cột đều bằng không) Ví dụ 6: Viết lệnh tạo ma trận g được tạo bởi ma trận đơn vị (3x3) và có thêm 2 cột mà các phần tử đều bằng 0 Giải >> g=eye(3,5) g= 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 d. Các phép toán trên ma trận. - Phép chuyển vị: Ma trận chuyển vị AT của ma trận A được thành lập bằng cách đảo hàng thành cột của ma trận ban đầu. Hàm xác định ma trận chuyển vị trong MATLAB: >>A` 1 2 3 Ví dụ 1: Cho ma trận A     4 5 6 + Tìm ma trận chuyển vị của ma trận A. + Kiểm tra kết quả bằng MATLAB. Giải + Ma trận chuyển vị của ma trận A: 1 4 A   2 5 T  3 6 + Kiểm tra kết quả trên MATLAB: >> A=[1 2 3; 4 5 6]; >> A' 15
  16. ans = 1 4 2 5 3 6 - Phép tính định thức:  a11 a12 ... a1n  a a22 ... a2 n  Xét ma trận A(nxm): A   21  ... ... ... ...     an1 an 2 .... anm  Định thức của ma trận A, được ký hiệu là detA, được định : det A  a11a22a33...anm  a12a23a34 ...an1  a13a24a35 ...an 2  ...  an1...a22a13...  an 2 ...a23a14  an3...a24a15  ... Để tính định thức của ma trận A(nxm), có thể áp dụng công thức định nghĩa hoặc tách detA thành các định thức con. Hàm tính định thức trong MATLAB : >>det(A)  2 3 5 Ví dụ 2: Cho ma trận : A  1 0 1   2 1 0 + Tính định thức của ma trận A. + Kiểm tra kết quả bằng MATLAB. Giải + Tính detA: Áp dụng công thức định nghĩa với n=3 và m=3: a11 a12 a13 a11 a12 a21 a22 a23 a21 a 22 a31 a32 a33 a31 a32 det A  a11a22a33  a12a23a31  a13a21a32  a31a22a13  a32a23a11  a33a21a12 det A  2  0  0  3 1 2  5 11  2  0  5 11 2  0 1 3  9 Hoặc có thể tính theo cách khác: Chọn 1 hàng hoặc 1 cột bất kỳ của ma trận A và tính định thức theo các định thức của các ma trận con không chứa hàng hoặc cột vừa chọn. Chẳng hạn, chọn hàng 1: 16
  17. 2 3 5 det A  1 0 1 2 1 0 0 1 1 1 1 0  2(1)11  3(1)1 2  5(1)13 1 0 2 0 2 1  2(0  0  11)  3(1 0  1 2)  5(1 1  2  0)  2  6  5 9 + Kiểm tra kết quả bằng MATLAB: >> A=[2 3 5; 1 0 1; 2 1 0] >> det(A) ans = 9 - Phép nghịch đảo:  a11 a12 ... a1n  a a22 ... a2 n  Xét ma trận vuông A(nxn): A   21  ... ... ... ...     an1 an 2 .... ann  Ma trận nghịch đảo A-1 của ma trận vuông A được định nghĩa là ma trận duy nhất thỏa mãn A*A-1=1. Xác định ma trận nghịc đảo: Xét ma trận A(nxn) có định thức D=detA và Dij là định thức con của D bỏ đi hàng i, cột j Ma trận nghịch đảo tồn tại khi và chỉ khi det(A)  0 : T  A11 A12 ... A1n   A22 ... A2 n  1 1  A21 A  det(A)  ... ... ... ...     An1 An 2 .... Ann  Trong đó: Aij được gọi là các phần phụ đại số, Aij  (1)i  j Dij Hàm tính ma trận nghịch đảo trong MATLAB: >> inv(A) 1 2 3 Ví dụ 3: Cho ma trận A  0 2 3  2 0 4 + Tính ma trận nghịch đảo của ma trận A. + Kiểm tra kết quả bằng MATLAB. Giải 17
  18. + Tính A-1: Tìm det(A): det A  a11a22a33  a12a23a31  a13a21a32  a31a22a13  a32a23a11  a33a21a12 1 2 3 det(A)  0 2 3 2 0 4  1(2)4  2  3  2  3  0  0  2(2)3  0  3 1  4  0  2  8  12  12  16 Tìm các phần phụ đại số Aij: 2 3 0 3 0 2 A11   8; A12    6; A13   4; 0 4 2 4 2 0 2 3 1 3 1 2 A21    8; A22   ; A23   4; 0 4 2 4 2 0 2 3 1 3 1 2 A31   12; A32    3; A33   2; 2 3 0 3 0 2 Từ đó suy ra:  8 T 6 4 1 1 A   8 2 4  16 12 3 2  8 8 12  1  6 2 3 16  4 4 2  0.5 0.5 0.75   0.375 0.125 0.1875  0.25 0.25 0.125  + Kiểm tra kết quả bằng MATLAB: >> A=[1 2 3; 0 -2 3; 2 0 4]; >> inv(A) ans = -0.5000 -0.5000 0.7500 0.3750 -0.1250 -0.1875 0.2500 0.2500 -0.1250 - Phép tính cộng , trừ 2 ma trận: Điều kiện hai ma trận A và B phải có cùng kích thước hoặc một trong hai số vô hướng : + Cộng : X= A + B + Trừ : X= A ‐ B 18
  19. Ví dụ 4: Cho 2 ma trận: 0 2 4  1 3 5  A  6 8 10  và B   7 9 11    12 14 16 13 15 17  + Tính A+B + Tính A-B + Kiểm tra kết quả bằng MATLAB. Giải + Tính A+B: Lấy tổng từng phần tử tương ứng của 2 ma trận  (0  1) (2  3) (4  5)  1 5 9  A  B   (6  7) (8  9) (10  11)   13 17 21  (12  13) (14  15) (16  17)   25 29 33 + Tính A-B: Lấy hiệu từng phần tử tương ứng của 2 ma trận  (0  1) (2  3) (4  5)  1 1 1   A  B   (6  7) (8  9) (10  11)   1 1 1    (12  13) (14  15) (16  17)  1 1 1  + Kiểm tra kết quả bằng MATLAB: >> A=[0 2 4; 6 8 10; 12 14 16]; >> B=[1 3 5; 7 9 11; 13 15 17]; >> A+B ans = 1 5 9 13 17 21 25 29 33 >> A-B ans = -1 -1 -1 -1 -1 -1 -1 -1 -1 - Phép nhân hai ma trận: Điều kiện số cột của ma trận A phải bằng số hàng của ma trận B, ngoại trừ một trong hai l số vô hướng: + X= A * B (Số hàng của ma trận A phải bằng số cột của ma trân B) + X=A.*B nhân các phần tử tương ứng của 2 ma trận với nhau (kích thước của 2 ma trận phải giống nhau). Ví dụ 5: Cho 2 ma trận: 19
  20. 1  C   2 3 4 và D   1    2  + Tính C*D + Tính D*C + Tính C.*C + Kiểm tra kết quả bằng MATLAB. Giải + Tính C*D: Kích thước của ma trận C(1x3), D(3x1) nên ma trận C*D có kích thước (1x1). Thực hiện phép nhân 2 ma trận bằng cách lấy từng phần tử hàng của ma trận C nhân với từng phần tử cột tương ứng của ma trận D. 1  C * D   2 3 4  1   2 1  3(1)  4  2  7   2  + Tính D*C: Kích thước của ma trận D(3x1), C(1x3) nên D*C(3x3). 1   1 2 1 3 1 4   2 3 4    D * C  1  2 3 4  1 2 1 3 1 4  2 3 4  2   2  2 2  3 2  4   4 6 8  + Tính C.*C: Phép nhân từng phần tử tương ứng của ma trận C với từng phần tử tương ứng của chính nó. C.*C   2  2 3  3 4  4   4 9 16 + Tính D.*D: 11  1  D.* D  (1)(1)   1   2  2  4 + Kiểm tra kết quả bằng MATLAB: >> C=[2 3 4]; >> D=[1;-1;2]; >> C*D ans = 7 >> D*C ans = 2 3 4 -2 -3 -4 4 6 8 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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