Tài liệu giới thiệu về các lệnh cơ bản trong lập trình ma trận trong Matlab; giúp sinh viên thực hành bằng phần mềm Matlab trên phòng máy, đọc kỹ phần luyện tập trước khi làm bài tập.
THỰC HÀNH MATLAB CƠ BẢN WORKSHEET 03: MA TRẬN TRONG MATLAB Thái Duy Quý ITFac – thaiduyquy@gmail.com – Mục đích: Worksheet giới thiệu lệnh lập trình ma trận MATLAB Yêu cầu: - Sinh viên thực hành phần mềm Matlab phòng máy, đọc kỹ phần luyện tập trước làm tập - Kết lưu lại thư mục MSSV_HoTen - Thời gian thực hành: tiết Luyện tập: Ma trận dạng vector có hai chiều Ma trận đưa vào Matlab cách: phần tử dòng phân biệt dấu khoảng trắng dấu phẩy, dòng bắt đầu với dấu chấm phẩy Chúng ta sử dụng lệnh size để xác định kích thước ma trận A(3x4): Chỉ số Chỉ số ma trận Matlab giống số Vector Điểm khác biệt có hai chiều Để truy xuất tới thành phần cùa dòng 2, cột ma trận A, sử dụng lệnh sau: Thái Duy Quý – thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Có thể truy xuất dịng ma trận với dấu hai chấm Matlab Lệnh A(2,:) lấy cột dòng số Tương tự vậy, truy xuất đến cột ma trận A với lệnh A(:,x) với x cột ma trận Ví dụ: Cũng trích xuất ma trận từ ma trận A với số ma trận Ví dụ: Cần lấy ma trận sử dụng dòng và cột 4, ta sử dụng lệnh sau: Có thể sử dụng số để gán phần tử ma trận Ví dụ: Khi muốn gán dịng, cột hay ma trận A, ta phải thay nội dung với dòng, cột ma trận với số phần tử tương ứng Ví dụ sau gán nội dung cho dòng ma trận A: Thái Duy Quý – thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN BT Ví dụ: Thực lệnh sau, cho nhận xét: Hoán vị ma trận Có thể dễ dàng hốn vị ma trận giống hốn đổi dịng thành cột vector Ví dụ, thực lệnh magic sau: Có thể dễ dàng tính AT với lệnh sau: Xây dựng ma trận Matlab cho phép người dùng tạo số ma trận đặc biệt Ví dụ: tạo ma trận đơn vị x 3: Bây ta tạo ma trận với A cột thứ A cột thứ hai Hoặc tạo ma trận với A dòng thứ A dòng thứ hai: Thái Duy Quý – thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Có thể tạo ma trận tồn số Ví dụ: Có thể tạo ma trận A D: Phép nhân vô hướng Matlab cho phép nhân ma trận với số (gọi phép nhân vô hướng): Ví dụ: Nếu A ma trận: Ta thực phép nhân với sau: Phép cộng ma trận Nếu hai ma trận ó chiều, ta cộng ma trận theo thành phần sau: Ví dụ: Cho hai ma trận A B sau: Thực phép cộng A + B ta kết quả: Thái Duy Quý – thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Phép nhân ma trận - vector: Giả sử ta có hệ phương trình ẩn sau: Bởi phần tử tương ứng nhau, nên ta có dạng sau: Vế trái viết tổng vector: Phép nhân vô hướng đặt làm thừa số cho vector vế trái: Chúng ta nói rằng: Là kết hợp tuyến tính vector: [2,3,5]T, [3,2,-3]T [4,4,8]T Cuối cùng, ta đưa hệ phương trình dạng Ax = b: Thái Duy Quý – thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Với: Ví dụ: Thực nhân ma trận với vector: Để thực phép nhân, ta thực phép kết hợp tuyến tính cột ma trận, sử dụng phần tử vector: Lệnh Matlab sau: Thái Duy Quý – thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Phép nhân: ma trận – ma trận Để thực phép nhân ma trận A với ma trận B, ta thực phép nhân ma trận A với vector ma trận B Ví dụ: Lệnh Matlab: Bài tập Bài 1: Có ma trận sau: Sử dụng lệnh Matlab, thực thuộc tính sau (0 ma trận Zero): o A+B=B+A o (A + B) + C = A + (B+C) o A+0=A o A + (- A) = o A(B+C) = AB + AC o (A + B)C = AC + BC Có ma trận sau: Thái Duy Quý – thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Sử dụng lệnh Matlab, thực phép tính thể thuộc tính sau: Có ma trận sau: Và giá trị vô hướng sau: α = β = −3 Sử dụng Matlab thể tính chất sau ma trận: Bài 2: Gõ lệnh ma trận A = pascal(3) B = magic(3) Thực lệnh (A+B)T AT + BT so sánh hai kết Có nhận xét giải thích kết Gõ lệnh A = pascal(4) giá trị vô hướng α = Sử dụng Matlab để tính αA (αA)T So sánh hai kết cho nhận xét giải thích kết Bài 3: Một ma trận Hilbert H định nghĩa H(i,j) = 1/(i+j-1) với i chạy từ đến số dòng j chạy từ đến số cột Sử dụng định nghĩa để phép tính tay để tìm ma trận Hilbert với số chiều x Sử dụng lệnh format rat hilb để kiểm tra kết Bài 4: Số cách để chọn k đối tượng từ tập n đối tượng định nghĩa tính tốn với cơng thức: Thái Duy Quý – thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Định nghĩa ma trận Pascal P với cơng thức: Với i chạy từ đến số dịng j chạy từ đến số cột Sử dụng định nghĩa phép tính tay để tìm ma trận Pascal chiều 4x4 Sử dụng lệnh pascal để kiểm tra kết Bài 5: Cho ma trận A = [2 ; ; 9], viết lệnh Matlab để: a Gán cho vector x dòng thứ A b Gán cho ma trận y hai dòng lại (cuối) A c Tính tổng theo dịng ma trận A d Tính tổng theo cột ma trận A e Tìm giá trị lớn nhỏ ma trận f Tính tổng phần tử A Bài 6: Cho A = [2 ; ; 5; 5], viết lệnh Matlab để a Gán cho ma trận B cột vị trí chẵn b Gán cho ma trận C dịng vị trí lẻ c Gán lại A thành chuyển vị d Tính nghịch đảo phần tử A e Lấy bậc hai phần tử A Bài 7: Giải phương trình tuyến tính sau: 2 x1 x2 x3 x4 x x x x 1 x x x x 8 2 x1 x2 x3 3x4 x1 x2 x3 x4 x x 3x x x x x x4 2 x1 x2 x3 x4 Hết -9 Thái Duy Quý – thaiduyquy@gmail.com ... thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Với: Ví dụ: Thực nhân ma trận với vector: Để thực phép nhân, ta thực phép kết hợp tuyến tính cột ma trận, sử dụng phần tử vector: Lệnh Matlab sau: Thái... thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN BT Ví dụ: Thực lệnh sau, cho nhận xét: Hoán vị ma trận Có thể dễ dàng hốn vị ma trận giống hốn đổi dịng thành cột vector Ví dụ, thực lệnh magic sau:... thaiduyquy@gmail.com THỰC HÀNH MATLAB CƠ BẢN Phép nhân: ma trận – ma trận Để thực phép nhân ma trận A với ma trận B, ta thực phép nhân ma trận A với vector ma trận B Ví dụ: Lệnh Matlab: Bài tập Bài