You are on page 1of 15

File ny c 3 phn.

Phn 1. Cc cu lnh n gin ca matlab trong i s tuyn tnh.


Phn 2. Cc ti i s tuyn tnh cho sinh vin.
Phn 3. Cc chng trnh tham kho.
Phn 1.
STT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

Hm matlab
A=[1 2 3;2 3 4]
B=[3;2;5]
A*B
2*A+B
A^n
chol(A)
det(A)
diag(v)
eig(A)
[v,d]=eig(A)
eye(n)
hadamard(n)
Hilb
inv(A)
isempty(A)
length(v)
Linspace
max(X)
min(X)
norm
null
ones(n)
pascal(n)
rank(A)
reshape(A)
size(A)
tril(A)
triu(A)
vander(v)
zeros(n)
gs(A)
[Q,R]=qr(A)
[L,U]=lu(A)
roots
polyvalm
polyval
polyfit
A\b

M t
to ma trn c 2,3
to ma trn ct c 3 hng, 1ct.
Tnh tch AB
Tnh 2A + B, v d A=[2 3 1;2 1 0], B=[1 -2 1;2 1 5]
Tnh A^n vi A l ma trn vung
Phn tch ma trn A thnh tch 2 ma trn theo phng php choleski
Tnh nh thc ma trn vung A
To ma trn cho vi cc p/t trn ng cho l cc pt ca vcto v
xut ra tr ring ca ma trn A
xut ra tr ring v vcto ring ca ma trn A, cho ha ma trn
to ma trn n v cp n cho trc.
To ma trn Hadamard cp n.
Ma trn Hilbert
ma trn nghch o ca ma trn A
Kim tra A c ng l ma trn 0 khng.
Tnh di ca vector
To 1 vector cch u nhau
Tr v gi tr ln nht trong vector X
Tr v gi tr nh nht trong vector X
Ma trn trc chun ca cc vector ring
Khong trng
To ma trn cp n c tt c cc pt u bng 1
To ma trn pascal cp n.
Tm hng ma trn A
Thay i kch c ma trn
Kch c ma trn A
Trch ra ma trn tam gic di t ma trn A
Trch ra ma trn tam gic trn t ma trn A
To ma trn Vandermonde da trn vcto v
To ma trn 0 cp n
Trc giao ha Gram-Schmidt ma trn(A)
Phn tch ma trn (A) thnh tch 2 ma trn Q v R
Phn tch ma trn(A) thnh tch 2 ma trn L v U
Tm nghim ca a thc
tnh tr a thc m cc bin l ma trn
Tnh gi tr ca a thc
Xp x bng a thc
Gii h phng trnh Ax = b

Mt s comments.
1/ MATLAB cho php ta nhp s liu t dng lnh. Khi nhp ma trn t bn phm ta phi tun
theo cc quy nh sau :
ngn cch cc phn t ca ma trn bng du , hay du trng
dng du ; kt thc mt hng
bao cc phn t ca ma trn bng cp du ngoc vung [ ]

