14-Ma’ruza: Matlabda hisoblash ishlarini bajarish. Reja: Matlab dasturida arifmetik amallar
Download 207.3 Kb. Pdf ko'rish
|
14-Matlabda hisoblash ishlarini bajarish.
- Bu sahifa navigatsiya:
- Ma’lumotlarning bu turlarini batafsilrok ko’rib chikamiz
- 3.Matritsa, vektor-satr va vektor-ustun degonda nimanitushunasiz 4. SIMULINKva STATEFLOWdasturlari vazifalarini tavsiflab bering
- 6. Uzgaruvchi(lar)ni xotiradan kanday olib tashlasa buladi 7. MATLABda ma’lumotlarning kanday turladi mavjud
- 9. Matritsa yoki massiv tavsifnoma (xarakteristika)larini aniklash uchun kullanilishi mumkin bo’lgan barcha predikat va funksiyalarni keltiring.
14-Ma’ruza: Matlabda hisoblash ishlarini bajarish. Reja: 1. Matlab dasturida arifmetik amallar 2. Matlab dasturida matrissalar 3. Matlab daturida matritsani olib tashlash (MATLABning yukorida eslatib utilgan xar bir kursatmasian keyin [Enter] tugmasi bosilai).E’tibor berish kerakki, qavs belgilari konlar(naborini) ochik (boshlash) va yopish (tugatish) uchun ishlatilishi lozim. Yana shunga xam e’tibor kerakki, bushlik va vergul (,) belgilari matritsa elementlarini anaklavchi mayonlar orasiagi ajratuvchilar sifatida ishlatilishi mumkin. Tenglik belgisi, unar belgisi (unarniy znak) va kavs belgilari ortikcha xisoblanadi; lekin ba’zan bu belgilar instruksiyani (kursatmalarni) ukishni osonlashtiradi. Elementlari u(1,1)=0,u(1,2)=u(1,3)=2,u(1,4)=3,u(2,1)=5,u(2,2)=-3,u(2,3)=6 va u(2,4)=4 bo’lgan 2x4 ulchovli matritsa ushbu u=[0223-364]
yoki u=[0223;5-364] kurinishlarda aniklanishi lirikin. Matritsa sartlari birta satrda yozilgan xolda, ular kompyuterga kiritilishi jarayonida bir-biridan nuktali vergul (;) bergisi yordamida ajratiladi. Matritsa elementlari elementlarning tegishli joylariga joylashtirilgan algebralik ifodalar bilan xam aniklanishi mumkin. Shunday kilib (Yaxshisi; Masalan), a=[ sin(pi/2)sgrt(2)3+46/3exp(2) ] ifoda ushbu a=[ 1.00001.41427.00002.00007.3891 ] matritsa aniklaydi. Matritsa dastlabki berilgnmatritsani kengaitirish yuli bilan xam anaklanishi mumkin. Avvalgak aniklanishi x matritsadan foyda\lanib, x1=[x58] ifodani yozamiz. Bu ifodaning natijasi sifatida x1=[24-158] matritsasi xosil buladi. x(5)=8 ifoda
x=[24-108] matritsani xosil kiladi. Shunga e’tibor berish kirakki, matritsaning x(4) elementi oshkor xolda aniklanmagan edi va unga 0 kiymat berildi. U matritsaning yukorida berilgan ta’rifidan foydalanilsa, C = [4563] Z = [y ; c] ifodalar Z=[0223-364563]
kurinishga ega bo’lgan Z matritsani yaratadi. Shunga e’tibor berinchki, xar safar matritsa aniklanib [Enter] tugmasi bosilganda, MATLAB ekranda natijani aks ettiradi. Bu "aks sado"ni bekor kilish uchun ifodadan keyin ENTERni bosishdan oldin " ; " belgini kuyish mumkin; Z = [ y;c ]; Matritsani diskdagi fayllardan yuklash. Matritsani ma’lumotlarni (berilganlarni) diskdagi fayllardan yuklash yuli bilan shakllantirish mumkin. Bu ishni load buyrugi yordamida bajarishmumkin. Tegishli buyruk formati ushbu load Agar buyruk parametrlari tashlab koldirilgan bulsa, ma’lumotlar matlab.mat nomli fayldan yuklanadi. Yuklanayotgan ma’lumotlar ASC|| matnli formatda xam, ikili formatdan xam (MATLABning ichki formati) saklab kuyilishi mumkin. Shuningdek, matritsalarni fayllardan xotiraga tanlab yuklash imkoniyati xar bor. Bunday maksad uchun load buyrugining ushbu load formati ishlatiladi. Bu buyrukka binoan (buyicha) buyrk parametrlari sifatida berilgan x, y va z matritsalari kursatilgan fayildan ishchi fazaga (soxaga) (xotiraga) yuklanadi. Sonlar ketma-ketligini MATLABning uzining vositalari yordamida yaratish. Matritsani generatsiya orkali yaratish uchun maxsus " : " operatoridan foydalanish mumkin. Agar ikkita butun son " : " belgisi bilan ajratilgan bulsa. MATLAB bu ikki butun son orasidagi barcha butun sonlarni yaratadi. Masalan, a=1:8
buyrugi a=[12345678] yaratadi vektor-satrni. Agar uchta butun yoki butun bulmagan sonlr uzoro " : " beligsi bilan ajratilgan bulsa, (masalan, 0.0:.2:1.0), u xolda urtadagi son kadam kiymati, birinchi va uchinchi sonlar esa, mos ravishda, chap chegara va ung chegara deb talkin kilinadi. Masalan, v=0.0:.2:1.0 buyruk v=[0.0.2.4.6.81.0] vektor-satrni yaratadi. ":" operatorini mavjud matritsadan vektor yaratish uchun xam ishlatish mumkin. Masalan, agar x=[26817-25-6] bulsa, u xolda u=x( :,1) buyrugi y=[20-2] vektor-ustunni yaratadi. uu=x( : ,2) buyrugi
yy=[615] vektor-ustunni yaratadi. Z=x(1,:) buyrugi
z=[268] vektor-satrni yaratadi. " : " operatori katta matritsalardan kichik matritsalarni ajratib olish uchun foydalidir. Agar 4x3 ulchovli matritsa c=[-100001-10002] kabi anaklangan bulsa, u xolda d1=c(: , 2 : 3) buyrugi 2-ustundan tartib 3-ustungacha barcha satrlar elementlaridan foydalanib yangi matritsani tuzadi. Natijada 4x2 ulchovli d1=[0010-10 02] kurinishdagi matritsa tuziladi. d2=c(3:4,1:2) buyrugi ulchov 2x2 bo’lgan , satrlari s matritsaning 3- va 4-satirlari bilan, ustunlari s matritsaning 1- va 2-ustunlari bilan anaklangan matritsani yaratadi: d2=[1-100] Matritsani olib tashlash. Bu bulimda gap MATLABda ishlash jarayonida ishchi fazodan (xotiradan) matritsalarni (yoki uzgaruvchilarni) olib tashlash xakida ketadi (diskdagi fayllarda saklangan matritsa va uzgaruvchilarni olib tashlash dasturlashtirish nuktan nazaridan kizik emas, chunki bu ish operatsion tizim vasitalari yerdamida bajarishi mumkin). Matritsani ishchi fazodan olib tashlash uchun clear buyrugi ishlatiladi va bu buyrukning farmati
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 ( 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 ( 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. Nazoratsavollri. 1.MATLAB nima, uning vazifalari nimadan iborat. MATLABnikanday yuklasa buladi (turli operatsion tizimlar)? 2.help buyrugining mumkin bo’lgan formatlarini kaltiring va ularning vazifalarini tushuntiring. 3.Matritsa, vektor-satr va vektor-ustun degonda nimanitushunasiz? 4. SIMULINKva STATEFLOWdasturlari vazifalarini tavsiflab bering 5. MATLABda matritsalar yaratish usullarini sanab bering va xar bir usunli kullashga misol keltiring 6. Uzgaruvchi(lar)ni xotiradan kanday olib tashlasa buladi? 7. MATLABda ma’lumotlarning kanday turladi mavjud? 8. Ma’lum turdagi (yoki ma’lum tarkibdagi) matritsalarni yaratish uchun kullaniladigan barcha buyruklarni keltiring 9. Matritsa yoki massiv tavsifnoma (xarakteristika)larini aniklash uchun kullanilishi mumkin bo’lgan barcha predikat va funksiyalarni keltiring. Download 207.3 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling