Kompyuterli modellashtirish



bet66/141
Sana15.01.2024
Hajmi
#138013
1   ...   62   63   64   65   66   67   68   69   ...   141
Bog'liq
KM majmua (1)

Kerakli jihozlar.
Matlab®/Simulink®dasturiy ta’minoti bilan ta’minlangan
kompyuterlar va printerlar.
Matlab tizimida elementar matematik funksiyalar qiymatlarini hisoblash
Son – Matlab tilining eng oddiy ob’ektlaridan biri bo‘lib, u miqdoriy ma’lumotlarni
ifodalab beradi. Sonlarni konstanta deb hisoblash mumkin. Sonlar butun, kasr,
fiksirlangan va suzuvchi nuqtali bo‘lishi mumkin. Ularni yaxshi ma’lum bo‘lgan ilmiy
shaklda, ya’ni mantissa va son tartibini ko‘rsatgan holda ifodalash mumkin.
0
-3
2.301
123.456e-24
-234.456e10
Yuqoridan ko‘rinib turibdiki, mantissadan sonning butun qismi kasr qismidan, juda
ko‘plab dasturlash tillarida qabul qilinganidek, vergul orqali emas, balki nuqta orqali
ajratiladi. Son tartibini mantissadan ajratish uchun ular orasiga e belgisi qo‘yiladi. “+”
ishora sonlar oldiga qo‘yilmaydi, “-” ishora esa qo‘yiladi va uni unar minus deb
nomlanadi. Sonlarda belgilar orasiga probel (bo‘sh joy) qo‘yish ruxsat etilmaydi.
Bundan tashqari sonlar kompleks bo‘lishi mumkin: z=Re(z) + Im(z)*i. Bunday sonlar
Re(z) haqiqiy va Im(z) mavhum qismga ega bo‘linadilar. mavhum qism kvadrat
darajasi
-1 
ga 
teng 
bo‘lgan, va ko‘paytuvchilarga 
ega 
bo‘ladi:
3i
2j
2+3i
-3.141i
-123.456+2.7e-3i
real (z) funksiya kompleks sonning butun qismini, image(z) – esa mavxum qismini


166
ajratib beradi. Kompleks sonning modulini (kattaligini) abs(z) funksiya, fazasini
angle(z) funksiya hisoblab beradi. Masalan:
>> 
i
Ans=0+1.000i
>>z=2+3i
Z=2.000+3.000i
>>abs(z)
Ans=3.6056
>>real(z)
Ans=2
>>Imag(z)
Ans=3
>>angle(z)
Ans=0.9828
Matlab dasturlash tilida o‘zgaruvchiga qiymat berish:
= < ifoda qiymati >
komandasi yordamida
amalga oshiriladi. Bu erda (=) tayinlash (qiymat berish)
operatori vazifasini bajaradi.
Masalan,
>> x= 5+exr (3) ;
Matlabning yaxshi xususiyatlaridan biri shuki, unda avvaldan o‘zgaruvchini turi
e’lon qilinmaydi, balki uni qiymatlariga qarab aniqlanaveradi. Demak ifoda qiymati
vektor yoki matritsa bo‘lsa, u xolda o‘zgaruvchi shunga mos bo‘ladi.
O‘zgaruvchi nomi (identifikator) – 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
qo‘yish 
mumkin
emas.
Matlabda 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.


167
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.
Matlabdagi barcha operatorlar ro‘yxatini ko‘rish uchun help ops komandasidan
foydalaniladi.
MATLAB tizimi shunday ishlab chiqilganki, hisoblashlarni, foydalanuvchi
dasturini tayyorlamasdan to‘g‘ridan-to‘g‘ri bajarish mumkin. Bunda Matlab
superkalkulьyator vazifasini bajarib, qatorli komanda rejimida ishlaydi. Masalan,
>>2+3, ans=5; >>2*3, ans=6 va xokazo. Tizimda ishlash muloqotli (dialogli) tavsifga
ega bo‘lib, “savol berildi – javob olindi” qoidasi bo‘yicha ishlanadi. Ya’ni
foydalanuvchi klaviatura yordamida hisoblanishi lozim bo‘lgan ifodani kiritadi, tahrir
qiladi (agar lozim bo‘lsa) va kiritishni ENTER klaviaturasini bosish bilan yakunlaydi.
Umuman olganda, ma’lumotlarni kiritish va
hisoblashlarni amalga oshirish
quyidagicha amalga oshiriladi:
·
Boshlang‘ich ma’lumotlarni kiritishni ko‘rsatish uchun >> belgidan
foydalaniladi;
·
Ma’lumotlar oddiy yozuvli tahrir yordamida kiritiladi;
·
Biror bir ifoda hisoblash natijasini blokirovka qilishuchun mazkur ifodadan
keyin - ; (nuqta vergul) qo‘yiladi;
·
Hisoblashlar natijasini ko‘rsatuvchi o‘zgaruvchi aniqlanmagan bo‘lsa, u holda
Matlab tizimi bunday o‘zgaruvchi deb ansoladi;
·
O‘zlashtirish amali sifatida juda ko‘plab dasturlash tillari kabi : = belgi emas,
balki matematikadagi oddiy = ni o‘zi olinadi;
·
Sozlangan funksiyalar (masalan, sin) yozma harflar bilan yoziladi hamda
ularning argumentlari oddiy qavslar ichida yoziladi;
·
Hisoblashlar natijasi yangi qatorda >> belgisiz chiqadi;
·
Muloqot “Savol berildi – javob olindi” ko‘rinishida amalga oshadi.
Ma’lumki, juda ko‘plab matematik tizimlarda, agar u son bo‘lmasa, u holda sin(v)
va exr(v) ifodalarni hisoblab bo‘lmaydi, ya’ni tizim bunday ifodalarni xato deb beradi.