V d : >> A = [ 1 2 3 ]
kt qu l A =
123
>> A = [1;2;3]
kt qu l A =
1
2
3
2/ Ton t dng chuyn v mt ma trn thc v chuyn v lin hp mt ma trn
phc. Nu ch mun chuyn v ma trn phc, ta dng thm ton t . ngha l phi
vit .. V d:
C = [1 + 2*i
2 - 4*i; 3 + i
2 - 2*j];
X = C'
Y = C.
3/ Ch s: Phn t hng i ct j ca ma trn mn c k hiu l A(i, j). Tuy
nhin ta cng c th tham chiu ti phn t ca mng nh mt ch s, v d A(k) vi
k
= i + (j - 1)m. Cch ny thng dng tham chiu vec t hng hay ct. Trong
trng
hp ma trn y th n c xem l ma trn mt ct di to t cc ct ca ma
trn
ban u. Nh vy vit A(5) c ngha l tham chiu phn t A(2, 2).
xc nh kch thc ca mt ma trn ta dng lnh length(tr v kch thc
ln nht) hay size(s hng v ct). V d:
c = [1 2 3 4; 5 6 7 8];
length(c)
[m, n] = size(c)
4/ Ton t : : Ton t : l mt ton t quan trng ca MATLAB. N xut
hin nhiu dng khc nhau. V d: Lnh :
1:10
to mt vec t hng cha 10 s nguyn t 1 n 10.
Lnh:
100: -7: 50
to mt dy s t 100 n 51, gim 7 mi ln.
Cc biu thc ch s tham chiu ti mt phn ca ma trn. Vit A(1:k, j) l tham
chiu n k phn tu tin ca ct j. Ngoi ra ton t : tham chiu ti tt c cc
phn t ca mt hng hay mt ct. V d:
B = A(:, [1 3 2 ])
to ra ma trn B t ma trn A bng cch i th t cc ct t [1 2 3] thnh [1 3 2]
To ma trn bng hm c sn: MATLAB cung cp mt s hm to cc
ma trn c bn:
zeros
to ra ma trn m cc phn tu l zeros
z = zeros(2, 4)
ones
to ra ma trn m cc phn tu l 1
x = ones(2, 3)
y = 5*ones(2, 2)
rand
to ra ma trn m cc phn t ngu nhin phn bu
d = rand(4, 4)
randn
to ra ma trn m cc phn t ngu nhin phn b trc giao
e = randn(3, 3)
magic(n) to ra ma trn cp n gm cc s nguyn t 1 n n2 vi tng cc hng
bng tng cc ct (n phi ln hn hay bng 3).
pascal(n) to ra ma trn xc nh dng cp n m cc phn t ly t tam gic
Pascal.
Lnh :
pascal(4) to ra ma trn xc nh dng cp 4
- eye(n) to ma trn n v cp n
Lnh:
eye(3) to ma trn n v cp 3
- eye(m, n) to ma trn n v m rng
Lnh:

eye(3, 4) to ma trn n v gm 3 hng 4 ct


Ta c th lp ghp(concatenation) cc ma trn c sn thnh mt
ma trn mi. V d:
a = ones(3, 3)
b = 5*ones(3, 3)
c = [a + 2; b]
Xo hng v ct : Ta c th xo hng v ct t ma trn bng dng du [].
xo ct th 2 ca ma trn b ta vit:
b(:, 2) = []
Cc lnh x l ma trn:
Cng
: X= A + B
Tr
: X= A - B
Nhn
: X= A * B
: X.*A nhn cc phn t tng ng vi nhau
Chia
: X = A/B lc X*B = A
: X = A\B lc A*X = B
: X=A./B chia cc phn t tng ng vi nhau
Lu tha
: X = A^2
: X = A.^2
Nghch o : X = inv(A)
nh thc : d = det(A)
S chiu ca h vector A : n=ndims(A)
Tng cc phn t trn ng cho chnh ma trn A : s = trace(A)
Phn 2.
Yu cu: Sinh vin khng c dng cc hm sn c trong matlab vit chng trnh.
Cc ti.
1/ Dng cc php bin i s cp a ma trn v dng bc thang v tm hng ca ma trn A
ty .
Yu cu: Input: cho php nhp vo mt ma trn ty . Output: Ma trn bc thang v r(A).
2/ Nhn hai ma trn vi nhau.
Yu cu: Input: cho php nhp vo hai ma trn A v B. Chng trnh phi kim tra php nhn
c thc hin c hay khng? Output: Ma trn tch.
3/ Tnh Am, vi m l s t nhin cho trc.
Yu cu: Input: Nhp vo mt ma trn vung ty v s t nhin m. Output: mt ma trn
Am.
4/ Tnh nh thc ca ma trn bng bin i s cp.
Yu cu: Input: cho php nhp vo mt ma trn vung ty . Output: det(A).
5/ Tnh nh thc ca ma trn vung A bng cch khai trin theo mt hng ty (hoc mt
ct ty ) qua cc b i s.
Yu cu: Input: cho php nhp vo mt ma trn vung ty . Output: det(A).
6/ Tm hng ca ma trn bng cc s dng cc nh thc con (phng php nh thc bao
quanh).
7/ Tm ma trn nghch o ca ma trn vung A bng bin i s cp i vi hng cho ma
trn

A I

hang

I|A .
1

Yu cu: Input: cho php nhp vo mt ma trn vung ty . Chng trnh kim tra tnh kh
nghch ca ma trn. Output: Ma trn nghch o:
8/ Tm ma trn nghch o bng cng thc

A1

A1. .
1
PA .
det( A)

