2-rasm. MATLAB tizimining Toolboxlari.
Massiv – bir turdagi ma’lumotlarning raqamlangan va tartiblangan to‘plamidir. O‘zgaruvchilar to‘plangan massivning nomi bo‘lishi shart. Massivlar o‘lchovi yoki o‘lchami bilan (bir o‘lchovli, ikki o‘lchovli, ko‘p o‘lchovli) bir-biridan farq qiladi. Massiv elementlariga murojaat qilish indekslar orqali amalga oshriladi. MATLAB da massiv elementlarini raqamlash birdan (1) boshlangani uchun indekslari birga teng yoki katta bo‘ladi.
Oddiy arifmеtik amallar. MATLAB da arifmetik amallar yetarlicha kengaytirilgan, hamda matritsaviy va arifmetik amallarni o‘z ichiga oladi. Quyida arifmetik va matritsaviy amallar keltirilgan:
O‘zgarmaslar:
T.r.
|
O‘zgarmaslar
|
O‘zgarmaslarning nomlanishi
|
1.
|
Pi
|
π soni
|
2.
|
i yoki j
|
kompleks son
|
3.
|
Inf
|
cheksizlik
|
4.
|
NaN
|
ko‘rinishdagi aniqmaslik
|
5.
|
True
|
mantiqiy rost
|
6.
|
False
|
mantiqiy yolg‘on
|
Arifmetik amallar:
-
T.r.
|
Arifmetik amal belgilari
|
Arifmetik amallarning nomlanishi
|
1.
|
+
|
Qo‘shish (skalyar yoki matritsaviy)
|
2.
|
-
|
Ayirish (skalyar yoki matritsaviy)
|
3.
|
*
|
Ko‘paytirish (skalyar yoki matritsaviy)
|
4.
|
/
|
Bo‘lish (skalyar)
|
5.
|
^
|
Darajaga ko‘tarish (skalyar yoki matritsaviy)
|
6.
|
.*
|
Massiv mos elementlari bo‘yicha ko‘paytirish
|
7.
|
./
|
O‘lchovlari bir xil massiv mos elementlari bo‘yicha bo‘lish
|
8.
|
.^
|
Massiv mos elementlari bo‘yicha darajaga ko‘tarish
|
9.
|
\
|
Matritsaviy chapdan o‘ngga bo‘lish
|
10.
|
.\
|
Massiv mos elementlari bo‘yicha chapdan o‘ngga bo‘lish
|
11.
|
‘
|
Qo‘shma matritsani hisoblash
|
12.
|
.’
|
Transponerlash
|
MATLAB da matematik ifodalar ma’lum bir bajarilish tartibiga asosan bajariladi. Avval mantiqiy amallar, so‘ngra arifmetik amallar: avval daraja, keyin ko‘paytirish va bo‘lish, undan keyin esa qo‘shish va ayirish bajariladi. Agar ifodada qavslar bo‘lsa, avval qavs ichidagi ifoda yuqoridagi tartibda bajariladi. 3) Munosabat amallari:
-
T.r.
|
Operator (sintaksis)
|
Amal belgilari nomlanishi
|
1.
|
= =;(x= =y)
|
Teng
|
2.
|
~ =; (x~ =y)
|
Teng emas
|
3.
|
<; (x
|
Kichik
|
4.
|
>; (x>y)
|
Katta
|
5.
|
<=; (x<=y)
|
Kichik yoki teng
|
6.
|
>=; (x>=y)
|
Katta yoki teng
|
4) Mantiqiy amallar:
T.r.
|
Operator (sintaksis)
|
Amal belgilari nomlanishi
|
1.
|
&; and (and(a,b))
|
va
|
2.
|
; or (or(a,b))
|
yoki
|
3.
|
~ ; not (not(a,b))
|
inkor
|
4.
|
xor (xor(a,b))
|
|
5.
|
any (any(a))
|
|
6.
|
all (all(a))
|
|
MATLAB dasturida qaydni osonlashtirish uchun >> ko‘rsatkichini, garchi MATLAB versiyasi ta’lim maqsadlarida bo‘lishiga qaramasdan standart ko‘rsatkich sifatida ishlatiladi.
MATLABda elementar algebraik funksiyalar
MATLAB bir nechta mustaqil sohaviy hisoblashlarga ixtisoslashgan bo‘limlardan tuzilgan yaxlit tizim sifatida ishlatilganligi sababli, matritsaviy hisoblashlar dinamik tizimlar va obyektlarning holat tenglamalarini avtomatik ravishda tuzish va yechishning asosi bo‘lib hisoblanadi. Bunga MATLABning kengaytmasi Simulink misol bo‘lishi mumkin. MATLAB tizimining vazifasi har xil turdagi masalalarni yechishda foydalanuvchilarni an’anaviy dasturlash tillariga nisbatan afzalliklarga ega bo‘lgan va imkoniyatlari keng modellash vositalari bilan ta’minlashdir. MATLAB ochiq axitekturaga ega bo‘lganligi sababli mavjud funksiyalarni o‘zgartirish va yaratilgan xususiy funksiyalarni qo‘shish mumkin.
6.1-jadval
-
Elementar funksiya
|
Tavsifi
|
sqrt(x)
|
Kvadrat ildizni hisoblash
|
exp(x)
|
e sonini x darajaga ko‘tarish
|
pow2(x)
|
2 ning x darajasini hisoblash
|
log(x)
|
natural logarifmni hisoblash
|
log10(x)
|
o‘nli logarifmni hisoblash
|
log2(x)
|
2 asosga ko‘ra logarifmni hisoblash
|
sin(x)
|
x radian burchakning sinusini hisoblash
|
cos(x)
|
x radian burchakning kosinusini hisoblash
|
tan(x)
|
x radian burchakning tangensini hisoblash
|
cot(x)
|
x radian burchakning kotangensini hisoblash
|
asin(x)
|
arcsin(x)
|
acos(x)
|
arccos(x)
|
atan(x)
|
arctg(x)
|
Pi
|
pi soni
|
round(x)
|
yaqin butun songa yaxlitlash
|
fix(x)
|
sonning butun qismini hisoblash
|
floor(x)
|
sonning quyi butun qismigacha yaxlitlash
|
ceil(x)
|
sonning yuqori butun qismigacha yaxlitlash
|
mod(x,y)
|
x sonini y ga bo‘lingandagi qoldiqni hisoblash
|
factor(x)
|
sonni tub ko‘paytuvchilarga ajratish
|
isprime(x)
|
agar tub son bo‘lsa, rost qiymat sifatida ko‘rsatish
|
rand
|
teng taqsimlanish qonunni bo‘yicha tasodifiy sonni generatsiyalash
|
randn
|
normal taqsimlanish qonunni bo‘yicha tasodifiy sonni generatsiyalash
|
abs(x)
|
sonning modulini hisoblash
|
MATLAB dasturiy tizimining buyruqlar oynasida foydalanuvchi murojaat qilishda standart buyruqlardan foydalanadi. Dasturda standart buyruqlarining umumiy ko‘rinishi quidagicha:
buyruq (p1, p2……);
bu yerda, buyruq - buyruqning nomi, p1, p2, …. –buyruqning parametrlari.
Buyruq yozilgach natijani olish uchun (odatda MATLAB da buyruq oxirida nuqta vergul yoki ikki nuqta kabi belgilar qo‘yilmaydi) Enter tugmasini bosish (bir marta) yetarli. Har bir buyruq oxirida (;) belgisi bo‘lishi, buyruq bajarilsada, natijani ekranda namoyon etilmaslikni anglatadi va Enter tugmasi bosilganda jimlik qoidasiga asosan buyruq bajarilib, keyingi buyruqqa o‘tiladi. Bunda natija kompyuter xotirasida qoladi.
MATLAB dasturi avtomatik tarzda, hisob natijasini ans nomli argumentga tenglaydi, bu answer inglizcha yechim (javob) degan manoni bildiradi. Shuni e’tiborga olish kerakki ans argumenti faqat oxirgi nomsiz hisobning natijasini saqlaydi. Natija o‘chib ketmasligi uchun, boshqa argument nom berishimiz mumkin.
Misol uchun,
>> x=1+2*3
>> x=
7
Buyruqlarda (%) - foiz belgisi izohlarni yozish uchun xizmat qiladi. Agar buyruqlar qisqa bo‘lsa, ularni bir qatorga vergul bilan ajratgan holda yozib bajariladi.
Agar kiritilayotgan buyruq yetarlicha uzun bo‘lsa, u holda uch nuqta (...) qo‘yilib, Enter ni bir marta bosish orqali keyingi qatordan davom ettiriladi.
MATLAB dasturi buyruqlarni help buyrug‘i bilan chaqirib olinishi mumkin. MATLAB ning asosiy amaliy buyruqlari maxsus kengaytirilgan paketlarida (kutubxonalar), ya’ni Toolboxlarida joylashgan bo‘ladi.
>>help rand
MATLAB tizimi ma’lumotnomasida barcha Toolboxlar, ularning buyruqlari va ularni ishlatishga doir ayrim ko‘rsatma hamda namunaviy misollar berilgan bo‘lib, foydalanuvchini o‘ziga kerakli bilimlarni mustaqil egallashida muhim ahamiyatga ega.
MATLAB da matеmatik ifodalar ustida shakl almashtirishlar
MATLAB tizimi matematik standart funksiyalarni hisoblash bilan bir qatorda shakl almashtirishlarni ham amalga oshirish imkonini beradi. MATLAB da matеmatik ifodalar ustida shakl almashtirish jarayonida quyidagi amallarni bajarish mumkin:
O‘xshash hadlarni ixchamlash;
Ko‘paytuvchilarga ajratish;
Qavslarni ochish;
Ratsional kasrlarni qisqartirish va hokazo.
Bu turdagi belgili hisoblashlarni bajarishdan oldin ifodadagi o‘zgaruvchilar syms yordamchi buyrug‘i (syms inglizcha "symbols", ya'ni "belgilar" so‘zining qisqa ifodasi) orqali e'lon qilinadi. Masalan:
>> syms m n p q;
Ifodalarda qavslarni ochib, ularning hadlarini ixchamlash expand() buyrug‘i bilan amalga oshiriladi. Masalan trigonometrik ifodalar uchun quyidagicha soddalashtirishni amalga oshirish mumkin:
>> syms x y
>> expand(cos(x + y))
>> ans =
cos(x)*cos(y) - sin(x)*sin(y)
Belgili ifodalarni ixchamlash uchun buyruqlar qatoriga quyidagicha kiritiladi: >> syms x
>> p = (x - 2)*(x - 4);
>> expand(p) >> ans =
x^2 - 6*x + 8
Vektorli ko‘rinishda berilgan ifodalar ixchamlanganda tizimning bergan javobi ham vektorli ko‘rinishda bo‘ladi.
>> syms t
>> V = [sin(2*t), cos(2*t)];
>> expand(V)
>> ans =
[ 2*cos(t)*sin(t), 2*cos(t)^2 - 1]
Ko‘phadlarni ko‘paytuvchilarga ajratish uchun esa factor() buyrug‘idan foydalaniladi. Masalan: >> syms x
>> F = factor(x^6-1)
>> F =
[ x - 1, x + 1, x^2 + x + 1, x^2 - x + 1]
Ifodalarni soddalashtirish simplify() yoki simple() buyrug‘i bilan amalga oshiriladi. Masalan:
>> syms x a b c
>> simplify(sin(x)^2 + cos(x)^2)
>> simplify(exp(c*log(sqrt(a+b))))
>> ans =
1
>> ans =
(a + b)^(c/2)
Ifodalar ustida shakl almashtirishlarda zarur bo‘ladigan collect, numden, horner, subexpr, subs kabi bir qator buyruqlari mavjud.
Agar tenglama noto‘g‘ri kiritilsa, MATLAB xatolik xabarini chiqaradi. Misol uchun, quyidagida, ko‘paytirish belgisi tushirib qoldirilsa, quyidagi tenglamada xatolik haqida tizim xatolik e’lonini namoyon etadi.
>> x = 10;
>> 20x
??? 20x
Error: Unexpected MATLAB expression.
Yuzaga kelgan xatolikni to‘g‘rilab kiritish uchun, tenglamani qaytadan kiritish mumkin. Agar tenglama uzun bo‘lsa, foydalanuvchiga qiyinchilik tug‘dirmasligi uchun oldingi kiritilgan tenglama yoki buyruq yuqoriga o‘tish tugmasi ↑ orqali chaqirilishi mumkin.
MATLAB tizimida massiv, matritsalar bilan ishlash
MATLABda barcha ma’lumotlar matritsa yoki massiv ko’rinishida tasvirlanganligi uchun skalyar o’zgaruvchilarni umumiy holda 1x1 o’lchovli massiv (matritsa) deb qarash qabul qilingan. Massiv va matritsalar ustida ishlash, MATLAB da samarali ishlashda muhim ahamiyatga ega.
MATLAB tizimida massivlarning ustun-vektor, qator-vektor va matritsa ko’rinishlaridan foydalaniladi. Massivlarni kiritishda elementlar guruhi kvadrat qavslarga olinib yoziladi. Ustun-vektorning har bir elementi, ya’ni har bir qatori nuqtali vergul bilan ajratiladi.
Vektor - qatorning har bir elementi, ya’ni har bir ustuni vergul yoki bo’sh joy(probel) bilan ajratiladi. Ustun-vektorning har bir elementi, ya’ni har bir qatori nuqtali vergul bilan ajratiladi.
>> p= [1; 0; 8; 3]
a =
1
0
8
3
Qator-vektorning har bir elementi, ya’ni har bir ustuni vergul yoki bo’sh joy (probel) bilan ajratiladi. >> q= [1 2 3] q = 1 2 3
MATLAB dasturiga nxn o’lchamli matritsani kiritish uchun har bir qator tugaganida nuqtali vergul (;) qo’yiladi. >> d= [2 2 1; 5 2 1; 7 5 3]
d =
2 2 1
5 2 1
7 5 3
Maxsus ko’rinishdagi massivlarni quyida berilgan tartibda shakllantiriladi.
ZEROS – nolli massiv shakllantirish. Bunda massiv elementlari 0 dan iborat bo’ladi.
ONES – elementlari 1 dan iborat bo’lgan massiv shakllantirish.
EYE – Birlik matritsani shakllantirish;
RAND – teng taqsimlanish qonuni bo’yicha massiv elementlarini
shakllantirish;
shakllantirish;
CROSS – vektor ko’paytma;
DIAG – matritsaning diagonali elementlarini ajratish;
ROT90 – matritsani 90 gradusga burish;
RESHAPE – matritsa o’lchamlarini almashtirish uchun foydalaniladi.
Kiritilgan massiv elementlariga murojaat qilish massiv nomi kiritilgan indekslar orqali amalga oshriladi. Masalan:
>> m= [4; 3; 7]; >> m(2) ans =
3
MATLAB da nxn o’lchamli matritsaning determinantini hisoblash uchun det buyrug‘idan foydalaniladi. Masalan:
>> f= [2 3; 4 7]
f =
2 3
4 7
>> det(f) ans = 2
MATLAB da kvadrat (nxn) matritsalarning teskari matritsalarini hisoblash uchun inv buyrug‘i ishlatiladi. Masalan:
>> inv(f) ans =
3.5000 -1.5000
-2.0000 1.0000
http://fayllar.org
|