168
Matlabda esa agar berilgan o‘zgaruvchi vektor bo‘lsa, natija ham mazkur o‘lchamdagi
vektor bo‘ladi, agar matritsa bo‘lsa, natija ham matritsa bo‘ladi. Komandali rejimda bir
qatordagi belgilarning maksimal soni – 4096, m – fayllarda esa chegaralanmagan.
Barcha matematik tizimlarning markaziy tushunchasi bu matematik ifodalardir.
Ma’lumki, ular ustida amallar bajarilayotganda, asosan ularning sonli qiymatlaridan
foydalaniladi (kam holatlarda belgi ko‘rinishlaridan ham foydalaniladi). Matlab ham
matematik tizim bo‘lgani uchun bu erda ham asosiy tushuncha matematik ifodalardir.
Matlabda matematik ifodalarni ifodalashni qarab chiqaylik. Matlabda ifodalar bir qator
ko‘rinishida ifodalanib, sonlarni butun qismlarini ajratish uchun verguldan emas balki
nuqtalardan foydalaniladi. Quyida ba’zi bir ifodalarni Matlab va oddiy matematikadagi
ifodalanishini ko‘rib chiqamiz:
Matlabda
Matematikada
2+3
2+3
2^3*sqrt(y)/2;
23√y/2
2.301*sin(x);
2,301sin(x)
4+exp(3)/5;
4+e3/5
Matematik ifodalar sonlar, konstantalar, o‘zgaruvchilar, operatorlar, funksiyalar va
turli xil maxsus belgilar ustiga quriladi. Ilgari aytib o‘tganimizdek, nuqta vergul, ya’ni
; belgi natijani chiqishini blokirovka qiladi, ammo ans maxsus o‘zgaruvchi yordamida
natijani olishimiz mumkin. Son – Matlab tilining eng oddiy ob’ektlaridan biri bo‘lib, u
miqdoriy ma’lumotlarni ifodalab beradi. Sonlarni konstanta deb hisoblash mumkin.
Sonlar butun, kasr, fiksirlangan va suzuvchi nuqtali bo‘lishi mumkin. Ularni yaxshi
ma’lum bo‘lgan ilmiy shaklda, ya’ni mantissa va son tartibini ko‘rsatgan holda
ifodalash mumkin.
0
-3
2.301
123.456e-24
-234.456e10
YUqoridan ko‘rinib turibdiki, mantissadan sonning butun qismi kasr qismidan,
juda ko‘plab dasturlash tillarida qabul qilinganidek, vergul orqali emas, balki nuqta
orqali ajratiladi. Son tartibini mantissadan ajratish uchun ular orasiga e belgisi
qo‘yiladi. “+” ishora sonlar oldiga qo‘yilmaydi, “-” ishora esa qo‘yiladi va uni unar
minus deb nomlanadi. Sonlarda belgilar orasiga probel (bo‘sh joy) qo‘yish ruxsat
etilmaydi. Bundan tashqari sonlar kompleks bo‘lishi mumkin: z=Re(z) + Im(z)*i.


169
Bunday sonlar Re(z) haqiqiy va Im(z) mavhum qismga ega bo‘linadilar. mavhum qism
kvadrat darajasi -1 ga teng bo‘lgan, va ko‘paytuvchilarga ega bo‘ladi:
3i
2j
2+3i
-3.141i
-123.456+2.7e-3i
real (z) funksiya kompleks sonning butun qismini, image(z) – esa mavxum qismini
ajratib beradi. Kompleks sonning modulini (kattaligini) abs(z) funksiya, fazasini
angle(z) funksiya hisoblab beradi. Masalan:
>> i
Ans=0+1.000i
>>z=2+3i
Z=2.000+3.000i
>>abs(z)
Ans=3.6056
>>real(z)
Ans=2
>>Imag(z)
Ans=3
>>angle(z)
Ans=0.9828
Matlab dasturlash tilida o‘zgaruvchiga qiymat berish:  = < ifoda
qiymati > komandasi yordamida amalga oshiriladi. Bu erda (=) tayinlash (qiymat
berish) operatori vazifasini bajaradi. Masalan,
>> x= 5+exp (3) ;
Matlabning yaxshi xususiyatlaridan biri shuki, unda avvaldan o‘zgaruvchini turi
e’lon qilinmaydi, balki uni qiymatlariga qarab aniqlanaveradi. Demak ifoda qiymati
vektor yoki matritsa bo‘lsa, u xolda o‘zgaruvchi shunga mos bo‘ladi. O‘zgaruvchi
nomi (identifikator) – 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 qo‘yish mumkin emas.


170
Matlabda 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:

Download
1   ...   62   63   64   65   66   67   68   69   ...   141