Yu cu: Input: cho php nhp vo mt ma trn vung ty . Chng trnh kim tra tnh kh
nghch ca ma trn. Output: Ma trn nghch o:

A1. .

9/ Phn tch LU ca ma trn A. Phn tch PA=LU.


Yu cu: Input: cho php nhp vo mt ma trn vung cp n. Chng trnh kim tra A c th
phn tch thnh A = LU hay khng. Nu khng th tm ma trn P v phn tch PA= LU.
Output: Ma trn nghch o: P, L, U.
11/ Kim tra tnh xc nh dng ca ma trn vung A. (nh ngha: ma trn vung A gi l
xc nh dng, nu cc nh thc con chnh u dng).
10/ Phn tch Cholesky:

A RT R , trong A l ma trn i xng, xc nh dng.

11/ Gii h phng trnh bng php bin i Gauss.


Yu cu: Input: cho php nhp vo mt ma trn ty A v ma trn b. Output: Nghim ca
h dng vcto.
Ma trn A v b c th c c t file *.txt
12/ Gii h Cramer AX = b vi A vung,

trong

xi

det( A) 0 bng cng thc x ( x1 , x2 ,..., xn ) ,

det( Ai )
.
det( A)

13/ Tm ta ca mt vcto trong mt c s cho trc.


Yu cu: Input: cho mt vcto v mt c s E. Output: ta ca vcto trong c s E.
14/ Tm ma trn chuyn c s t E sang F.
Yu cu: Input: cho hai c s E v F. Output: ma trn chuyn c s P.
15/ Tm hng ca h vcto.
Yu cu: Input: cho mt h vcto. Output: hng ca h vcto ny v cc vcto c lp tuyn
tnh ti a ca h
16/ Kim tra tnh c lp tuyn tnh, ph thuc tuyn tnh ca h vcto. Kim tra vcto x c
l t hp tuyn tnh ca h vcto M hay khng?
17/ Tm c s, s chiu ca khng gian con sinh ra bi h vcto M.
Yu cu: Input: cho php nhp vo mt h vcto. Output: S chiu v c s ca khng gian
con sinh ra bi M.
18/ Tm c s v s chiu ca khng gian nghim ca h thun nht AX = 0.
Yu cu: Input: cho php nhp vo ma trn A. Output: S chiu v c s ca khng gian
nghim.

19/ Tm s chiu v c s ca khng gian giao F G v khng gian tng F G ca hai


khng gian con F v G. Input: nhp vo hai khng gian con (tp sinh ca hai khng gian con
F v G, hoc nhp h pt). Output: s chiu v c s ca giao v tng.
20/ Dng qu trnh trc giao ha Gram-Schmidt, tm h trc giao, h trc chun ca h
vcto c lp tuyn tnh.
Yu cu: Input: cho php nhp vo mt h vcto gm m vcto c lp tuyn tnh (hoc h
vcto bt k, chng trnh phi kim tra tnh c lp tuyn tnh ca h vcto). Output: H
gm m vcto trc giao, c th trc chun.
21/ Phn tch QR ca ma trn vung A bng qu trnh Gram Schmidt.
Yu cu: Input: cho php nhp vo ma trn vung A ty . Chng trnh kim tra A c phn
tch QR hay khng (iu kin: cc ct ca A l h c lp tuyn tnh). Output: Ma trn Q v
ma trn R.
22/ Tm hnh chiu vung gc ca mt vcto cho trc xung khng gian con. Tm khong
cch t vcto n khng gian con.
Yu cu: Input: cho php nhp vo mt h vcto M v vcto x. Output: hnh chiu vung gc
ca vecto x xung khng gian con F c sinh ra bi M v khong cch t x n F.
23/ Cho nh x tuyn tnh f bit ma trn ca f trong c s E l A. Tm nh ca mt vcto cho
trc.
24/ Cho nh x tuyn tnh f bit ma trn ca f trong c s E l A. Tm c s, s chiu ca
nhn v nh ca nh x tuyn tinh.
25/ Cho nh x tuyn tnh f. Tm ma trn ca nh x tuyn tnh trong c s E cho trc.
26/ Cho ma trn vung A. Tm tr ring, vcto ring ca ma trn A.
27/ Cho ma trn vung A. Kim tra tnh cho ha ca A. Nu c, tm ma trn P v ma trn
D.
28/ Cho ma trn i xng, thc vung A. Cho ha trc giao ma trn A.
29/ Cho ma trn vung A cho ha c. Tnh Am.
30/ Cho dng ton phng

Q( X ) X T AX . Kim tra dng ton phng xc nh dng hay

khng.
31/ Cho dng ton phng

Q( X ) X T AX . a dng ton phng v chnh tc bng bin

i trc giao.
32/ Cho dng ton phng

Q( X ) X T AX . Phn loi dng ton phng.

33/ ng dng ma trn nghch o trong l thuyt mt m


34/ ng dng i s tuyn tnh trong bi ton xp x hm.
35/ ng dng i s tuyn tnh trong l thuyt ha.
Phn 3. Cc chng trnh tham kho. Cc chng trnh ny c download t mng hoc
phn ln do sinh vin vit nn cha chc l ti u.
1/ dng bin i s cp a ma trn v dng bc thang

function A=bdsc_bacthang(B)
A=B;
[m,n]=size(A);
h=1;
for k=1:m-1;
for j=h:n;
for i=k:m;
if(A(i,j)~=0)
break;
end;
end;
if(A(i,j)~=0)
break;
end;
end;
if(i~=k)
for l=h:n;
a=A(k,l);
A(k,l)=A(i,l);
A(i,l)=a;
end;
end;
if(j~=h)
h=j;
end;
for i=k+1:m;
if (A(i,h)~=0)
a=A(i,h)/A(k,h);
for j=h:n;
A(i,j)=A(i,j)-a*A(k,j);
end;
end;
end;
h=h+1;
end;
disp('ma tran bac thang');
disp(A);
end
1b/ dng bin i s cp a v dng bc thang, tnh hng v tnh nh thc.
function [B,dinhthuc,hang] = ladder(A) % chuyen ve bac thang
% Dong thoi tim dinh thuc va hang cua ma tran dua vao bdsc
if nargin <1 error ('phai nhap vao ma tran can phan tich');
end;
N = size(A,1);%1 la dong,2 la cot,i la hang,j la cot
m = size(A,2);
l=A;
i=1;
d=0;
if N~=m
dinhthuc ='*phai la ma tran vuong*';
end;
for h=1:N
k=l(h:N,:);
k=k(:,h:m);
for j=1:(m-h+1) % tim phan tu khac khong dau tien theo tt cot hang
for i=1:(N-h+1)
if k(i,j)~=0
e=i;
if h==1
f=j;
end;
if h~=1
f=1;
end;

break;

end;

end;
if k(i,j)~=0
break;
end;
end;
d=d+(e-1)*(N-1)+(f-1)*(m-1);
k=circshift(k, [-(e-1), -(f-1)]);
p=[l(1:(h-1),h:m);k];
l=[l(1:N,1:(h-1)) p];
for g=h:(N-1) % khu cac phan tu theo sau ben duoi
for i=(g+1):N
if l(g,g)~=0
c=l(i,g)/l(g,g);
for j=g:m
l(i,j)=l(i,j)-(c*l(g,j));
end;
end;
if l(g,g)==0
break;
end;
end;
if l(g,g)==0
break;
end;
end;
end;
E=l(2:N,1:m,:); % bien doi de dinh thuc ma tran khong thay doi
F=l(1,1:m);
F=((-1)^d)*F;
B=[F;E];%ma tran B thay the boi B ma xet su thay doi dau hang 1
hang=0;
for s=1:N %tim hang ma tran
i=N+1-s;
for j=1:m
if B(i,j)~=0
hang=i;
break;
end;
end;
if B(i,j)~=0
break;
end;
end;
if N==m % tim dinh thuc ma tran
dinhthuc=1;
for i=1:N
dinhthuc=dinhthuc*B(i,i);
end;
end;
2/ Gii h phng trnh bng phng php Cramer
function [X] = cramer(A,b)
if nargin <2 error ('phai nhap vao ma tran can phan tich');
end;
N = size(A,1);%1 la dong,2 la cot,i la hang,j la cot
m = size(A,2);
if N~=m error ('khong phai la he cramer,nhap lai ma tran he so A');
end;
n = size(b,1);
M = size(b,2);
if n>M
b=b';
if M~=1 error ('kich co he so tu do khong phu hop nhap lai b');

