Samarqand filiali kompyuter tizimlari kafedrasi


Download 45.1 Kb.
bet3/5
Sana25.03.2023
Hajmi45.1 Kb.
#1294555
1   2   3   4   5
Bog'liq
1 mustaqil ish MATLABda funksiyalar va sozlangan funksiyalar

load
buyrug’idan foydalaniladi. Agar buyruq parametri yozilmasa berilganlar MATLAB.mat nomli fayldan yuklanadi.
Yuklanayotgan berilganlar avvaldan tekstli(ASCII) formatida ham saqlab qo’yilgan bo’lishi mumkin. Aniq o’zgaruvchilarni yuklash uchun
load x y z
buyrug’idan foydalaniladi.

Endi funksiya tushunchasini keltiramiz. Funksiya – o‘zining argumentlari ustida ma’lum bir shakl almashtirishlarni bajaruvchi va unda hosil qilingan natijalarni qaytarish xususiyatiga ega bo‘lgan noyob nomli ob’ektdir. Funksiyalar 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.
Matlabdagi elementar funksiyalar ro‘yxati bilan help elfun komandasi, maxsus funksiyalar ro‘yxati bilan esa help spasefun komandasi orqali tanishish mumkin. Bu funksiyalar matlabdagi sozlangan ichki funksiyalarga kiradi, ya’ni ularga argumentlari bilan murojaat qilib, qiymatlarini olishimiz mumkin.
Masalan:
>> cos (pi/5);
>> sin (0.9);
>> exp (3.3).
Trigonometrik funksiyalarga faqat radian argument qo‘yilishi mumkin.
Matlabda tashqi funksiyalar deb m-fayllar ga aytiladi. Bunday funksiyalarni berish uchun maxsus m-fayllarni taxlil qiluvchi redaktordan foydalaniladi. Matlab tizimida juda ko‘p sozlangan va kengaytma paketlarda aniqlangan funksiyalar bo‘lsada, foydalanuvchi uchun yana qandaydir funksiyalar kerak bo‘lib qolishi mumkin. Matlabda ana shunday yangi funksiyalarni yaratishning bir nechta imkoniyatlari bor. SHulardan bir inline funksiyasidan foydalanishdir. Bunda foydalanuvchi o‘zi uchun zarur ifodani inline funksiya argumentiga apostrof ichiga yozishi kerak bo‘ladi. Masalan, sin2x+ cos2u ifodani qiymatlarini xisoblash kerak bo‘lsin. Matlabda 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
Ma’lumki, ko‘p xollarda tartiblangan sonlar ketma-ketligini shakllantirish zarurati tug‘iladi. Bunday ketma-ketliklar grafik chizishda, jadval yaratishda kerak bo‘ladi. Ularni xosil qilish uchun matlabda (:) ikki nuqta komandasidan (operatoridan) foydalaniladi. Uning umumiy ko‘rinishi quyidagicha:
xo : h : x1
bu erda xo - boshlang‘ich qiymat, h – qadam, x1 – esa oxirgi qiymatdir. Bunday konstruksiyani tadbiq qilish dasturiyssikllar berishni keskin kamaytiradi. Agar qadam berilmagan bo‘lsa, u xolda uning qiymati avtomatik tarzda 1 deb xisoblanadi. Agar qadam musbat bo‘lib, boshlang‘ich qiymat oxirgi qiymatdan katta bo‘lsa, u xolda dastur xatolik beradi. Misolar ko‘rib chiqaylik:
>>38ans=3 4 5 6 7 8
>>K=0:3:15K=0 1 3 6 9 12 15
>>m=10:-2.2m=10 8 6 4 2
>>0:pi/2:2*pi
ans=0 1.5708 3.1416 4.7124 6.2832 
>>5:2ans=Emptymatrix :1by0
Matlabning imkoniyatlaridan biriga, muxim tushunchalardan biri bo‘lgan “Matnli izoxlar” kiradi. Matnli izoxlar dasturni tushunarli bo‘lishiga va ularni vazifalarini ochib berishga mo‘ljallangan bo‘lib, ularni dasturni ixtiyoriy joyiga qatordagi % belgisidan keyin yozish mumkin bo‘ladi. Masalan:
%Kasrchiziqlifunksiyaninggrafigi;
%Funksiyaningo‘sishoralig‘i
m – fayl yaxshi yozilgan hisoblanadi, agar uning matnli izoxi to‘la keltirilgan bo‘lsa.
Ma’lumotlarni klaviatura va faylli disklardan kiritish. Yuqorida ta’kidlanganidek, matlabda 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 xosil qilish.

Klaviaturadan to‘g‘ridan-to‘g‘ri kiritishga misollar ko‘raylik:
>> 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 3
5 -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:
Z= [sin(0) sqrt(4) 2^3+1 5/2 3^2].
U xolda quyidagi vektor aniqlanadi:
Z= [0 4.000 9.000 2.500 9.000]
Berilgan matritsani kengaytirish orqali ham matritsa xosil qilish mumkin. Masalan, x1= [x 1 2] deb olsak, x1= [5 4 -3 1 2] xosil bo‘ladi.
Agar x(5)= 8 desak, avvalgi x vektor x= [5 4 -3 0 8] kabi kengaytiriladi, bunda ko‘rinib turibdiki, x(4) ga “0” qiymat berildi.
Endi u matritsadan foydalanib,
c=[1 2 3 4]y1=[y;c] belgilashnatijasiday1= [0 2 2 3 5 -3 6 2 1 2 3 4] 
matritsani xosil qilamiz.
Matritsalarni faylli disklardan yuklab xam xosil qilsa bo‘ladi. Buning uchun
load
komandasidan foydalaniladi. Agar komanda parametri yozilmasa berilganlar matlab.mat nomli fayldan yuklanadi.
YUklanayotgan berilganlar avvaldan tekstli(ASC11) formatida ham saqlab qo‘yilgan bo‘lishi mumkin. Aniq o‘zgaruvchilarni yuklash uchun
load x y z komandasidan foydalaniladi.


Download 45.1 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling