MATLABda ma’lumotlarni va fayllarni toifalarga bo’lish va xossalari.

![Kirish.
MATLAB tizimi - kompyuterda turli yo`nalishdagi: matematika, fizika,
mexanika, boshqaruv va muhandislik masalalarini yechish, turli xil energetik,
mexanik va dinamik tizimlarni modellashtirish, loyihalash, tavsiflash va tahlil
qilish masalalarining aniq, tez va samarali hal etish uchun mo`ljallangan tizim va
turli xil sohali foydalanuvchilarga mo`ljallangan dasturlash tilidir.
MATLAB dasturlash tili sifatida 1970 - yillarning oxirida Kliv Mouler
(Cleve Mouler) tomonidan yaratilgan. MATLAB atamasi inglizcha Matrix
Laboratory so`zlaridan kelib chiqqan bo`lib, matritsa Tajribasi degan ma`noni
anglatadi [1]. MATLABda matematik hisoblashlar, modellash algoritmlarini
yaratish, ma`lumotlarni tahlil, tadqiq qilish hamda vizuallashtirish, ilmiy va
injinerlik grafikasi va ilovalarni loyihalash va boshqalarda foydalanish mumkin.
MATLAB yordamida aniq masalalarni yechish boshqa skalyar dasturlash
tillaridagiga (masalan, C++) nisbatan bir necha marta tez bajariladi. MATLABning
boshqa dasturlash tillaridan farq qiluvchi xususiyati shuki, u o`z ishida
ma`lumotlarni matritsalar shaklida tashkil etish usulidan foydalaniladi.
MATLAB tarkibiga buyruqlar interpretatori, grafik qobiq, tahrirlagich,
buyruqlar kutubxonasi, kompilyator, analitik hisoblashlarni o‘tkazish uchun Maple
paketining simvol yadrosi, C/C++ dagi MATLAB matematik kutubxonasi,
hisobotlar generatori, instrumentlarga boy panel (Toolboxes) kiradi.
MATLAB interfeysi zamonaviy qoidalarga to‘la javob beradi. U ko‘p oynali
va turli tizim komponentlariga to‘g‘ridan to‘g‘ri kirish xuquqiga ega Instrumentlar
qatori (paneli)dagi quyidagi tugmalarga e’tiborni qaratamiz: NewM-file - yangi M-
fayl yaratish(); OpenFile - matlab fayllarini yuklash(saklash) uchun oyna ochish;
Simulink - Simulink kutubxona brauzeri oynasini ochish; Help - Ma’lumotlar
oynasini ochish.](/data/documents/7870ce36-9e10-4333-883b-cea518714551/page_2.png)



![-obyektlar (matritsalar);
Sonli toifadagi berilgan ikki xil haqiqiy va kompleks sonlar bo’lishi
mumkin. Haqiqiy sonlar xuddi matematikadagi kabi ishlatiladi. Butun va kasr
qismlari nuqta(.) bilan ajratiladi. Kompleks sonlar esa, avval eslatganimizdek a+ib
yoki a+bi ko’rinishida yoziladi, bu yerda a va b mos ravishda kompleks sonning
haqiqiy va mavhum qismlari deyiladi, i-belgi (yoki I, J, j) mavhum birlikni
bildiradi(i^2=-1). Kompleks sonni bildiruvchi I belgi b ning chap yoki o’ng
tomoniga probelsiz yozilishi kerak, aks holda Matlab tizimi xatolik haqida
gapiradi.
Umuman, ixtiyoriy toifadagi son matritsalarni, vektorlarni yoki skalyar
miqdorlarni elementlari (qiymatlari) bo’lishi mumkin. Xotirada barcha sonlar ikki
karrali aniqlikdagi son ko’rinishida saqlanadi. Sonlar aniqlangan oraliqlarning
chegaralari hamda mashina aniqligi tizim o’zgaruvchilari eps, realmax va realmin
orqali beriladi.
Matlabda apostroflar ichiga joylashtirilgan simvollar ketma-ketligi qator deb
tushiniladi. Qatorlarga misol qilib quyidagilarni keltirish mumkin:
a=’Matlab’
b=’function’
Bir nechta qatorlarni birlashtirish uchun xuddi vector va matritsalar kabi
([…]) kvadrat qavslar ishlatiladi. Masalan,
str1=[‘This’,’is’,’string’],
str2=[‘Sistema’,’Matlab’]
kabi ifodalar mos ravishda quyidagi simvolli qatorlarni beradi.
str1=‘This is string’
str2=‘Sistema Matlab’
Obyekt(matritsa)lar haqida avvalgi darslarimizda yetarlicha ma’lumotlar
berilgan.
Qatorlarni xosil qiluvchi va ularga ishlov beruvchi Matlabning ba’zi
funksiya(komanda)larini keltirib o’tamiz:
blanks(n)- n ta probeldan iborat qatorni bildiradi;](/data/documents/7870ce36-9e10-4333-883b-cea518714551/page_6.png)

![Demak, ishchi fayllar- Matlab komandalar ketma-ketligini o’z ichiga oluvchi
oddiy fayllardir. Ishchi fayllar matn(tekst) taxririda va formatida tayyorlangan
bo’lishi shart va Matlab yuklatilgan katalogda saqlangan bo’lishi kerak. Fayl nomi
ixtiyoriy faylga berish mumkin.
.m kengaytmali nom bo’ladi. Ishchi m-fayl yaratishga doir misol ko’ramiz.
Quyidagi:
y=sin(x) , xє[-7Π; 7 Π]
Funksiyaning grafigini chizilsin. Buning uchun ishchi m-fayldan
foydalanamiz . XXplot.m nomli fayl chaqiramiz va unda Matlabning matnli tahrir
va formatda quyidagicha komandalar ketma-ketligini kiritamiz:
% o dan boshlab kengayuvchi sinusoida grafigi
% funksiya ko’rinishi y=sin(x)
x=-7*pi:pi/50:7*pi;
y= sin(x);
plot(x,y),…
title(‘kengayuvchi sinusoida’),…
xlabel(‘x’),…
ylabel( ‘y’),…
text(2,2,’y= sin(x)’),…
grid on](/data/documents/7870ce36-9e10-4333-883b-cea518714551/page_8.png)

![Yangi funksiyani tashkil qiluvchi komanda va funksiyalar har doim matnli
m-fayllarda joylashgan bo’ladi. Yangi yaratilgan, bir nechta komandalar ketma-
ketligidan iborat funksiyalar o’zining nomiga, lokal xarakterdagi o’zgaruvchilarga
ega bo’lib, unga parametrlar orqali murojat qilish mumkin bo’ladi.
Funksiya yaratib, saqlanayotgan m-faylning nomi alifbo belgilardan
boshlanib *. m kengaytmasiga ega bo’ladi. Kengaytmasiz m-faylning nomi bu
Matlabda murojat qilish mumkin bo’lgan fayl funksiya yoki ishchi faylning
nomidir.
Funksiya yaratilayotgan m-faylning boshlang’ich qatorlari matnli
sharhlardan iborat bo’lib, m-faylda yaratilayotgan funksiyani mohiyatini ochib
beruvchi bo’ladi. Undan keyingi birinchi qatorda aniqlangan funksiya nomi m-
faylning kengaytmasiz nomi bilan bir xil bo’lishi kerak. Umumiy ko’rinishida m-
fayldagi funksiya har doim function so’zidan boshlanib, quyidagicha bo’ladi:
Function y=<funksiya nomi>.
Funksiya nomidan keyin oddiy qavs ichiga argumentlar (parametrlar)
vergul(,) bilan ajratib yoziladi. Masalan, diskdagi sred.m nomli fayldagi quyidagi
kod:
function [y, sr, sd]=sred(x)
n=length(x);
sr=sum(x)/n;
sd=sqrt(sum(x-sr).^2/n);
y=(sr+sd)/2;
sred nomi bilan aniqlangan va x vektor koordinatalari o’rta arifmetigini (sr),
standart chetlanishini (sd) hamda ularning o’rtasini (y) hisoblovchi yangi
funksiyani aniqlaydi. Funksiya ichidagi barcha o’zgaruvchilar lokal xarakterga
egadir, sum(x)-esa vektor koordinatalari yig’indisini hisoblovchi Matlab
funksiyasidir. M-fayl funksiya ichidagina ko’rinadigan funksiya osti funksiyasi
ham bo’lishi mumkin. Bu funksiya osti funksiyasi ham asosiy fayl funksiya
komandalardan keyin yozilib, u ham xuddi asosiy fayl funksiya kabi aniqlanadi.
Masalan, srg funksiya sred fayldagi funksiya osti bo’lsa, kod](/data/documents/7870ce36-9e10-4333-883b-cea518714551/page_10.png)
![>>function [y, sr, sd]=sred(x)
>>n=length(x);
>>sr=srg(x,n);
>>sd=sqrt(sum((x-srg(x,n)).^2)/n);
>>function sr=srg(x,n)
>>sr=sum(x)/n;
Agar Matlab funksiyani nomi bo’yicha topa olmasa, u holda shu nomdagi
faylni qidiradi. Funksiya topilgandan keyin, uni keyinchalik ishlatish uchun Matlab
tizimi funksiyani xotiraga kompelyatsiya qiladi.
Funktsional m-fayldan chaqirilsa, Matlab funksiyani analiz qiladi va
xotirada saqlab qo’yadi. Bu funksiya, xotira clear buyrug’i bilan tozalanmaguncha
xotirada saqlanib turadi.
Matlab katalogidagi barcha trigonometrik funksiyalar radian argumentlarda
hisoblashni bajaradi. Endi biz graduslarda berilgan ixtiyoriy burchakning sinusini
hisoblab beruvchi fayl funksiya hosil qilish misolini ko’ramiz. Bunda, shunga
e’tibor berish kerakki, funksiya nomi fayl nomi bilan bir xil bo’lishi kerak. Bu
funksiya uchun sing(x) funksiya nomi qilib olamiz. Masalani hal qiluvchi kod
quyidagicha bo’ladi:
>>%Bu funksiya graduslarda berilgan
>>%argumentning sinusini hisoblab beradi
>>Function y=sing(x)
>>y=sin(x.*pi./180)
Endi tizim ichida x ning aniq gradus qiymatlari bilan sing(x) ga murojat
qilsak, unga qiymat chiqarib beriladi. Yuqoridagi o’xshash misollardan bir
nechtasini mustaqil bajaring.
M-fayl funksiya quyidagi xossalarga ega bo’ladi:
ushbu function e’lon so’zi bilan boshlanadi, undan keyin o’zgaruvchining
nomi va chiqish parametrlarning ro’yhati ko’rsatiladi;
Funksiya o’z qiymatini qaytaradi va uni matematik ifodalarda
nomi(parametrlar ro’yhati) ko’rinishida ishlatish mumkin;](/data/documents/7870ce36-9e10-4333-883b-cea518714551/page_11.png)




Mavzu: MATLABda ma’lumotlarni va fayllarni toifalarga bo’lish va xossalari. Reja: I. Kirish. II. Asosiy qism. 1. MATLAB tizimini vazifalari va imkoniyatlari. 2. Tizim k е ngaytmasi. Yordam tizimi. 3. MATLABda ma’lumotlar toifalari. 4. Fayllarning toifalari. M-fayl. 5. Ishchi fayllar.Stenariy fayllarning tuzilishi va xossalari. 6. Foydalanilgan adabiyotlar.
Kirish. MATLAB tizimi - kompyuterda turli yo`nalishdagi: matematika, fizika, mexanika, boshqaruv va muhandislik masalalarini yechish, turli xil energetik, mexanik va dinamik tizimlarni modellashtirish, loyihalash, tavsiflash va tahlil qilish masalalarining aniq, tez va samarali hal etish uchun mo`ljallangan tizim va turli xil sohali foydalanuvchilarga mo`ljallangan dasturlash tilidir. MATLAB dasturlash tili sifatida 1970 - yillarning oxirida Kliv Mouler (Cleve Mouler) tomonidan yaratilgan. MATLAB atamasi inglizcha Matrix Laboratory so`zlaridan kelib chiqqan bo`lib, matritsa Tajribasi degan ma`noni anglatadi [1]. MATLABda matematik hisoblashlar, modellash algoritmlarini yaratish, ma`lumotlarni tahlil, tadqiq qilish hamda vizuallashtirish, ilmiy va injinerlik grafikasi va ilovalarni loyihalash va boshqalarda foydalanish mumkin. MATLAB yordamida aniq masalalarni yechish boshqa skalyar dasturlash tillaridagiga (masalan, C++) nisbatan bir necha marta tez bajariladi. MATLABning boshqa dasturlash tillaridan farq qiluvchi xususiyati shuki, u o`z ishida ma`lumotlarni matritsalar shaklida tashkil etish usulidan foydalaniladi. MATLAB tarkibiga buyruqlar interpretatori, grafik qobiq, tahrirlagich, buyruqlar kutubxonasi, kompilyator, analitik hisoblashlarni o‘tkazish uchun Maple paketining simvol yadrosi, C/C++ dagi MATLAB matematik kutubxonasi, hisobotlar generatori, instrumentlarga boy panel (Toolboxes) kiradi. MATLAB interfeysi zamonaviy qoidalarga to‘la javob beradi. U ko‘p oynali va turli tizim komponentlariga to‘g‘ridan to‘g‘ri kirish xuquqiga ega Instrumentlar qatori (paneli)dagi quyidagi tugmalarga e’tiborni qaratamiz: NewM-file - yangi M- fayl yaratish(); OpenFile - matlab fayllarini yuklash(saklash) uchun oyna ochish; Simulink - Simulink kutubxona brauzeri oynasini ochish; Help - Ma’lumotlar oynasini ochish.
1.MATLAB tizimini vazifalari va imkoniyatlari. Matlab – mat е matik va ilmiy-t е xnik xisoblashlarni amalga oshirishga mo’ljallangan eng qadimiy, uzoq vaqtlar davomida ishlab chiqilgan va t е kshirilgan, avtomatlashtirilgan tizimlardan biri bo’lib, u matritsa va matritsaviy amallarni k е ngaytirilgan talqini ustiga qurilgan. Mazkur tushuncha uning nomida o’z aksini topgan, ya'ni MATLAB – matrix laboratory – matritsali laboratoriya. Ma'lumki, juda ko’plab dasturlar va ular ustida amallar bajarish sikllar orqali amalga oshiriladi. Bu esa dasturni ishlashini s е kinlashtiradi va ba'zi bir amallarni bajarishni dasturlash tillarida ko’p o’lchamli, xususan, ikki o’lchamli, ya'ni matritsalarni e'lon qilishni murakkablashtiradi. Matlabda asosiy ob' е kt sifatida matritsalardan foydalanish sikllar sonini k е skin kamaytiradi. 2. Tizim k е ngaytmasi. Yordam tizimi. MATLAB dasturchilarga quyidagi sohalardagi paketlar kengaytmasini taqdim etdi: harbiy sanoat majmualari, energetika, aerokosmik va avtomobil qurilishi va b. MATLAB+Simulink tipik kompleksi katta qiymatdagi MATLAB paketlar instrumentlar “qutisi” Toolboxes va visualmo’ljallangan blokli imitatsion modellashgan Simulink dinamik tizimini imkoniyatlarni kengaytiruvchi Blocksets dan iborat. Simulink paketi Matlab bilan birga o’rnatiladi. 2-rasm. MATLAB + Simulink tizimi tuzilishi
Simulink paketu to’grisida keyingi darslarimizda batafsil ma’lumot berib boramiz. Yordam tizimi >> help; buyrug’i yoki menu panelining help bo’limidan olish mumkin. Help bo’limi Matlab so’rovnoma qismi va Matlab dasturi ishlab chiqarish haqida ma’lumot beradi. Help komandasi b е rilgandan k е yin ekranda formatida yordam faylining mundarijasi chiqadi. K е rakli bo’limni tanlab help komandasi kiritiladi. Shundan k е yin ekrandagi shu bo’limdagi funksiya, o’zgaruvchi va op е ratorlarning ro’hati chiqadi. Konkr е t funksiya bo’yicha yordamni olish help komandasidan foydalaniladi. Agar biror kalit so’z bizga ma’lum bo’lsa qidirayotgan narsamizni quyidagi buyruq yordamida topamiz: lookfor
3. Matlabda ma’lumotlar toifalari. Matlab tizimidagi dasturlar matn formatidagi m-fayllardir. Matlab tizimida dasturlash tili quyidagi vositalarga ega: Har xil turdagi ma’lumotlar; Konstantalar va o’zgaruvchilar; Operatorlar(matematik ifodal а rning operatorlarini ham o’z ichiga oladi) ; Biriktirilgan komanda va funksiyalar; Foydalanuvchining funksiyalari; Boshqaruvchi strukturalar; Sistema operatorlari va funksiyalar; Dasturlash tilining kengaytirish vositalari. Matlab tizimida dasturlash kodlari yuqori darajali tild а yoziladi va ushbu til tipik interpretator bo’lib hisoblanadi, ya’ni dasturning har xil instruksiyasi darhol taniladi va bajariladi. Hamma instruksiyalarni, ya’ni to’liq dasturni kompilyatsiya qilish etapi mavjud emas. Matlab bajariluvchi dasturlarni yaratmaydi. Dasturlar faqat m-fayllar ko’rinishida mavjud bo’ladi. Dasturlarning ishlash uchun Matlab muhiti zarur. Lekin М atlabda yozilgan dasturlarni C va C++ dasturlash tillariga translayatsiya qiluvchi kompelyatorlar yaratilgan. Ular Matlab muhitida tayyorlangan dasturlarni bajariluvchi dasturlarga aylantirish masalasini hal qilish imkoniyatini beradi. Matlab tizimi uchun kompilyatorlar mustaqil dasturiy vositalardir. Shuni esda tutish kerakki, Matlabning hamma instruksiyalari ham kompilyatsiya beravermaydi, ya’ni kompilyatsiyadan oldin bunday dasturni qayta ishlash talab qilinadi. Kompilyatsiya qilish dasturlarning bajarish tezligi 10-15 martagacha ortishi mumkin. Matlabda quyidagi toifadagi ma’lumotlardan foydalaniladi: -sonli toifa; -qatorlar va simvollar;