end;
if n~=N error ('kich co he so tu do khong phu hop nhap lai b');
end;

end;
if M>n
if n~=1 error ('kich co he so tu do khong phu hop nhap lai b');
end;
if M~=N error ('kich co he so tu do khong phu hop nhap lai b');
end;
end;
if det(A)==0 error ('det=0,khong the dung phuong phap nay');
end;
l=A;
X=0;
b=b';
for j=1:N
if j==1
l=A;
l(:,j)=[];
l=[b l];
X(1,j)=det(l)/det(A);
end;
if j>=2
if j<N
l=A;
a=l;
x=a(1:N,1:(j-1),:);
y=a(1:N,(j+1):N,:);
l=[x,b];
l=[l y];
X(1,j)=det(l)/det(A);
end;
if j==N
l=A;
l(:,j)=[];
l=[l b];
X(1,j)=det(l)/det(A);
end;
end;
end;
3/ Gii h bng phng php kh Gauss
function [B,X] = gauss(A,b)
if nargin <1 error ('phai nhap vao ma tran can phan tich');
end;
N = size(A,1);%1 la dong,2 la cot,i la hang,j la cot
m = size(A,2)+1;
z = size(b,1);%kiem tra he so tu do
t = size(b,2);
c=b;
if t>z
for j=1:t % chuyen vi ma tran
for i=1:z
b(j,i)=c(i,j);
end;
end;
b=b(:,1:z);
end;
if z>t
b=c;
end;
z = size(b,1);
t = size(b,2);
%if z~=1
%
if t==N error ('kich co he so tu do khong phu hop');

% end;
%end;
%if t~=1 error ('kich co he so tu do khong phu hop.');
%end;
l=[A b];
i=1;
d=0;
for h=1:N
k=l(h:N,:);%chon hang thu h den N
k=k(:,h:m);
%chon cot thu h den m
for j=1:(m-h+1)
for i=1:(N-h+1)
if k(i,j)~=0
e=i;
if h==1
f=j;
end;
if h~=1
f=1;
end;
break;
end;
end;
if k(i,j)~=0
break;
end;
end;%tim phan tu khac 0 dau tien de hoan doi
k=circshift(k, [-(e-1), -(f-1)]);
p=[l(1:(h-1),h:m);k];
l=[l(1:N,1:(h-1)) p];
for g=h:(N-1)
for i=(g+1):N
if l(g,g)~=0
c=l(i,g)/l(g,g);
for j=g:m
l(i,j)=l(i,j)-(c*l(g,j));
end;
end;
if l(g,g)==0
break;
end;
end;
if l(g,g)==0
break;
end;
end;% bien doi so cap khu cac phan tu ben duoi
end;
B=l;
rA=0;
rB=0;
for s=1:N
i=N+1-s;
for j=1:(m-1)
if B(i,j)~=0
rA=i;
break;
end;
end;
if B(i,j)~=0
break;
end;
end;%tim hang ma tran he so
for s=1:N
i=N+1-s;
for j=1:m
if B(i,j)~=0

rB=i;
break;
end;
end;
if B(i,j)~=0
break;
end;
end;% tim hang ma tran mo rong
if rA<rB
X= ('phuong trinh vo nghiem');
end;
if rA==rB
if rA<(m-1)
X= ('phuong trinh co vo so nghiem');
end;
u=0;
if rA==(m-1) %giai nghiem he theo phuong phap khu Gauss
for s=1:(m-1)
i=m-s;
if i==(m-1);
X(i)=B(i,m)/B(i,i);
end;
if i~=(m-1)
for c=1:(s-1)
y=m-c;
u=u+X(y)*B(i,y);
X(i)=(B(i,m)-u)/B(i,i);
end;
end;
u=0;
end;
end;
end;
4/ Tm ma trn nghch o
function [B] = nghichdao (A)% tim ma tran nghich dao theo ma tran phu hop
if nargin <1 error ('phai nhap vao ma tran can phan tich');
end;
N = size(A,1);%1 la dong,2 la cot,i la hang,j la cot
m = size(A,2);
d=0;
a=A;
i=1;
if N~=m
error ('ma tran khong vuong');
end;
l=A;
for h=1:N %bien doi bac thang
k=A(h:N,:);
k=k(:,h:N);
for j=1:(N-h+1)
for i=1:(N-h+1)
if k(i,j)~=0
e=i;
if h==1
f=j;
end;
if h~=1
f=1;
end;
break;
end;
end;
if k(i,j)~=0
break;

