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


Download 207.3 Kb.
Pdf ko'rish
Sana30.06.2020
Hajmi207.3 Kb.

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 kurinshga ega. 

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 xyz 

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 

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 

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'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2020
ma'muriyatiga murojaat qiling