cau9 Mang hai chieu (hay vector hang va vector cot)
3.4 Mang hai chieu (hay vector hang va vector cot)
Trong cac vi du truoc, mang chua mot hang va nhieu cot, ngoi ta thong goi la vector hang. Ngoai ra ta con co mang la vector cot, tuc la mang co mot cot va nhieu hang, trong trong hop nay mot thao tac tinh toan doi voi mang nh o tren la khong thay doi. Nhng khac voi troc la ta dung dau cach hay dau phay de phan cach giua hai cot con trong trong hop nay ta dung dau cham phay de phan cach giua hai hang.
Vi du de tao vector x :
>>x=[1;3;5;7]
x =
1
3
5
7
Mot cach khac de tao cac vector cot la dung cac ham linspace, logspace, hay tu cac vector hang, sau do dung phong phap chuyen vi, Matlap dung toan tu chuyen vi la (') de chuyen tu vector hang thanh vector cot va ngoc lai.
Vi du tao vector x gom 7 hang 1 cot tu 1 den 7:
>>x=[1:1:7]'
x =
1
2
3
4
5
6
7
Ngoai ra Matlab con su dung toan tu chuyen dau cham dang troc (.') (toan tu chuyen vi cham). Toan tu nay chi khac voi toan tu chuyen vi (') khi cac phan tu cua mang la so phuc, tuc la tu mot vector nguon voi cac phan tu la so phuc, toan tu (') tao ra so phuc lien hop chuyen vi, con toan tu (.') chi tao ra vector chuyen vi.
Vi du sau day se lam ro dieu tren:
>> a=[1:1:7]; % tao vector a gom 1 hang 7 cot
>>d=a+i*a %tao vector so phuc d tu vector a
d =
Columns 1 through 4
1.0000 + 1.0000i 2.0000 + 2.0000i 3.0000 + 3.0000i 4.0000 + 4.0000i
Columns 5 through 7
5.0000 + 5.0000i 6.0000 + 6.0000i 7.0000 + 7.0000i
>> e=d.' % Tao vector tu vector d bang toan tu chuyen vi cham (.')
e =
1.0000 + 1.0000i
2.0000 + 2.0000i
3.0000 + 3.0000i
4.0000 + 4.0000i
5.0000 + 5.0000i
6.0000 + 6.0000i
7.0000 + 7.0000i
>>f=d'% Tao vector tu vector d bang toan tu chuyen vi cham (')
f =
1.0000 - 1.0000i
2.0000 - 2.0000i
3.0000 - 3.0000i
4.0000 - 4.0000i
5.0000 - 5.0000i
6.0000 - 6.0000i
7.0000 - 7.0000i
o tren ta chi xet den mang co mot hang hay mot cot bay gio ta xet trong hop co nhieu hang va nhieu cot, no doc goi la ma tran. Vi du sau day la ma tran g co hai hang va bon cot
>>g=[1 2 3 4; 5 6 7 8]
g =
1 2 3 4
5 6 7 8
Trong vi du nay ta dung dau cach de vao cac phan tu trong hang va dau cham phay de tao hai hang, ngoai ra ta cung co the tao ma tran nh sau:
>> g=[1 2 3 4
5 6 7 8
9 10 11 12]
g =
1 2 3 4
5 6 7 8
9 10 11 12
Chu y: Khi nhap vao ma tran thi giua cac hang so phan tu phai bang nhau neu khong chong trinh se bi bao loi.
3.5 thao tac voi mang 2 chieu
Ta co cac bang sau
chi cua mang
A(r,c) Dia chi mot mang con trong mang A, trong do r la hang, c la cot.
A(r,:) Dia chi mot mang con trong mang A, trong do r la hang va tat ca cac cot cua A.
A(:,c) Dia chi mot mang con trong mang A, trong do c la cot va tat ca cac hang cua A.
A(:) Dia chi tat ca cac phan tu cua A nh mot vector cot, bang cach ghep thu tu cac cot cua vector A.
A(i) Dia chi mot mang con trong mang A, voi gia su A la vector cot
A(x) Dia chi mot mang con trong A, dinh nghia boi mang logic x, x phai cung kich co voi A.
Vi du
>> a=[7 8 9 10
4 3 2 1
5 6 7 8]
a =
7 8 9 10
4 3 2 1
5 6 7 8
>> a(3,4) % truy nhap phan tu o hang 3 cot 4 cua mang a
ans =
8
>> a(2,:) % Truy nhap tat ca cac phan tu o hang 2
ans =
4 3 2 1
>> a(:,3) % Truy nhap tat ca cac phan tu o cot 3
ans =
9
2
7
>> a(:) % thiet lap mot ma tran cot tu ma tran a
ans =
7
4
5
8
3
6
9
2
7
10
1
8
>> a(7) % Truy nhap phan tu thu 7 cua mang a voi gia thiet ta coi a la mot vector cot
ans =
9
>> a(abs(a)>2) % Truy nhap cac phan tu cua mang a ma gia tuyet doi cua no lon hon 2
ans =
7
4
5
8
3
6
9
7
10
8
Tim kiem mang
i=find(x) Tra lai cac chi so cua mang noi ma cac phan tu cua no khac khong
[r,c]=find(x) Tra lai chi so hang va chi so cot cua mang x noi ma cac phan tu cua no khac khong
Vi du:
>> b=[0 3 4 5;8 7 6 0; 7 0 6 5]
b =
0 3 4 5
8 7 6 0
7 0 6 5
>> find(b)
ans =
2
3
4
5
7
8
9
10
12
>> [r,c]=find(b)
r =
2
3
1
2
1
2
3
1
3
c =
1
1
2
2
3
3
3
4
4
So sanh mang
isequal(A,B)neu A va B giong nhau
ismember(A,B)khi phan tu cua A cung la phan tu cua B
intersect(A,B) Cac phan tu chung giua A va B ( A, B phai cung kich co)
setdiff(A,B) Cac phan tu co trong A ma khong co trong B
setxor(A,B) Cac phan tu khong thuoc phan chung giua A va B
union(A,B) Tat ca cac phan tu co trong A va B
Chu y gia tri dung va sai doc the hien trong Matlab la so 1 va so 0
Vi du: Xet 2 mang a,b
>> a=[6 7 8 9; 4 3 2 1; 4 5 6 7]
a =
6 7 8 9
4 3 2 1
4 5 6 7
>> b=[2 4 6 8; 1 3 5 9; 4 8 12 16]
b =
2 4 6 8
1 3 5 9
4 8 12 16
>> isequal(a,b)
ans =
0
>> ismember(b,a)
ans =
1 1 1 1
1 1 1 1
1 1 0 0
>> a=3 4 5;
>> b=5 6 7;
>> setdiff(a,b)
ans =
3 4
>> intersect(a,b)
ans =
5
>> setxor(a,b)
ans =
3 4 6 7
>> union(a,b)
ans =
3 4 5 6 7
Kich co cua mang
whos Hien thi cac bien, ham ton tai trong khong gian lam viec va kich co cua chung.
S=size(A) Tra lai vector hang s, ma phan tu thu nhat la so hang cua A, phan tu thu hai la so cot cua A.
[r,c]=size(A) Tra lai hai so vo hong r,c chua so hang va so cot cua A.
r=size(A,1) Tra lai so hang cua A trong bien r.
c=size(A,2) Tra lai so cot cua A trong bien c.
n=length(A) Tra lai max(size(A)) trong bien n khi A khong rong.
>> A=[ 4 5 6 7; 3 4 8 9; 2 4 5 8]
A =
4 5 6 7
3 4 8 9
2 4 5 8
>> size(A)
ans =
3 4
>> [r,c]=size(A)
r =
3
c =
4
>> r=size(A,1)
r =
3
>> c=size(A,2)
c =
4
>> n=length(A)
n =
4
Bạn đang đọc truyện trên: Truyen2U.Com