end;
end;
d=d+(e-1)*(N-1)+(f-1)*(N-1);
k=circshift(k, [-(e-1), -(f-1)]);
p=[A(1:(h-1),h:N);k];
A=[A(1:N,1:(h-1)) p];
for g=h:(N-1)
for i=(g+1):N
if A(g,g)~=0
c=A(i,g)/A(g,g);
for j=g:N
A(i,j)=A(i,j)-(c*A(g,j));
end;
end;
if A(g,g)==0
break;
end;
end;
if A(g,g)==0
break;
end;
end;
end;
E=A(2:N,1:N,:);
F=A(1,1:N);
F=((-1)^d)*F;
K=[F;E];
dinhthuccha=1;
for i=1:N %tinh dinh thuc
dinhthuccha=dinhthuccha*K(i,i);
end;
for o=1:N
l(o,:)=[];
D=l;
for t=1:N
l(:,t)=[];
N=N-1;
for h=1:N
k=l(h:N,:);
k=k(:,h:N);
for j=1:(N-h+1)
for i=1:(N-h+1)
if k(i,j)~=0
e=i;
if h==1
f=j;
end;
if h~=1
f=1;
end;
break;
end;
end;
if k(i,j)~=0
break;
end;
end;
d=d+(e-1)*(N-1)+(f-1)*(N-1);
k=circshift(k, [-(e-1), -(f-1)]);
p=[l(1:(h-1),h:N);k];
l=[l(1:N,1:(h-1)) p];
for g=h:(N-1)
for i=(g+1):N
if l(g,g)~=0
c=l(i,g)/l(g,g);
for j=g:N

l(i,j)=l(i,j)-(c*l(g,j));

end;

end;
if l(g,g)==0
break;
end;
end;
if l(g,g)==0
break;
end;
end;
end;
E=l(2:N,1:N,:);
F=l(1,1:N);
F=((-1)^d)*F;
G=[F;E];
dinhthuccon=1;
for i=1:N
dinhthuccon=dinhthuccon*G(i,i);
end;
B(o,t)=((-1)^(o+t))*dinhthuccon;
dinhthuccon=1;
l=D;
N=N+1;
end;
l=a;
end;%tim ma tran dinh thuc con
C=B;
for j=1:N % chuyen vi ma tran
for i=1:N
B(i,j)=C(j,i);
end;
end;
B=B/dinhthuccha;
5/Phn tch LU ca ma trn A
function [l,u,dinhthuc] = LU(A)%tam giac duoi,tam giac tren,dinh thuc
if nargin <1 error ('phai nhap vao ma tran can phan tich');
end;
a=A;
N = size(A,1);%1 la dong,2 la cot
m = size(A,2);
if N~=m
A = ('khong la ma tran vuong');
end;
if N==m
l=zeros(N);
u=zeros(N);
for i=1:N
l(i,i)=1;
end;
for j=1:N
u(1,j)=A(1,j);
end;
if u(1,1)== 0
error('khong the phan tich duoc, nhap lai ma tran khac');
end;
for i=2:N
l(i,1)=A(i,1)/u(1,1);
end;
for i=2:N-1
for j=i:N
sum=0;
for k=1:i-1

sum=sum+l(i,k)*u(k,j);
end;
u(i,j)=A(i,j)-sum;

