TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH
BÁO CÁO ĐẠI SỐ
(Chủ đề 8)
Giáo viên hướng dẫn: Đặng Văn Vinh
Thành viên nhóm:
MSSV:
Đặng Quốc Toàn
91003447
Trần Quốc Dũng
91000547
Trần Văn Lâm
41001673
Nguyễn Khắc Tiến
V1103595
Lê Tuấn Cường
G1100454
Lê Trần Trung
G1103864
Nguyễn Thành Nhân
G1102379
Tiếu Nguyễn Minh Duy
V1100596
Phan Minh Hiển
V1001029
Nguyễn Tuấn Khoa
91001549
Câu 1:tìm không gian nghiệm của hệ AX=0
Yêu cầu,hướng dẫn: cho phép dùng hàm của matlab Null(A) và rank(A)
Đầu vào nhập ma trận A tùy ý
Đầu ra cơ sở của không gian nghiệm và số chiều
Câu 2: kiểm tra tính đối xứng và xác định dương của ma trận vuông
Yêu cầu hướng dẫn: cho phép sử dụng các hàm của matlab
isequal(A,A’),eig(A)
Đầu vào nhập ma trận vuông
Đầu ra thông báo nếu A không vuông,kết luận đối xứng và xác định
dương không?
Code:
Nhập ma trận A=[…]
Sử dụng hàm isequal(A,A’)
Nếu Ans=0 => ma trận không đối xứng
Nếu Ans=1 => ma trận đối xứng
Sử dụng hàm eig(A) xuất ra được trị riêng của A, nếu ma trận A không
vuông => không tìm được trị riêng
Câu 3: sắp xếp các phần tử của cột (hàng) theo thứ tự tăng dần hoặc
giảm dần
Yêu cầu hướng dẫn: cho phép dùng hàm sort(A,1);sort(A,2,’descend’)
Đầu vào nhập ma trận A tùy ý
Đầu ra xuất ra ma trận theo yêu cầu
Code:
Nhập ma trận A
Sắp xếp các phần tử trên một cột theo hướng tăng dần, dùng hàm
sort(A,1)
Sắp xếp các phần tử theo hướng giảm dần dùng hàm sort(A,1,’descend’)
Sắp xếp các phần tử trên một hàng theo hướng tăng dần, dùng
sort(A,2)
Sắp xếp các phần tử trên một hàng theo hướng giảm dần, dùng
sort(A,2,’descend’)
Câu 4:
Code
function khoangcach
syms x
F=input('nhap khong gian vector con F: '); %nhap luon ca x vd:
[x^4+7*x^3-3*x^2-x+7;x^3-6*x^2+5*x-9]
[m,~]=size(F);
if m==1
F=F';
end
f=input('nhap vector f: ');
%vd:[4*x^4-4*x+8]
disp('tich phan di tu');
a=input('a= ');b=input('b= ');
k=bac(F);p=bac(f);
n=max(k,p);
bac 5
%tim bac cao nhat cua da thuc vd x^5 -->
Fc=chuyendt(F,n,m);
5...]
% chuyen sang dang ma tran vd:[4 1
%-------------khong gian con F nhap vao chua chac da la co so--> chuyen F
thanh cs
r=rank(Fc);
if m~=r
%tim hang cua F
%neu F phu thuoc tuyen tinh
Fc=rref(Fc);
khong gian con)
for i=r+1:m
%dua ve ma tran co so (no khong lam thay doi
%bo di nhung vector phu thuoc tuyen tinh
Fc(i,:)=[];
end
end
if n+1==r
% neu khong gian F chinh la co so cua khong gian V
disp('f nam trong khong gian F => d(f,F)=0')
else
F=chuyen(Fc,r); %chuyen F ve dang da thuc vd:[3*x^2+7*x^2x+7;....]
z=length(F); %F co z vector
%------------thuat toan tim vector hinh chieu giong trong sach sgk
A=zeros(z);
for i=1:z
A(i,1:z)=int(F(i)*(F(1:z)),a,b);
end
exp=zeros(length(F),1);
for i=1:z
exp(i)=int(f*F(i),a,b);
end
t=A\exp;
prfF=0; prfF=sym(prfF);
for i=1:length(F)
prfF=prfF+t(i)*F(i);
end
k=f-prfF
kc=sqrt(int(k*k,x,a,b)); kc=double(kc);
disp('khang cach tu f den khong gian con F bang: ')
disp(kc)
end
end
function k=bac(f)
syms x
[m,~]=size(f);
k=0;
for i=1:m
while ~isreal(limit(f(i,1)/x^k,x,inf))
k=k+1;
end
end
end
function k=chuyendt(f,n,m)
s=zeros(m,n+1);
for i=1:m
s(i,:)=[zeros(1,n-bac(f(i))) sym2poly(f(i))];
end
k=s;
end
function k=chuyen(f,m)
syms x
k=zeros(m,1);k=sym(k);
for i=1:m
k(i)=poly2sym(f(i,:));
end
câu 5
code
function nghichdaosc
a=input('nhap ma tran vao ');
[m,n]=size(a);
if m~=n
disp('ma tran khong vuong')
elseif det(a)==0
disp('ma tran suy bien, khong co ma tran nghich dao')
else
I=eye(size(a));
for i=1:n
[a,I]=sapxep(a,i,I);
I(i,: )=I(i,: )/a(i,i);
a(i,: )=a(i,: )/a(i,i);
for j=m:-1:i+1
I(j,: )=I(j,: )-I(i,: )*a(j,i);
a(j,: )=a(j,: )-a(i,: )*a(j,i);
end
end
for i=n:-1:1
[a,I]=sapxep(a,i,I);
I(i,: )=I(i,: )/a(i,i);
a(i,: )=a(i,: )/a(i,i);
for j=1:i-1
I(j,: )=I(j,: )-I(i,: )*a(j,i);
a(j,: )=a(j,: )-a(i,: )*a(j,i);
end
end
disp('ma tran nghich dao la: ')
disp(I)
end
end
%ham sap xep cot cua ma tran tang dan
function [x,k]=sapxep(a,i,I)
[m,~]=size(a);
j=i;
while j<=m
if a(i,i)==0
n=a(i,: );
N=I(i,: );
a(i,: )=a(j,: ); I(i,: )=I(j,: );
a(j,: )=n;
j=j+1;
else
break
end
end
x=a;
k=I;
end
I(j,: )=N;