MatLab ning asosiy ob’ektlari. MatLab da ma’lumotlarni tashkil etish.
MatLab da matematik ifodalar, konstanta va o’zgaruvchilar. MatLab da ma’lumotlar faqat bir shaklda, ya’ni matritsa shaklida tashkil qilinadi. Son esa MatLab ning eng oddiy ob’ektlaridan bo’lib, u miqdoriy ma’lumotlarni ifodalab beradi. Haqiqiy sonlar butun, kasr, fiksirlangan va suzuvchi nuqtali bo’lishi mumkin. Ularni MatLab da mantissa va son tartibini ko’rsatgan holda ifodalash mumkin:
0 -3 3.42 5.2e-24 -23.43e10
Xar bir sondagi raqamlar orasiga probel qo’yilmaydi, "+" ishora son oldiga qo’yilmaydi, "-" ishora esa qo’yiladi.
MatLab da sonlarni ifodalash uchun quyidagi formatlardan foydalaniladi:
MatLab da sonlarni ifodalash uchun quyidagi formatlardan foydalaniladi:
Masalan, x=[4/3, 1.234e-6] vektorni ko’raylik:
format bank 1.33 0.00
format short 1.333 0.000
format shorte 1.333E+000 1.234E-006
format long 1.333...,8 (15) 0.00000 12340 00000
format large 1.3…..3.8E+00 1.2340…..0E-006
format rat – sonlar ratsional ko’rinishda beriladi.
Masalan, y=[3.2 0.5 1.4] MatLab da son yoki vektorlarni formatini berish uchun umumiy format komandasidan foydalaniladi
Yuqoridagi y vektor uchun format e’lon qilamiz:
Yuqoridagi y vektor uchun format e’lon qilamiz:
>> format bank
>> y:
y=16/5 ^ 7/5
Bu formatlarning berilishi faqat natijaviy ma’lumotlarni ko’rinishiga ta’sir etadi.Tizim ichida barcha hisoblashlar ikki karrali aniqlikdagi formatda bajariladi, sonlarni kiritish esa ixtiyoriy qulay formatda bo’lishi mumkin.
MatLab da konstanta (o’zgarmas) - bu avvaldan aniqlangan sonli yoki belgili qiymat bo’lib, u noyob nom (identifiqator) bilan takdim etiladi. Sonlar (masalan, 1, -3, 1.5) nomsiz sonli konstanta hisoblanadi.
MatLab da boshqacha ko’rinishdagi konstantalarni tizim o’zgaruvchilari deb atash qabul qilingan, sababi, bir tomondan tizim yuklanayotgan vaqtda ular ham beriladi, ikkinchi tomondan ular dasturlarda qayta aniqlanishi mumkin.
MatLab da ishlatiladigan asosiy tizim o’zgaruvchilari quyidagilardir:
MatLab da ishlatiladigan asosiy tizim o’zgaruvchilari quyidagilardir:
i yoki j – mavxum birlik;
pi- π soni, π = 3.1415926...;
eps= 2-52 - sonlar ustida amallar bajarishdagi xatolik;
realmin= 2-1022 – suzuvchi nuqtali eng kichik son;
realmax= 21023 – suzuvchi nuqtali eng katta son;
inf – mashina cheksizlik qiymati;
NaN – ma’lumotni sonli tavsifga ega emasligini ko’rsatuvchi o’zgaruvchi (Not a number);
ans – qiymati boshqa o’zgaruvchiga o’zlashtirilmagan amalning natijasini saqlovchi o’zgaruvchi;
belgili konstanta – bu apostrof ichiga olingan belgilar ketma-ketligi.
Masalan, `haqiqiy son`, `3x+4y` va x.k.
Masalan, `haqiqiy son`, `3x+4y` va x.k.
MatLab da umumiy o’zgaruvchilar ham mavjud bo’lib, ular nomga ega bo’lgan ob’ektlar hisoblanadi. Bu o’zgaruvchida turli xil qiymatlarni saklash mumkin. O’zgaruvchilar sonli, belgili, vektorli yoki matritsali bo’lishi mumkin, lekin MatLab da ularning hammasi matritsa deb tushuniladi. MatLab dasturlash tilida o’zgaruvchiga qiymat berish: = < ifoda qiymati > komandasi yordamida amalga oshiriladi. Bu yerda (=) tayinlash (qiymat berish) operatori vazifasini bajaradi.
Masalan,
>> x= 5+exr (3);
MatLab ning yaxshi xususiyatlaridan biri shuki, unda avvaldan o’zgaruvchini turi e’lon qilinmaydi, balki uni qiymatlariga karab aniqlanaveradi. Demak ifoda qiymati vektor yoki matritsa bo’lsa, u holda o’zgaruvchi shunga mos bo’ladi.
O’zgaruvchi nomi (identifiqator) - boshlanishi xarfdan iborat ixtiyoriy sondagi belgilardan tashkil topgan bo’lishi mumkin, ammo faqat boshidagi 31tasi orqali identifikatsiya qilinadi. O’zgaruvchi nomi boshqa o’zgaruvchilar bilan ustma-ust tushmasligi kerak, ya’ni nom noyob bo’lishi lozim. O’zgaruvchi nomi xarfdan boshlangan bo’lsada, orasida raqamlar va belgidan (podchyorkivanie) iborat bo’lishi mumkin. Lekin ularning orasiga maxsus belgilar, masalan +, -, *, / va boshqalarni kuyish mumkin emas.
O’zgaruvchi nomi (identifiqator) - boshlanishi xarfdan iborat ixtiyoriy sondagi belgilardan tashkil topgan bo’lishi mumkin, ammo faqat boshidagi 31tasi orqali identifikatsiya qilinadi. O’zgaruvchi nomi boshqa o’zgaruvchilar bilan ustma-ust tushmasligi kerak, ya’ni nom noyob bo’lishi lozim. O’zgaruvchi nomi xarfdan boshlangan bo’lsada, orasida raqamlar va belgidan (podchyorkivanie) iborat bo’lishi mumkin. Lekin ularning orasiga maxsus belgilar, masalan +, -, *, / va boshqalarni kuyish mumkin emas.
MatLab da ma’lumotlar ustida bajariladigan ma’lum bir amalni bajarish uchun ishlatiladigan belgi operator deyiladi. Masalan, oddiy arifmetik amallar +, -, *, / - operatorlarga misol bo’ladi. Bu amallar (1*1) o’lchovlidan Yuqori bo’lgan matritsalar ustida bajarilsa va natija ham matritsa bo’lsa, u holda amallar elementlararo bajariladi va * amali. *, / esa./, /. kabi belgilab amalga oshiriladi.
Masalan:
Masalan:
>> x= [2 4 6 8]
x= 2 4 6 8
>> u= [1 2 3 4]
u= 1 2 3 4
>> x/u
ans= 2
>> x.*u
ans= 2 8 18 32
>> x./u
ans= 2 2 2 2.
MatLab dagi barcha operatorlar ro’yxatini ko’rish uchun help ops komandasidan foydalaniladi.
2. MatLab da funktsiyalar va sozlangan funktsiyalar. Endi funktsiya tushunchasini keltiramiz. Funktsiya - uzining argumentlari ustida ma’lum bir shakl almashtirishlarni bajaruvchi va unda hosil qilingan natijalarni qaytarish hususiyatiga ega bo’lgan noyob nomli ob’ektdir. Funktsiyalar bir nechta argumentlarga ega bo’lib bir emas, bir nechta natijani qaytaradigan bo’lsa quyidagicha yoziladi:
2. MatLab da funktsiyalar va sozlangan funktsiyalar. Endi funktsiya tushunchasini keltiramiz. Funktsiya - uzining argumentlari ustida ma’lum bir shakl almashtirishlarni bajaruvchi va unda hosil qilingan natijalarni qaytarish hususiyatiga ega bo’lgan noyob nomli ob’ektdir. Funktsiyalar bir nechta argumentlarga ega bo’lib bir emas, bir nechta natijani qaytaradigan bo’lsa quyidagicha yoziladi:
[y1,y2, …] = func (x1, x2, …)
x1, x2, ..., y1,y2, ... - mos ravishda kirish va chiqish parametrlari deyiladi.
MatLab dagi elementar funktsiyalar ro’yxati bilan hel’ elfun komandasi, maxsus funktsiyalar ro’yxati bilan esa hel’ s’asefun komandasi orqali tanishish mumkin. Bu funktsiyalar MatLab dagi sozlangan ichki funktsiyalarga kiradi, ya’ni ularga argumentlari bilan murojaat kilib, qiymatlarini olishimiz mumkin.
Masalan:
Masalan:
>> cos (pi/5);
>> sin (0.9);
>> exp (3.3).
Trigonometrik funktsiyalarga faqat radian argument qo’yilishi mumkin.
MatLab da tashki funktsiyalar deb m-fayllarga aytiladi. Bunday funktsiyalarni berish uchun maxsus m-fayllarni taxlil qiluvchi redaktordan foydalaniladi.
MatLab tizimida juda ko’p sozlangan va kengaytma paketlarda aniqlangan funktsiyalar bo’lsada, foydalanuvchi uchun yana kandaydir funktsiyalar kerak bo’lib kolishi mumkin. MatLab da ana shunday yangi funktsiyalarni yaratishning bir nechta imkoniyatlari bor. SHulardan bir inline funktsiyasidan foydalanishdir. Bunda foydalanuvchi uzi uchun zarur ifodani inline funktsiya argumentiga apostrof ichiga yozishi kerak bo’ladi. Masalan, sin2x+ cos^ ifodani qiymatlarini hisoblash kerak bulsin.
MatLab da quyidagicha amalga oshiriladi:
MatLab da quyidagicha amalga oshiriladi:
>> sin cos = inline (`sin (x).^2+cos(y).^2`)
sin cos =
inline function:
sin cos (x, u) =sin (x).^2+cos (x).^2.
Bu yozuvlar komandalar oynasida yoziladi va hisoblash ham shu oynada bajariladi:
>> sin cos (5.5)
ans =1.0000
>> sin cos (1.2)
ans =0.8813
>> sin cos (2.1)
ans =1.1187
3. Ma’lumotlarni klaviatura va faylli disklardan kiritish. Yuqorida ta’kidlanganidek, MatLab da ma’lumotlar faqat matritsa shaklida tashkil qilinadi. Buning esa 3ta usuli bor:
3. Ma’lumotlarni klaviatura va faylli disklardan kiritish. Yuqorida ta’kidlanganidek, MatLab da ma’lumotlar faqat matritsa shaklida tashkil qilinadi. Buning esa 3ta usuli bor:
ma’lumotlarni klaviaturadan to’g’ridan-to’g’ri kiritish;
ma’lumotlarni faylli disklardan kiritish;
ma’lumotlarni MatLab komandalari yordamida hosil qilish.
Klaviaturadan to’g’ridan-to’g’ri kiritishga misollar kuraylik:
>> x= [ 5 4 -3] yoki >> x= [ 5, 4, -3]
terilsa, x - vektor-qator deb qabul qilinib x(1) =5, x(2)=4, x(3)= -3 bo’ladi.
>> u= [ 0 2 2 35 -3 6 2 ] yoki u= [ 0 2 2 3; 5 -3 6 2 ] u-(2x4) o’lchovli matritsa bo’ladi va u(1.1)=0, u(1.2)=2, u(1.3)=2, u(1.4)=3, u(2.1)=5, u(2.2)=3, u(2.3)= 6, u(2.4)=2 bo’ladi. Matritsada (;) qatorlar orasini ajratish uchun kerak.
Matritsa elementlari ifoda bo’lishi mumkin:
Matritsa elementlari ifoda bo’lishi mumkin:
Z= [sin(0) sqrt(4) 2^3+1 5/2 3^2].
U holda quyidagi vektor aniqlanadi:
Z= [0 4.000 9.000 2.500 9.000]
Berilgan matritsani kengaytirish orqali ham matritsa hosil qilish mumkin.
Masalan, x1= [x 1 2] deb olsak, x1= [5 4 -3 1 2] hosil bo’ladi.
Agar x(5)= 8 desak, avvalgi x vektor x= [5 4 -3 0 8] kabi kengaytiriladi, bunda kurinib turibdiki, x(4) ga "0" qiymat berildi. Endi u matritsadan foydalanib,
c= [1 2 3 4]
y1= [y; c]
belgilash natijasida U1= [0 2 2 3 5 -3 6 21 2 3 4] matritsani hosil qilamiz.
Do'stlaringiz bilan baham: |