end;
if u(i,i)==0
error('khong the phan tich duoc, nhap lai ma tran khac');
end;
for j=i+1:N
sum=0;
for k=1:i-1
sum=sum+l(j,k)*u(k,i);
end;
l(j,i)=(A(j,i)-sum)/u(i,i);
end;
end;
sum=0;
for k=1:N-1
sum=sum+l(N,k)*u(k,N);
end;
u(N,N)=A(N,N)-sum;
dinhthuc=1;
for i=1:N
dinhthuc = dinhthuc*u(i,i)*l(i,i);
end;
end;
A=a;
6/ Dng qu trnh trc giao Gram-Schmidt a h c lp tuyn tnh v h trc
chun
function orthonormal_basis = Gram_Schmidt_process(A)
matrix_size = size(A);
m = matrix_size(1,1);
n = matrix_size(1,2);
if A == zeros(m,n)
error('There does not exist any type of basis for the zero vector
space.');
elseif n == 1
orthonormal_basis = A(1:m,1)/norm(A(1:m,1));
else
flag = 0;
if is_orthonormal_set(A) == 1
orthonormal_basis = A;
flag = 1;
end
if flag == 0;
if rank(A) ~= n
A = basis_col(A);
end
matrix_size = size(A);
m = matrix_size(1,1);
n = matrix_size(1,2);
orthonormal_basis = A(1:m,1)/norm(A(1:m,1));
for i = 2:n
u = A(1:m,i);
v = zeros(m,1);

for j = 1:(i - 1)
v = v dot(u,orthonormal_basis(1:m,j))*orthonormal_basis(1:m,j);
end

end
end

v_ = u + v;
orthonormal_basis(1:m,i) = v_/norm(v_);

end

7/ Kim tra h vcto c phi l h trc giao


function result = is_orthogonal_set(A)
matrix_size = size(A);
m = matrix_size(1,1);
n = matrix_size(1,2);
tolerance = 10^-10;
if n == 1
result = 1;
else
orthogonal_counter = 0;
for i = 1:n
for j = 1:n
if i == j
else
if abs(dot(A(1:m,i),A(1:m,j))) <= tolerance
orthogonal_counter = orthogonal_counter + 1;
end
end
end
end
if orthogonal_counter == factorial(n)/factorial(n - 2);
result = 1;
else
result = 0;
end
end
8/ Bi ton bnh phng cc tiu.
function c = fit(n, t, y)
% The least-squares approximating polynomial of degree n (n>=0).
% Coordinates of points to be fitted are stored in the column vectors
% t and y. Coefficients of the approximating polynomial are stored in
% the vector c. Graphs of the data points and the least-squares
% approximating polynomial are also generated.
if ( n >= length(t))
error('Degree is too big')
end
v = fliplr(vander(t));
v = v(:,1:(n+1));
c = v\y;
c = fliplr(c');
x = linspace(min(t),max(t));
w = polyval(c, x);
plot(t,y,'ro',x,w);
title(sprintf('The least-squares polynomial of degree n = %2.0f',n))
legend('data points','fitting polynomial')
Chy th chng trnh trn bng cch nhp:

a/ t = linspace(0, pi/2, 10); t = t';


b/ y = sin(2*t);
c/ c = fit(3, t, y)
9/ ng dng trong l thuyt mt m.
on code dng m ha thng tin
function B = code(s, A)
% String s is coded using a nonsingular matrix A.
% A coded message is stored in the vector B.
p = length(s);
[n,n] = size(A);
b = double(s);
r = rem(p,n);
if r ~= 0
b = [b zeros(1,n-r)]';
end
b = reshape(b,n,length(b)/n);
B = A*b;
B = B(:)';
on code gii m thng tin
function s = dcode(B, A)
% Coded message, stored in the vector B, is
% decoded with the aid of the nonsingular matrix A
% and is stored in the string s.
[n,n]= size(A);
p = length(B);
B = reshape(B,n,p/n);
d = A\B;
s = char(d(:)');
Chy th chng trnh trn:
a/ s=Toi hoc dai so tuyen tinh
b/ A=pascal(4) to ra ma trn kh nghch ty ( trong trng hp ny dng mt
pascal cp 4)
c/B=code(s,A)
d/ gii m dcode(B,A)
10/ ng dng trong l thuyt mt m.
function [xt, yt] = rot2d(t, x, y)
% Rotation of a two-dimensional object that is represented by two
% vectors x and y. The angle of rotation t is in the degree measure.
% Transformed vectors x and y are saved in xt and yt, respectively.
t1 = t*pi/180;
r = [cos(t1) -sin(t1);sin(t1) cos(t1)];
x = [x x(1)];
y = [y y(1)];
hold on
grid on
axis equal
fill(x, y,'b')
z = r*[x;y];
xt = z(1,:);
yt = z(2,:);
fill(xt, yt,'r');
title(sprintf('Plane rotation through the angle of %3.2f degrees',t))
hold off
Chy th chng trnh bng cch
a/ x=[1 2 3 2]
b/ y=[3 1 2 4]
c/ [xt, yt] = rot2d(75, x, y)

You might also like