Tải bản đầy đủ (.docx) (11 trang)

báo cáo đại số chủ đề 8, TRƯỜNG ĐẠI HỌC BÁCH KHOA THÀNH PHỐ HỒ CHÍ MINH

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (45.9 KB, 11 trang )

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;



×