1. Trang chủ
  2. » Công Nghệ Thông Tin

MATLAP bài tập lớn đại số BÁCH KHOA TP HCM

12 205 0

Đ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 12
Dung lượng 318,26 KB

Nội dung

Câu 1: Nhân hai ma trận với nhau. Yêu cầu: Input: Cho phép nhập vào hai ma trận A và B. Chương trình phải kiểm tra phép nhân có thực hiện được hay không? Output: Ma trận tích. Câu 2: Tìm ma trận chuyển cơ sở từ E sang F. Yêu cầu: Input: cho hai cơ sở E và F. Output: ma trận chuyển cơ sở P. Câu 3: Đưa dạng toàn phương về chính tắc bằng biến đổi trực giao:

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH

KHOA KHOA HỌC ỨNG DỤNG

BỘ MÔN TOÁN ỨNG DỤNG

- -

ĐỀ TÀI BÀI TẬP LỚN

MÔN ĐẠI SỐ

TP HCM,Tháng 01/2013

Trang 2

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH

KHOA KHOA HỌC ỨNG DỤNG

BỘ MÔN TOÁN ỨNG DỤNG

BÁO CÁO BÀI TẬP LỚN

ĐỀ TÀI SỐ: 02

GVHD: NGUYỄN KIỀU DUNG

Khoa: Kĩ Thuật Địa Chất & Dầu Khí

Lớp: DC1201

Nhóm: 02

Nhóm sinh viên thực hiện:

Tp.HCM, tháng 01 năm 2013

Trang 3

ĐỀ TÀI 2:

Câu 1: Nhân hai ma trận với nhau

Yêu cầu:

Input: Cho phép nhập vào hai ma trận A và B Chương trình phải kiểm tra

phép nhân có thực hiện được hay không?

Output: Ma trận tích

Cơ sở lý thuyết và thuật toán:

B1: Nhập ma trận A, B, kiểm tra xem A có nhân được với B không

B2: Dùng lệnh For

+ Cho i chạy từ 1 đến số dòng của A,bước nhảy là 1, gọi dòng i của A là m + Cho j chạy từ 1 đến số cột của B,bước nhảy là 1, gọi cột của j là n

Tích 2 ma trận được tính bằng phép nhân dòng và cột tương ứng

Nhận xét:

Chương trình của nhóm có thể giải quyết tất cả các trường hợp nhân 2 ma trận với nhau

Trang 4

Code của nhóm:

function nhanmatran

A=input('Nhap ma tran A: ');%nhap ma tran A

B=input('Nhap ma tran B: ');%nhap ma tran B

while size(A,2)~=size(B,1);

disp ('A khong nhan duoc voi B');

A=input('Nhap lai ma tran A: ');

B=input('Nhap lai ma tran B: ');

end

for i = 1:1:size(A,1);%cho i chay tu 1 toi so dong cua A,buoc nhay la 1 m=A(i, :);%goi hang i cua A

for j= 1:1:size(B,2);%cho j chay tu 1 to so cot cua B, buoc nhay la 1 n=B(:,j); %goi cot j cua B

h(i,j)=m*n;%nhan hang i voi cot j

end

end

disp('Tich cua ma tran A va B la:');

disp(h);

nhanmatran

end

Trang 5

Bài chạy thử:

Nhap ma tran A: [1 2 3;5 3 2;7 8 9] Nhap ma tran B: [1 3 4;3 4 5]

A khong nhan duoc voi B

Nhap lai ma tran A: [1 2 5;5 6 8;3 5 7] Nhap lai ma tran B: [2 5 7;7 5 9;1 1 4] Tich cua ma tran A va B la:

21 20 45

60 63 121

48 47 94

Trang 6

Câu 2: Tìm ma trận chuyển cơ sở từ E sang F

Yêu cầu:

Input: cho hai cơ sở E và F

Output: ma trận chuyển cơ sở P

Cơ sở lý thuyết và thuật toán:

Nhập ma trận E,ma trận F

Kiểm tra xem E có là ma trận vuông và hạng của E có bằng số cột của nó không,nếu số cột của F không bằng hạng của E thì F không là cơ sở của E

Tìm thương của ma trận F đối với E

Ma trận chuyển cơ sở sẽ là chuyển vị của thương số đó

Kết luận:

Chương trình của nhóm có thể giải quyết tất cả các trường hợp chuyển

cơ sở của 2 ma trận

Trang 7

CODE

function chuyencs

E=input('nhap ma tran E: ');

%nhap cs E

[m,n]=size(E);

%tim kich thuoc ma tran E

while m~=n || rank(E)~=n

%xem E co phai cs ko

disp('E khong phai la co so')

E=input('nhap lai ma tran E: ');

[m,n]=size(E);

end

F=input('nhap ma tran F: ');

%nhap ma tran F

[a,b]=size(F);

while b~=rank(F) || a~=b || a~=m

disp('F khong phai la co so')

F=input('nhap lai ma tran F: ');

[a,b]=size(F);

end

X=F/E;

%tim ma tran toa do cua F trong E X=X';

% chuyen vi ma tran X

disp('ma tran chuyen co so E sang F la:') disp(X)

end

Trang 8

Bài chạy thử:

>> chuyencs

nhap ma tran E: [1 2 4;6 7 8;2 4 8]

E khong phai la co so

nhap lai ma tran E: [1 2 5;5 7 3;8 4 1] nhap ma tran F: [1 4 7;9 7 5;3 7 1]

ma tran chuyen co so E sang F la: 1.2313 0.6259 -0.5578

0.3673 0.3469 1.4082

-0.2585 0.8299 -0.4354

Trang 9

Câu 3: Đưa dạng toàn phương về chính tắc bằng biến đổi trực giao:

Cơ sở lý thuyết và thuật toán:

Viết ma trận A của dạng toàn phương

Chéo hóa trực giao ma trận A

Kết luận dạng chính tắc cần tìm

Kết luận:

Chương trình của nhóm có thể giải quyết tất cả các trường hợp đưa toàn phương về chính tắc bằng biến đổi trực giao

Trang 10

function dangtoanphuong

clc

clear all

syms x y1 y2 y3 ;

disp('Dua dang toan phuong ve dang chinh tac')

A=input('nhap ma tran toan phuong A=:');

[hangA cotA]=size(A);

if A'==A

matrancheo_x=eye(size(A)).*x;

lamda=solve(det(A-matrancheo_x));

ma_tran_cheo_hoa_D=diag(lamda);

disp('ma tran cheo hoa D=:')

disp(ma_tran_cheo_hoa_D)

switch hangA

case 2

Y=[y1 y2];

y=[y1;y2];

ma_tran_chinh_tac = (Y*ma_tran_cheo_hoa_D*y); case 3

Y=[y1 y2 y3];

y=[y1;y2;y3];

ma_tran_chinh_tac =(Y*ma_tran_cheo_hoa_D*y); end

Trang 11

disp(' phuong trinh chinh tac cua dang toan phuong:')

disp(ma_tran_chinh_tac)

else

disp('ma tran A khong doi xung, khong phai dang toan phuong') disp('chay lai chuong trinh')

end

end

Trang 12

Bài chạy thử:

Dua dang toan phuong ve dang chinh tac

nhap ma tran toan phuong A=:[3 -2 4;-2 6 2;4 2 3]

ma tran cheo hoa D=:

[ 7, 0, 0]

[ 0, 7, 0]

[ 0, 0, -2]

phuong trinh chinh tac cua dang toan phuong: 7*y1^2 + 7*y2^2 - 2*y3^2

Ngày đăng: 25/12/2018, 07:07

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w