Arifmetik amallar
Matlabda skalyar miqdorlar ustida quyidagi oddiy arifmetik amallarni bajarish
mumkin:
+ - qo‘shish;
- - ayirish;
* - ko‘paytirish;
/ - o‘ngdan bo‘lish;
\ - chapdan bo‘lish;
^ - darajaga oshirish.
Agar bir qatordagi ifodada bir nechta amallar bo‘lsa, ularni bajarilish ketma-ketligi
quyidagi ustivorlik qoidasi bo‘yicha amalga oshiriladi:
Ustivorlik
Amallar
1
() Oddiy qavs
161
2
^ Darajaga oshirish, chapdan-o‘nga
3
Ko‘paytirish va bo‘lish, chapdan-o‘nga
4
qo‘shish va ayrish, chapdan-o‘nga
Matlabda bu qoidalar skalyar miqdorlarga oddiy usulda qo‘llaniladi. Masalan,
Komanda natija 2*5
ans =10
5/8 ans =0.625
5\8
ans = 1.600
x= pi/6; y= sin(x)
y= 0.500
a=0; z=exp (4*a)/8
z= 0.125
Vektorlar va matritsalar ustida amallar. Arifmetik amallarni matritsalar ustida
ham bajarish mumkin, faqat ularni bajarish qoidalari skalyar miqdorlarnikidan farqli
bo‘ladi. Qo‘shish va ayirish amallari matritsalar uchun ularning mos elementlari
orasida bajariladi. SHuning uchun a va b matritsalarni qo‘shish va ayirish uchun
ularning o‘lchovlari bir xil bo‘lishi talab etiladi: a va b (nxm) o‘lchovli bo‘lsa, u xoldas
= a±b Matritsa elementlari s(i,j)=a(i,j)+b(i,j) tengliklar bilan aniqlanadi. Masalan,
a=[1 2 3; 4 5 6] ,
b=[4 5 3; 2 3 -4],
c=a+b,
c=[5 7 6; 6 8 2] ,
d=a-b,
d=[-3 -3 0; 2 2 10].
A va b matritsalar o‘lchovlari har xil bo‘lsa, ular ustida qo‘shish va ayirishni
bajarib bo‘lmaydi. Matritsalarni ko‘paytirish esa xuddi algebradagi qoida bo‘yicha
bajariladi. Bu holda chapdagi matritsaning ustunlari soni o‘ngdagi matritsaning
qatorlari soniga teng bo‘lishi kerak: a ning o‘lchovi (mxk) b niki (kxm) bo‘lsa, u holda
s=a*b matritsa (nxm) o‘lchovli bo‘ladi:
Misol: x=[2 1; 0 3; 2 3] , y=[1 2 3 4; 2 -1 3 1] matritsalarda x* y amalni qo‘lda
va kompьyuterda bajarib, natijalarni solishtiring.
Undan tashqari, matlabda
matritsalarni mos elementlari orasida bajariladigan quyidagi amallar mavjud. Bu
amallarni boshqalardan ajratish uchun belgi oldiga (.) nuqta qo‘yiladi. A.* b – a ning
162
har bir elementi b ning mos elementiga ko‘paytiriladi; a./ b - a ning har bir elementi b
ning mos elementiga bo‘linadi;
a.\ b – b ning har bir elementi a ning mos elementiga bo‘linadi;
a.^ b – a ning har bir elementini b ning mos elementi darajasiga oshiriladi.
Masalan, a=[1 2 3; 2 3 1], b =[0 1 2; 2 1 2] bo‘lsa , u holda c=a.* b quyidagicha
bo‘ladi:
c=[0 2 6; 4 3 2].
C matritsadan (J komandasi yordamida c1(1,J, c2(2,J qator- vektorlarni hosil
qilamiz va c2ni transponerlab quyidagicha
c1*c2’=18 amalga oshirilgan ko‘paytmani c1 va c2 vektorlarning (ichki)
skalyar ko‘paytmasi deyiladi.
C1’*c2 ko‘paytma esa (3x3) o‘lchovli matritsa bo‘ladi. Bu ko‘paytma tashqi
ko‘paytma deyiladi.
Sum (A) – ustunlar bo‘yicha elementlar yig‘indisi Sum (A, dim) – dim=1 da
ustunlar bo‘yicha elementlar yig‘indisini, dim=2 da qatorlar bo‘yicha elementlar
yig‘indisini qaytaradi. Sum (diag(A)) – diagonal elementlar yig‘indisini beradi. Det
(A) – matritsa determinantini xisoblaydi. Rank (A) – matritsa rangini, inv (A) – teskari
matritsani xisoblaydi.
Solishtirish va mantiqiy amallar. Mantiqiy amallarni ikki guruhga bo‘lib
o‘rganamiz: a)solishtirish amallari;
b)haqiqiy mantiqiy amallar.
Solishtirish amallariga quyidagilar kiradi:
a>b- oni amali;
aa<=b- kichik yoki teng amali;
a>=b- oni yoki teng amali;
a==b- teng amali;
a~=b-teng emas amali.
Massivlarni solishtirishda bu amallar ularning mos elementlari orasida amalga
oshiriladi. Bunda solishtirilayotgan massiv o‘lchoviga teng o‘lchovli massiv hosil
bo‘ladi. YA’ni massivning mos elementi 1 bo‘ladi, agar solishtirish natijasi “rost”
bo‘lsa , 0 bo‘ladi agar solishtirish natijasi “yolg‘on” bo‘lsa. Agar solishtirishda >, <,
>=, <= amallari ishlatilsa elementlarning faqat haqiqiy qismi solishtiriladi, == yoki ~=
amallari ishlatilsa elementlarning ham haqiqiy, ham mavhum qismlari solishtiriladi.
Ikkita qatorni ekvevalentligini tekshirish uchun strcmp komandasdan foydalaniladi. Bu
holda vektorlarning uzunliklari har xil bo‘lishi mumkin. Agar solishtirilayotganlardan
biri skalyar, ikkinchisi matritsa bo‘lsa, u holda solishtirish uchun skalyarni matritsa
o‘lchovlariga teng qilib, matritsaga to‘ldiriladi va undan keyin solishtiriladi.
Masalan:
163
a=3;
b=[1 4 0; 2 5 7];
bo‘lsa a>b natijasi quyidagicha bo‘ladi:
ans=[1 0 1; 1 0 0]
Matritsa elementlari kompleks bo‘lgan holda misol ko‘ramiz:
c=[5+2i 4-i];
d=[5+7i 3-i];
d<=c ning natijasi
ans=[1 1],
c<=d ning natijasi
ans= [1 0]
bo‘ladi.
Matlabda haqiqiy mantiqiy amallarga quyidagilar kiradi:
&=”va” amali;
|-“yoki” amali;
~-“yo‘q” amali.
Mantiqiy amallar matritsalarni mos elementlari orasida bajariladi. Bu amallarni
bajarishda 0 ishlatiladi, agar amal natijasi “yolg‘on” bo‘lsa va “rostlik”ni bildiruvchi
mantiqiy bir ixtiyoriy nol bo‘lmagan son bo‘lishi mumkin.
Yuqoridagi barcha mantiqiy amallar uchun “rostlik” jadvali quyidagicha bo‘ladi:
Download |