clear x q - 14-Ma’ruza: Matlabda hisoblash ishlarini bajarish. Reja: Matlab dasturida arifmetik amallar

clear x qurinishga egadir. Bu buyruk ishchi fazodan (xotaradan) buyruk
parametri sifatida kursatilgan x matritsani olib tashlaydi.
Izox: clear buyrugining parametri sifatida bir-biridan bushlik belgisi bilan
ajrvtilgan bir nega matritsani kursatish mumkin.Parametrsizsearbuyrugi tezkor
xotiradan BARCHA matritsalarni uchiradi, shuning uchun bu buyrukdan juda
extiyot bulib foydalanish kerak.
Ma’lumotlar turlari MATLABda kuyidagi ma’lumotlar tiplari ishlatiladi:
1).sonli tip
2).satrli va simvolli
3).obyektlar
Zaruriyat bo’lgan da foydalanuvchi ma’lumotlarning uzining turlarni xam
aniklashi mumkin.
Ma’lumotlarning bu turlarini batafsilrok ko’rib chikamiz.
Ma’lumotlarning sonli turi MATLABda ikki turdagi sonlarni ishlatish
mumkin-xakikiy sonlar va kompleks sonlar. Kompleks sonlar a+ib shakpda
tasvirlanadi, bu yerda a va b xakikiy sonlar bulib, kompleks sonning mos ravishda
xakikiy va mavxum kismi deypladi, " i " simvoli (belgisi) esa mavxum 1ni
belgilaydi." i " belgisi urnida " I ", " j " va " J " belgilarani xam ishlatish mumkin.
Ixtiyoriy turdagi sonlar matritsalar, vektorlar va skalyar mikdorlar
(kattaliklar) tarkibiga kirishi mumkin. Kompleks sonni belgilash uchun uni
kursatilgan shaklda yozish kerak (shunga e’tibor berinki, kompleks alomati bo’lgan
" i ", " I ", " j " yoki " J " belgisi kompleks sonning mavxum kismi belgilovchi b
xakikiy sondan chapda yoki ungda bushlik belgisisiz yozilishi kerak: ib yoki bi
kurinishda, lekin ib yoki bi kurinishda emas. Aks xolda MATLAB xato mavjudligi
xakida xabar chikaradi).
Xotirada barcha sonlar ikkili anaklikda saklanadi. Sonlar anaklanishi mumkin
bo’lgan interval chegaralari, xamda mashina anakligi realmin, realmax va eps
tizimli uzgaruvchilar orkali beriladi.
Satrlar va belgilar (simvollar) MATLABda satrlar deyilganda apostroflar yoki
kushtirnoklar bilan chegaralangan belgilar ketma-ketliklari tushinladi. Masalan,
a=‘gwerty’
b=‘MATLAB’
ifodalar sartlarga misol bula oladi.
Bir necha satrlarnibirlashtirish uchun kvadratli " []’ " kavslar belgilaridan
foydalanish mumkin (bu belgilar matritsalarni anaklash uchun xam ishlatiladi).
Masalan,
str1=[‘This ‘,’is ‘,’string’]
ifodasi
str1=‘This is string’
satrini beradi.
Satrlarni yaratish va kayta ishlash uchun MATLABda mavjud bo’lgan ba’zi-bir
funksiyalar:
blanrs (n) -n ta bushlik belgisidan iborat (ya’ni bugi) satrni
kaytaradi;
int2str (n) -butun sonni satrga aylantiradi;
num2str (n) -xakikiy sonni satrga aylantiradi;
deblanr (s)-kursatilgan S satrda keraksiz bushliklarni olib
tashlaydi;
index (s,t)-kursatilgan S satrda t satr osti birinchi marta paydo buladigan
pozitsiyani kaytarib beradi(izox:bu funksiyani satrlar massivlarga ko’llab
bulmaydi).Agar index (s,t) funksiyaning argumenti sifatida berilgan t satr osti
mavjud bulmasa, u
xolda 0 soni kaytariladi.
rindex (s,t)-kursatilgan S satrda t satr osti oxirgi marta paydo bo’ladigan
pozitsiya kaytariladi (izox: bu funksiyani satrlar massivlari uchun kullab bulmaydi).
Agar berilgan t satr osti mavjud bupmasa, u xolda 0 soni qaytariladi;
strcmp (s1,s2)-agar kursatilgan ikkita s1 va s2 satrlari bir xilbulsa, 1 rakami
kaytariladi. Aks xolda 0 rakami qaytariladi.
strcmp (s,x,y)- X satr ostining S satrdagi brcha kurishlarini u satriga
almashtiradi.
Satirlar kurinishida yozilgan sonlarni bir sanok tuzmidan ikinchi sanok
tizimiga utkazuvchi funksiyalar xakida aloxida gapirshi lozimdir. Bunday
funksiyalarga kuyidagilar kiradi:
bin2dec (s)-satr kurini-shida tasvirlangan ikili songa mos
keluvchi unli sonni kaytaradi;
dec2bin (n)-berilgan manfiy bulmagan nli songa mos keluvchi
ikkili sonni kaytarib beradi, satr kurinishida;
dec2hex (n)-berilgan manfiy bulmagan unli songa mos keluvchi
un oltilik sonni kaytarib beradi, satr
kurinishida;
hex2dec (s)-satr kurinishida tasvirlangan un oltilik songa
mos keluvchi unli sonni kaytarib beradi;
str2num (s)-S satrni songa aylantiradi (kanday kilib??).
4. Matritsalarustiga amallar. Maxsus matritsalar.
MATLABda matritsalar ustida yukorida kurib chikilgan arifmetik amallardan
tashkari yana maxsus amallarni xam (ya’ni, shalk almashtirishlarni). Bu
operatsiyalarni batafsil kurib chikamiz.
Matritsalar transpozitsiyasi.
Transponirlangan matritsani xosol kilish uchun matritsada satrlar bilan
ustunlar urinlarini almashtirish kerak. MATLABda matritsani transpozitsiyalash
amalini apostrof " .’ " operatori bajaradi. G=[135 ; 246] matritsa ustida G=[135 ;
246] transpozitsiyalash operatori bajarilsa,
G=[12
34
56]
matritsasi xosil bulad.
Shunga etibor berish kerakki, transpozitsiyalash amali m x n ulchovli matritsa
tuzadi.
4.2 Massivlarni birlashtirish.
Bir necha massivlarni birta massivga birlashtirish uchun
C=cat (, A1,A2,…)
buyrugi ushlash buyruk ishlatiradi. Yukorida keltirilgan buyruk A1, A2 va
xokazo massivlarni kursatilgan ulchov buyicha birlashtiradi.
Misol: cat (2,A,B) buyrugi [A,B] buyrugiga teng kuchlidir,
cat (1,A,B) buyrugi esa [A : B] buyrugiga teng kuchlidir.
Izox: ruyxatlarni tuzishda. (nukta) belgisidan foydalanish (masalan cat
(,C{ : }) yoki cat (, C.)) sonli massivlarni saklagan
tarkiblashtirilgan matritsa yacheykasini birlashtirishning (konkatenatsiyalashning)
kulay usulidir.
Matritsani burish.
Matritsa ustida bajarilayotgan boshka bir amal (manipulyatsiya) matritsani
bulish amalidir. Bu amalni bajarsh uchun MATLABda ikkita buyruk mavjud:
B=fliplr (A)
va
B=flipnd (A)
buyruklari.
B=fliplr (A) buyrugi A matritsani chapdan ung yunalishga burish amalini
bajaradi, B=flipnd (A) buyrugi esa matritsa pastdan yukori tomonga (teskari emasli
??) burish amalini bajaradi.
Misol:
A=142536
matritsa berilgan bulsin. B=flipnd (A) buyrugi elementlari3 6 2 51 4
bo’lgan V matritsani yaratadi (v kamande flipnd (A) dlya konechnogo rezultata
poryadok deystviya snizu vverx ili sverxu vniz ne vajno. Konechniy rezultat budet
odin i tot je. Budut otlichatsya mejdu soboy lish konechniye rezultati).
B=fliplr
(A)
buyrugi
elementlari415263bo’lgan
V
matritsani
yaratadi.4.4Matritsani90 0 gayaratadi.Matritsani 900 ga burish imkoniyati borligi
xakida aloxida tuxmalish lozim. Buning uchunB = rot 90 (A)
Buyrugidan foydalanish kerak. Bu buyruk kursatilgan A matritsani soat
strelkasi yurishiga karshi tamonga 900 ga buradi.
Misol:
X=
123
456
789
matritsa berilgan bulsin. Y= rot 90 (X) buyrugi bajarilishi natijasidaY=
369
258
147
kurinishdagi Y matritsa xosil buladi.
Yukorida aytib utilgan maxsus operatsiyalardan tashkari MATLABda maxsus
matritsalar tuzish imkoniyati xam bor, ya’ni avvaldan berilgan tuzilmaga ega
bo’lgan va elementlarini tashkil etish koidalari avaldan ma’lum bo’lgan matritsalar
tuzish imkoniyati bor.
Bu maxsus matritsalarni shartli ravishda iki guruxga bulish mumkin:
a).teng elementlarga ega bo’lgan sodda matritsalar;
b).klassik matematikada kullaniladigan maxsus matritsalar.
Maxsus matritsalar yaratish uchun aloxida buyruklar ishlatiladi va bu
buyruklar xakikatda avvaldan belgilangan zarur turdagi matritsani yaratadi.
Avvaldan belgilangan turdagi yoki avvaldan belgilangan tarkibli matritsalarni
yaratish buyruklarini kurib chikamiz.
eye(m,n) - bu buyruk mxn ulchamli identik matritsani (ya’ni bosh
diagonaldagielementlari 1 lardan, boshka elementlari esa 0 lardan iborat
matritsani)yaratadi;
linspace(a,b[,n]) - bu buyruk n elementli va elementlari [a;b] kesmada tekis
taksimlangan matritsa yaratadi. Agar n parametri kursatilgan bulmasa, u xoldanga
aytilmagan tartibga 100 kiymatiberiladi;
ones(m,n) - barcha elementlari 1dan iborat bo’lgan mxn ulchamli matritsa
yaratadi;
rand(m,n) -elementlari (0;1) intervalda tekis taksimlangan tasodifiy
sonlardan iborat bo’lgan mxn ulchovli am matritsa yaratadi;
zeros(m,n) - borcha elementlari 0 lardan iborat bo’lgan mxn ulchamli matritsa
yaratadi;
: (ikki nukta belgisi) - elementlari anik[a;b] kesmada (intervalda) berilgan
vektor yaratadi.
": " Operatorini ishlatishga misol: F=23:0.7:45 - elementlari [23;45] intervalda
(kesmada) 0.7 kadam bilan tekis taksimlangan A vektorini yaratadi.
hilb(n) - n - tartibli Gilbert matritsasini yaratadi(Gilbert matritsasi elementlari
H(i,j)=1/(i+j-1) formula bilan aniklanadi);
invhilb (n) - teskari Gilbert matritsasini yaratadi;
magic (n) - "magik kvadrat"dan iborat bo’lgan n - tartibli matritsa yaratadi.
Bundan matritsada satr elementlariningyigindisi ustun elementlari yigindisiga
tengdir;
pascal (n) - Paskal matritsasini yaratadi. Paskal matritsasi - bu elementlari
Paskal uchburchagi butun sonlaridan iborat bo’lgan simmetrik musbatmatritsadir.
Olingan natijalarni taxlil kilish jarayonida foydalanuvchiga uni kiziktiradigan
matritsa (yoki vektor)xakida anik (ma’lum) ma’lumotlar olish zaruriyati bulishi
mumkin. MATLABda bundan ishlarni bajaradigan bir - necha maxsus funksiyalar
mavjud:
size(A) - berilganmatritsa ulchamlarini kursatuvchi ikkita elementdan tashkil
topgan vektor - satrni kaytarib beradi: birinchi - element A matritsadagi satrlar sonini
kursatsa, ikkinchisi - ustunlar sonini kursatadi;
length(A) - A vektor uzunligini kaytaradi;
ndims(A) - A matritsadagi ulchamlar sonini kaytaradi;
isempty(A) - mantikiy predikat bulib, berilgan massivni "bush"ligini
tekshiradi: agar massiv "bush" bulsa (ya’ni bironta xam elementi bulmasa), u xolda
bu funksiya "1" rakamini kaytaradi, aks xolda - "0" rakamini kaytaradi;
isequal(A,B) - mantikiy predikat, berilgan ikkita massivning uzaro
ekvivalentliginitekshiradi. Agar ikkita massiv bir xil ulchamlarga va bir xil tarkibga
ega bulsa, ular ekvivalent massivlar xisoblanadi. Agar massivlar ekvivalent bulsa, u
xolda kurilayotganfunksiya "1"ni kaytaradi, istalgan boshka xolda"0"ni kaytaradi;
isnumeric(A) - mantikiy predikat, berilgan A massivning turini tekshiradi.
Agar berilgan massiv sonli massiv bulsa, funksiya "1"ni kaytaradi, barcha boshka
xollarda esa "0"ni kaytaradi.
Tariflarvaatamalar.
MATLAB - bu MatnWorks kompaniyasi tomonidan ishlabchikilgan va
ixtiyori murakablikdagi matematik va texnik masalarni yechishga muljallangan
kasbiy tijorat dasturlar paketi.
Matritsa - bu ma’lum tartibdagi satrlar va ustunlar kurinishida tashkil etilgan
sonli kiymatlar tuplamidir.
Vektor-ustun - bu (nx1) matritsa kurinishida takdim etilgan n -ulchovli (yoki
n - elementli) vektordir. Vektor-satr - bu (1xn) matritsa kurinishida takdim etilgan n
- ulchovli (yoki n - elementli) vektordir.
Yangibuyruklar.
matlab, help, lookfor, who, whos, diary, quit, exit, save, type, wavemenu,
load, clear.
|