>> A=[-1 2 4 0 3; -2 1 0 3 4; -2 -1 0 -2 1; -2 3 -1 -1 1; 1 1 1 -1 -1]
A =
-1 2 4 0 3
-2 1 0 3 4
-2 -1 0 -2 1
-2 3 -1 -1 1
1
1 1 -1 -1
>> tril (A)
ans =
0 0 0 0 0
1 0 0 0 0
-2 -1 0 0 0
-2 3 -1 -1 0
3.11-rasm.
Endi shu buyruqni o’zimiz m-faylga yozib yangi yuqori degan buyruq hosil qilamiz (3.11-rasm).
>> B=yuqori(A)
x = 5
B =
-1 0 0 0 0
-2
1 0 0 0
-2 -1 0 0 0
-2 3 -1 -1 0
1 1
1 -1 -1
triu(A) - buyrug’i esa matritsaning diagonalidan pastki qismini nollarga aylantirishni amalga
oshiradi.
Misol. Berilgan matritsaning diagonaildan pastki qismini elementlarini 0 bilan almashtirish:
>> A=[-1 2 4 0 3; -2 1 0 3 4; -2 -1 0 -2 1; -2 3 -1 -1 1; 1 1 1 -1 -1]
A =
-1 2 4 0 3
-2 1 0 3 4
-2 -1 0 -2 1
-2 3 -1 -1 1
1 1 1 -1 -1
>> triu(A)
ans =
-1 2 4 0 3
0 1 0 3 4
0 0 0 -2 1
0 0 0 -1 1
3.12-rasm
0 0 0 0 -1
Ushbu triu protsedurasini algoritmini o’zimiz tuzib m-faylga yozib chiqamiz va quyidagi natijalarga
erishamiz (3.12-rasm).
>> B=pastki(A)
x = 5
A =
-1 2 4 0 3
0 1 0 3 4
0 0 0 -2 1
0 0 0 -1 1
0 0 0 0 -1
RESHAPE - matrisa o’lchamini o’zgartishni amalga oshirdi.
>> A=[-1 0 2 0; 0 1 2 -1; -1 -2 -3 2]
A =
-1 0 2 0
0 1 2 -1
-1 -2 -3 2
>> reshape(A,2,6) % matritsa elementlarining soniga qarab ixtiyoriy
o`lchamdagi matritsani hosil qiladi.
ans =
-1 -1 1 2 -3 -1
0 0 -2 2 0 2
3.3 Matritsalarni maxsus ko’rinishda hosil qilish
ZEROS - masssiv elementlarini nollardan iborat qilib tuzadi.
Sintaksisi:
Y = Zeros(n)
Y = Zeros (m, n)
Y = Zeros (size(A))
>> zeros(5)
ans =
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 0 0
ONES - masssiv elementlarini birlardan iborat qilib tuzadi.
Sintaksisi:
Y = ones(n)
Y = ones(m, n)
Y = ones(size(A))
>> ones(5,4)
ans =
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
RAND - massiv elementlarini teng taqsimot qonuniga ko’ra hosil qiladi.
Sintaksisi:
X = rand(n) rand
X = rand(m, n) rand(‘seed’)
X = rand(size(A)) rand(‘seed’, x0)
Algoritmi: Teng taqsimot qonuniga bo’ysunuvchi ehtimolli sonlar algoritmi chiziqli kongurent
metodiga asoslangan. Quyidagi ehtimolli sonni realizatsiyalangan aniq munosabatlar orqali hisoblashni qaraymiz:
seed = (77 x seed) (mod(231 -1).
Misol: Teng taqsimot qonuniga asoslangan ehtimolli sonlar generator quyidagi ko’rinishda realizatsiya
qilinadi:
X = rand(3, 4)
X =
0.0579
0.3529
0.8132
0.0099
0.1389
0.2028
0.1987
0.6038
0.2722
0.1988
0.0153
0.7468
Bu natija tizim verisyasiga va ishlash seansiga bog’liq ravishda farq qilishi mumkin.
Mos keluvchi funksiyalar: RANDN, SPRANDN.
SPRANDN - siyrak ehtimolli matritsani hosil qiladi.
Sintaksisi:
R = sprandn(S)
R = sprandn(m, n, alpha)
R = sprandn(m, n, alpha, rcond)
SPRANDSYM - siyrak ehtimolli simmetrik matritsani hosil qiladi.
Sintaksisi:
R = sprandsym(S)
R = sprandsym(n, alpha)
R = sprandsym(n, alpha, rcond)
R = sprandsym(n, alpha, rcond, kind)
CROSS - vector ko’paytmani hosil qiladi.
Sintaksisi:
c = cross(a, b)
KRON - tenzorli ko’paytmani hosil qilish.
Sintaksisi:
K = kron(X, Y)
LINSPACE -teng munosabatli tugunlar chiziqli massivini hosil qilish.
Sintaksisi:
x = linspace(x1, x2)
x = linspace(x1, x2, n)
LOGSPACE - logarifmik to’rli tugunlarni hosil qiladi.
Sintaksisi:
x = logspace(d1, d2)
x = logspace(d1, d2, n)
MESHGRID - ikki o’lchamli va uch o’lchamli to’rlar tugunlarini hosil qiladi.
Sintaksisi:
[X, Y] = meshgrid(x, y)
[X, Y] = meshgrid(x)
[X, Y, Z] = meshgrid(x, y, z)
Misol. Funksiyani -2 < x < 2, -2 < y < 2 sohada hisoblash uchun quyidagi amallar ketma-ketligi
bajariladi:
>> [X, Y] = meshgrid (-2:.2:2, -2:.2:2);
>> Z = X.*exp (-X.^2 - Y.^2);
>> mesh (Z).
Mos keluvchi funksiyalar: SURF, SLICE.
3.4. Maxsus matritsalar
COMPAN - xarakterestik ko’phadni matrisa ko’rinishida ifodalaydi.
Sintaksisi: C = compan(p).
Misol. (x-1)(x-2)(x-3) = x3 - 7x + 6 polinomi koiffetsentalaridan tuzilgan vektor
p = [1 0 -7 6] yordamchi massiv quyidagicha bo’ladi:
C = compan(p)
C = 0 7 -6
1 0 0
0 1 0
Mos keluvchi funksiyalar: PO LY, POLYVAL, POLYVALM.
HADAMARD - Adamar matritsasini (Hadamard matrix) hosil qiladi.
Sintaksisi: H = hadamard(n).
HANKEL - Hankel matritsasini (Hankel matrix) hosil qiladi.
Sintaksisi: H = hankel(c)
H = hankel(c, r)
Misol: c = [1 2 3];
H = hankel(c)
H = 1 2 3
1 2 0
3 0 0
c = 1:3; r = 7:10; H = hankel(c, r)
Warning: Column wins anti-diagonal conflict.
HILB, INVHILB - Gelbert matritsasini (Hilbert matrix) hosil qiladi.
Sintaksisi:
H = hilb(n)
H = invhilb(n)
Misol. 4 - taribli Gilbert matritsasi 1.5514e+004 shartli songa ega bo’lsin. Uning teskari
matritsasi-butun sonli matritsa ko’rinishi quyidagicha bo’ladi:
invhilb(4)
ans = 16
-120
-120 240
1200 -2700
-2700 6480
1680 -4200
-140
1680
-4200
2800
240
-140
Natijani qo’zg’aluvchi vergulli sonlar ko’rinishida tasvirlasak quiydagi hosil bo’ladi:
format long e,
inv(hilb(4))
1.0e+ 003
MAGIC - Sehirli kvadratni hosil qiladi.
Sintaksisi: M = magic(n)
Ushbu funksiyani qo’llanilishi bilan bog’liq grafiklar (3.13-rasm):
3.13-rasm.
Mos keluvchi funksiyalar: RAND, ONES.
PASCAL - Paskal matritasasini (Pascal matrix)
hosil qiladi.
Sintaksisi:
P = pascal(n)
P = pascal(n, k)
Misol:
>> n=4
n =
4
>> a=pascal(n)
a =
1
1
1
1
1 1
2 3
3 6
4 10
1
4
10
20
>>a=pascal(n,1)
a =
1
1
0
0
0
-1
0
0
0
1
1
-2
1
-3
3
-1
ROSSER - Resser matritsasini (Rosser matrix) hosil qiladi.
Sintaksisi:
R = rosser
Misol.
>> R=rosser R =
TOEPLITZ - Tiplets matritsasini (Toeplitz matrix) hosil qiladi.
Sintaksisi:
T = toeplitz(c);
T = toeplitz(c, r).
Misol.
c=1:4; T = toeplitz(c)
VANDER - Vandermond matritsasini (Vandermonde matrix) hosil qiladi.
Sintaksisi: V = vander(x).
Misol: x = [1 2 3 4]; V = vander(x).
WILKINSON - Uilkenson matritsasini (Wilkinson matrix) hosil qiladi.
Sintaksisi: W = wilkinson(n).
Misol: W = wilkinson(7):
4. MATLABda chiziqli algebraik tenglamalar sistemalarini
tadqiq etish va yechish
4.1. Chiziqli tenglamalar sistemasi
Juda ko’p nazariy va amaliy masalalarni hal qilishda chiziqli tenglamalar
sistemasiga duch kelamiz. Umumiy holda chiziqli tenglamalar sistemasining
ko’rinishi quyidagicha bo’ladi:
(3.1)
Bu yerda x , x , …, x - noma’lum o’zgaruvchilar, a , a , …, a - haqiqiy sonlar,
1
2
n
11
12
nn
tenglamalar sistemasining koeffisiyentlari va b , b ,…, b haqiqiy sonlar, tenglamalar
1
2
n
sistemasining ozod xadlari deyiladi.
Chiziqli tenglamalar sistemasining yechimi deb uni tenglamalarini ayniyatlarga
aylantiruvchi x ,x ,…, x sonlarga aytiladi.
1
2
n
Chiziqli tenglamalar sistemasini vektor ko’rinishda quyidagicha yozish mumkin:
Ax=b (3.2)
Bu yerda:
(nxn) o’lchovli matrisa,
(nx1) o’lchovli noma’lum vektor ustun,
(nx1) o’lchovli ozod had deb ataluvchi vektor ustun.
A* = [A, b] - kengaytirilgan matrisani kiritamiz. Chiziqli algebra kursidan
ma’lumki (Kroneker-Kapelli teoremasi) A va A* matrisalarning ranglari teng bo’lsa
(3.1) yoki (3.2) sistemaning yechimi mavjud bo’ladi.
4.2. Chiziqli tenglamalar sistemasini yechish usullari
Chiziqli tenglamalar sistemasini yechishning aniq usullaridan keng qo’llaniladiganlari
Gauss, Kramer va teskari matrisa usullaridir, taqribiy usullarga esa iterasiyalar(ketma-ket
yaqinlashish ), Zeydel va kichik kvadratlar usullarini keltirish mumkin.
Aniq usullardan Kramer usulini ko’rib chiqamiz. Buning uchun det(A)≠0 bo’lishi kerak.
Usulni to’liq keltirish uchun sistemaning asosiy matrisasi A ning k-ustun elementlarini
ozod had b bilan almashtirib Ak, k =1,n matrisalar hosil qilamiz. U holda det(A)≠0 shart
asosida yechimni topish uchun
det(Ak )
det(A)
xk
k 1, 2, 3, ...,n
tengliklardan foydalanish mumkin. Bu yerda foydalanilgan det(A) MATLAB funksiyasi
bo’lib, A matrisaning determinantini xisoblab beradi. Taqribiy usullardan iterasiya usulini
keltiramiz. Buning uchun (3.1) sistemani quyidagicha ko’rinishga keltiramiz:
Bu yerda i≠j bo’lganda
U holda
belgilashlar kiritib (3.3) ni quyidagicha yozib olamiz.
x= β+ αx
(3.4)
Endi (3.4) sistemani ketma-ket yaqinlashish (iterasiya) usuli bilan yechamiz.
Boshlang’ich yaqinlashish uchun x(0)= β ozod hadni olamiz va ketma-ket keyingi
yaqinlashishlarni hosil qilamiz:
x(1)= β+ x(0);
x(2)=β+ x(1);
……………
x(k+1) =β+ x(k);
Agar x(0), x(1),…, x(k),… sonlar ketma-ketligi limitga ega bo’lsa, u holda bu limit (3.3)
yoki (3.4) sistemaning yechimi bo’ladi. Yaqinlashishlarni ochiq holda quyidagicha yozish
mumkin:
Yechimni taqribiy hisoblashning ana shunday usuli iterasiya usuli deyiladi.
4.3. Chiziqli tenglamalar sistemasini yechishda MATLAB usullari
Chiziqli tenglamalar sistemasini yechish uchun MATLAB funksiyalari (usullari) juda
ko’p bo’lib, biz ulardan bir nechtasini keltiramiz. Birinchi usul “chapdan bo’lish” usulidir:
1) x=A\B;
2) x=isqnonneg(A,B)-Ax=B chiziqli tenglamalar sistemasini kichik kvadratlar usuli
bilan yechadi. Bunda A-(nxn) o’lchovli, B-(nx1) o’lchovli, xi≥0, i=1,2,…,n.
Minimallashtirish kriteriyasi: B - Ax ning ikkinchi normasini minimallashtirish;
3) x=isqnonneg(A,B,x0) - iterasiyalar uchun chiziqli tenglamalar sistemasining aniq
berilgan nomanfiy boshlang’ich qiymatlarda yechib beradi;
4) [x,w]=isqnonneg(…) - yechim bilan birga qoldiqlar vektori kvadrati ikkinchi
normasini qaytaradi;
5) [x,w,w1]=isqnonneg(…) - xuddi avvalgi buyruq kabi, yana qoldiqlar vektori w1 ni
qaytaradi;
6) bicg(A,B)-Ax=B ning x yechimini qaytaradi; A(nxn), B(nx1). Bunda hisoblash
iterasiyalar yaqinlashguncha yoki min{20,n} gacha bajariladi;
7) bisc(A,B,tol) - yechimni tol xatolik bilan qaytaradi;
8) bisc(A,B,tol,maxit) - avvalgi buyruq kabi, yechimni undan tashqari maxit-
maksimal iteratsiyalar soni bilan qaytaradi.
4.4. Chiziqli tenglamalar sistemasini yechishga doir misollar
Tenglamalar sistemasini chapdan bo’lish (3.14 - rasm), iterasiyalar usuli va Kramer
usulida yeching, topilgan yechimlarni solishtiring.
3.14 - rasm. Chiziqli tenglamalar sistemasini yechish.
Endi xuddi shu tenglamalar sistemasini iterasiya usuli bilan yechamiz va natijalarni
solishtiramiz. Yechimni iterasiyalar usulida topish uchun quyidagi fayl-funksiyani tuzamiz
(3.15-rasm):
3.15 - rasm. Chiziqli tenglamalar sistemasini yechish.
3.16 - rasm. Chiziqli tenglamalar sistemasini yechish.
3.17 - rasm. Chiziqli tenglamalar sistemasini yechish.
Natijalardan ko’rinib turibdiki, bu tenglamalar sistemasini yechimini topishga
iterasiyalar usulini to’g’ridan-to’g’ri qo’llaganimizda taqribiy yechimni aniqlash
jarayoni yaqinlashuvchi emas. Shuning uchun berilgan tenglamalar sistemasida
quyidagicha o’zgartirishlar amalga oshiramiz:
e=[0.01 0.01 0.01 0.01; 0.01 0.01 0.01 0.01;
0.01 0.01 0.01 0.01;0.01 0.01 0.01 0.01];
d=inv(a)-e; b1=d*b; a1=a*e; x0=b;
U xolda hosil bo’lgan x=b1+a1x tenglamalar sistemasi yuqorida keltirilgan
teorema shartlarini qanoatlantiradi. Iterasiyali algoritmni ishlashini yangi iter2 fayl-
funksiya hosil qilib tekshiramiz (3.18-rasm).
3.18-rasm. Chiziqli tenglamalar sistemasini olish.
Xosil qilingan iter2 fayl-funksiyasiga argumentlar a, b, x0, eps, n larning
qiymatlarini buyruqlar oynasida hosil qilib, murojat qilamiz va quyidagi natijalarni
olamiz (3.19-rasm).
3.19-rasm.
4.5. Simvoli hisoblashlar
Symbolic Math ToolBox paketi yordamida quyidagi tipik analitik hisoblashlarni
bajarish mumkin:
matematik ifodalarni soddalashtirish;
o’rin almashtirish;
chegaraviy qiymatlarni aniqlash;
differensiallash ;
integirallash;
integiral o’zgartirishlar;
tenglamalar va tenglamalar sistemalarining yechimlarini olish.
Bundan tashqari Symbolic paketi MATLAB muhiti bilanMaple simvolli
matematika tizimining yadrosi orasidagi interfesini amalga oshiradi Lekin MATLABda
ishlanganda Maple ni o’rnatish talab qilinmaydi.
Simvolli o’zgaruvchilar, kostantalar va ifodalar. MATLAB tizimining o’zgaruvchilar
simvolli matematikaga aloqasi bo’lmagan vektorlar , matrisalar va sonlar ko’rinishida berilgani
sababli simvolli o’zgaruvchilarni yaratish kerak bo’ladi.
Simvolli o’zgaruvchilar yoki obyektlarni yaratish uchun sym yoki syms funksiyalardan
foydalaniladi. Masalan, z=sym (‘z’) komondasi ‘z’ nomli simvolli o’zgaruvchini qaytaradi va
natijani z ga yozadi:
>>z=sym(‘z’)
Z=
Z
Simvolli o’zgaruvchilar guruxini yaratishda sums funksiyasidan foydalaniladi:
S massivning simvolli ifodasini simplify(S) funksiyasi elementlararo soddalashtiriladi.
Agar soddalashtirish mumkun bo’lmasa boshlang’ich ifodani qaytaradi.
Misol:
>>simplify ((x˄3-y˄3)/(x-y))
Ans=
x˄2+x*y+y˄2
Ifodalarni soddalashtirish funksiyasi – simple
Ifodalarni soddalashtirish funksiyasi simple(S) ko’rinishda S massiv elementlarini
soddalashtiradi va oraliq natijalar hamda eng qisqa natijani chiqaradi.
R,HOW = simple(S) ko’rinishda oraliq chiqarilmaydi , soddalshtirish natijlari R
vektorga taqdim qilinadi , HOW satr vektorida esa bajariladigan o’zgartirishlar ko’rsatiladi.
Ifodalarni oddiy ko’payrivchiga ajratish – factor. Ifodalarni oddiy ko’paytivchilarga
ajratish funksiyasi factor(S) ko’rinishda S vector ifodalarni oddiy ko’paytuvchilarga butun
sonlarni esa oddiy sonlar ko’paytmalariga ajratadi.
>>x=sum(‘x’);
factor(x^7-1)
ans =
(x-1)(x^6+x^5+x^4+x^3+x^2+x+1)
>>factor(sum(‘123456789’))
ans =
3^2*3607*3803
Hosilani hisoblash funksiyasi – diff. S ifodadan hosilalarni simvolli hisoblash uchun
diff funksiyasidan diff(S, x, n) formatda foydalaniladi.
Misol. Aytaylik y=x2sinx funksiyaning birinchi va uchinchi tartibli hosilalarini olish:
syms x
y=x^2*sin(x);
diff(y,x)
ans=
x^2*cos(x)+2*x*sin(x)
diff(y,x,3)
ans =
6*cos(x)-x^2*cos(x)-6*x*sin(x)
Algebraik tenglamalarni yechish-solve. Algebraik tenlamalar sistemalarini va
yakka tenglamalarni yechish uchun solve yoki fzero buyruqlari ishlatiladi.
Solve buyrug’i
Solve (expr1, expr2,…, exprN, var1, var2,…varN)
formatda ishlatiladi va expr tengliklar bajariladigan var o`zgaruvchilarning qiymatlari
qaytariladi.
Misol. X3-1=0 tenglamani yechishni keltiramiz:
syms x
y=x^3-1;
s=solve(y,x)
s=
1
(3^(1/2)*i)/2-1/2
-(3^(1/2)*i)/2-1/2
Differensiallash. Simvolli ifodalarni defferensallash xamda sonli shakilda (masalan m fayil
ko’rinishida) berilgan funksiyalarning hosilasini aniqlashda diff buyrug’idan foydaliniladi.
Misol.
ifodaning x bo’yicha differensali 3 +2x+1 bo’ladi.
MATLABda u quyidagicha bajariladi:
>> sums x; diff(x^3+x^2+x+2)
ans=
3*x^2+2*x+1
Xuddi shu natijani boshqa yo’l bilan xam olishimiz mumkin :
>>f=inline(‘x^3+x^2+2’)
f=
Inline function:
f(x)=x^3+x^2+x+2
>>diff(f(x))
ans=
3*x^2+2*x+1
Ikkinchi hosila uchun sintaksis diff(f(x),2) va n-hosila uchun diff (f(x),n) kurinishga ega boladi.
Yuqorida keltrilgan funksiya uchun ikkinchi, uchunchi va turtinchi hosilalarni olishni ko’rib chiqamiz:
>>syms x;diff(x^3+x^2+x+2.2)
ans=
6*x+2
>>syms x;diff(x^3+x^2+x+2.3)
ans=
6
>>syms x;diff(x^3+x^2+x+2.4)
ans=
0
Integrallash. MATLAB dasturida aniq va aniqmas integralarni xisoblah uchun int
buyrug’i quyidagi ko’rinishda foydalaniladi:
- Int(s) - findsym funksiyasi orqali avtomatik tarzda aniqlangan simvolli o’zgarivchi
bo`yicha s ifodadan aniqmas integrali xisoblanadi;
- Int(s,v) - simvolli o`zgarivchi bo`yicha s ifodadan aniqmas integrali xisoblanadi;
Integral xisoblashdan oldin simvolli o`zgarivchilar ko`rsatilishi yoki apstrof
ichiga olinishi kerak.
Misol.
>>syms x u t;
>>int (1/(1+x^2))
ans=
atan(x)
>>int(sin(x*u),x)
ans=
-1/u*cos(x*u)
>>int(x1*log(1+x1),0,1)
??? undefined function or variable ‘x1’.
>> int (‘x1*log(1+x1)’,0,1)
ans=
¼
Difrensial tenglamalarni dsolve funksiyasi yordamida yechish. dsolve('eqn1, 'eqn2',...) -
boshlang'ich shartlarga ega bo'lgan differensial tenglamalarning analitik yechimlarini qaytaradi. Avval
tenglamalar, keyin esa boshlang'ich shartlar ko'rsatiladi.Agar tenglamalar uchun ifodalarga tenglik belgisi
ishlatilmasa ifoda nolga teng, deb olinadi (eqnI=0).
Jimlik qoidasi bo'yicha mustaqil o'zgaruvchi sifatida t o'zgaruvchi olingan. Boshqa o'zgaruvchilardan
foydalanish uchun ular dsolve funksiyasi ro'yxatining oxiriga yozilishi kerak. D simvolli mustaqil
o'zgaruvchi bo'yicha birinchi hosilani belgilaydi, d/dt ni D2 esa ikkinchi
hosilani va h.k. Mustaqil o'zgaruvchining nomi D xarfi bilan boshlanmasligi kerak.
Boshlang'ich shartlar 'y(a)=b' yoki 'Dy(a)=b' tengliklar ko'rinishida beriladi, bu yerda y - bog'liq
o'zgaruvchi, a yoki b - konstantalar ular simvolli bo'lishi ham mumkin.Tenglamalardagi konstantalar ham
simvolli bo'lishi mumkin. Agar boshlang'ich shartlar soni tenglamalar sonidan kam bo'lsa yechimda C1,
C2 ,... erkin doimiylar qatnashadi.
Ko’shi kurinishidagi differensial tenglamalarni yechish uchun MATLAB da quyidagi funksiya
mavjud.
Dsolve ('eqn1', 'eqn2',...) - boshlang'ich shakllarga ega bo'lgan differensial tenglamalar
sistemasining analitik yechimini qaytaradi. Avval tenglamalar keyin boshlang'ich shakllar erkin tengliklar
kurinishida beriladi. Tenglik belgilari qo’yilmagan ifodalar nolga teng, deb olinadi. Jimlik bo'yicha ekran
(mustaqil) o'zgaruvchi sifatida odatda vaqtni ifodolovchi t o'zgaruvchi olinadi. Agar erkin o'zgaruvchi
sifatida boshqa o'zgaruvchi olinsa y dsolve funksiyasi parametrlari ruyxatining oxiriga qushib
quyiladi.Ifodalarda D simvolli bilan erkin o'zgaruvchi buyicha hosila belgilanadi, ya'ni d/dt, D2 ESA
ni bildiradi va h.k. Erkin o’zgaruvchilarning nomi D bilan boshlanmasligi kerak.
Boshlang'ich shartlar 'y(a)=b' yoki 'Dy(a)=b' tengliklar ko’rinishida beriladi, bu
yerda y - bog'liq o’zgaruvchi, a va b – o’zgarmaslar ular simvolli ham bo’lishi
mumkin.Tenglamalardagi o’zgarmaslar ham simvolli bo’lishi mumkin. Agar boshlang'ich
shartlar soni differensial tenglamalar sonidan kam bo’lsa, u holda yechimda C1, C2 va h.k.
ixtiyoriy doimiylar mavjud bo'ladi.
dsolve funksiyasidan foydalanishga misollar.
Misol.
x"=-2x'
differensial tenglamani yechish
>>dsolve(‘D2x=-2*x')
ans=
C1*cos(2^(1/2)*t)+C2*sin(2^(1/2)*t)
yoki
C1cos
Misol.
y’’=-ax+y’, y(0)=b
differensial tenglamani yechish
>>dsolve('D2y=-a*x+y','(0)=b','x')
ans=
a*x+C1*sinh(x)+b*cosh(x)
yoki
ax+C1sinh(x)+b cosh(x)
Misol.
differensial tenglamani yechish va yechimni tekshirish:
>>syms x
>>S=dsolve('D4y-y-5*exp(x)*sin(x)-x^4','x')
s =
149/208*cos(x)*exp(x)-24-x^4-57/104*exp(x)*sin(x)-
21/26*exp(x)*sin(x)*sos(x)^2-
1/4*sin(x)*exp(x)*sin(s*x)+1/2*sin(x)*exp(x)*cos(2*x)-41/52*cos(x)^3exp(x)+15/208*cos(3*x)*exp(x)-
5/104*sin(3*x)*exp(x)+C1*exp(x)+C2*sin(x)+C3*cos(x)+C4*exp(-x)
>>[R,HOW]=simple(S)
R=
-24-x^4-exp(x)*sin(x)+C1*exp(x)C2*sin(x)+C3*cos(x)+C4*exp(-x)
yechimni tekshirish:
>>diff(R,x,4)-R-5*exp(x)*sin(x)-x^4
ans=
0
>>syms x
>>S=dsolve('D3y+2*D2y+Dy=-2*exp(- 2*x)','y(0)=2','Dy(0)=1','D2y(0)=1','x')
S =
exp(-2*x)+4-3*exp(-x)
yechimni tekshirish
>>diff(S,x,3)+2*diff(S,x,2)+diff(S,x)
ans=
-2*exp(-2*x)
Boshlang'ich shartlarning bajarilishini tekshirish
>>subs(s,x,o)
ans=
2
>>subs(diff(S,x),x,0)
ans=
1
>>subs(diff(S,x,2),x,0)
asn =
1
Symbolic Math paketining grafik imkoniyatlari. Simvolli funksiyalarning grafiklari – ezplot.
Foydalanuvchilarga grafik qurishda qulayliklar yaratish uchun Symbolic paketiga ezplot buyrug’i
kiritilgan.U quydagi ko’rinishlarga ega:
- Ezplot(f) - simvoli berilgan f(x) funksiyaning grafikini mustaqil o’zgaruvchi x bo’yicha [-2*pi,2pi]
intervalda ko’radi.
- Ezplot(f,xmin,xmax) - yuqoridagi bilan bir xil, faqat mustaqil x bo’yicha xmin dan xmax gacha
bo’lgan intervalda grafik quradi.
- Ezplot (f,[xmin,xmax,ymin,ymax]) - f(x,y)=0 funksiyaning xmin, yminuchun
grafigini quradi.
Misol. x3+x2+x+1 funksiyaning grafigini -3 va 2 gacha bo`lgan intervalda qurish quydagicha
amalga oshiriladi (3.20-rasm).
>>ezplot(‘x^3+x^2+x+1’,[-3 2]).
3.20-rasm. MATLABda x3+x2+x+1 funksiya grafigi.
Misol. sin(3t)cos(t) funksiyaning grafigini [o, pi] oraliqda qurish quydagicha amalga
oshiriladi (3.21 - rasm).
>>ezplot(‘sin(3*t)*cos(t)’,[0 pi].
3.21 - rasm. MATLABda sin(3t)cos(t) funksiya grafigi.
Bir o`zgaruvchili funksiya grafigini qurush. Bevosita hisoblashlar rejimida amalda
tizimning grafiklar qurushga taluqli barcha imkoniyatlaridan foydalanish mumkin.
Avvaliga oddiy misol, sinusoidaning grafigini qurushni qaraylik. Funksiyaning x
argumenti 0 da 10 gacha bo`lgan intervalda 0.1 qadam bilan o`zgarsin. Grafik qurush
uchun avval x=0:0.1:10 vektorni kiritish, keyin esa grafik qurush buyrug’i plot (sin(x))
foydalanish yetarli bo’ladi.
Misol. y=sin(x) funksiyaning grafigini x=(-15:0.1:15) da qurish quydagicha amalga
oshiriladi (3.22 - rasm).
>>x=(-15:0.1:15);
>>y=sin(x);
>>plot(x,y)
>>
Yagona oynada bir necha funksiyaning grafigini qurush. Bir yo`la uchta sin(x), cos(x) va
son(x)/x funksiyalarning grafiklarini qurushga harakat qilib ko`raylik. Bu funksiyalarni argumenti
yaqqol ko`rsatilmaydigan y(x) ko`rinishidagi o`zgaruvchilar bilan belgilash mumkin:
>> y1=sin(x); y2=cos(x); y3=sin(x)/x;
Bunday imkoniyat ushbu o`zgaruvchilarning x o`zgaruvchi kabi vector bo`lganligi sababli
o`rinli. Endi plot buyrug’ining shakillarining biridan foydalanish mumkin:
>>plot(a1,f1,a2,f2,a3,f3,…).
Bu yerda a1, a2, a3, …, - funksiya argumentlarining vektorlari (yuqoridagi holda ularning
hammasi - x), f1, f2, f3, …, - grafiklari yagona oynada qurilayotgan funksiyalar qiymatlarining
vektorlari.
Ko`rsatilgan funksiyalarning grafigini qurush uchun plot buyrug’ini quydagicha yozamiz
(3.23 - rasm):
>>x=0:0.1:10;
>> y1=sin(x); y2=cos(x); y3=sin(x)/x;
>>plot(x,y1,x,y2,x,y3)
Uch o`lchamli grafiklarni qurush. MATLABda uch o`lchamli grafiklarni qurish
ham amalga oshiriladi. Buning uchun qanday buyruqlar qanday grafiklarni qurishini bilish
yetarli hisoblanadi. Masalan, sirtning grafigi va uning sirt ostidagi tekislikka kontur
grafiklar ko`rinishidagi proeksiyalarni qurush uchun quydagi buyruqlardan foydalaniladi
(3.24 - rasm):
>>[x,y]=meshgrid(-5:0.1:5);
>>z=x.*sin(x+y);
>>meshc(x,y,z)
3.24 - rasm. xsin(x+y) funksiyaning grafigi.
Vektorlarning grafigini qurish. Vektorlarning uzunligi va burchagi kompleks
sonning haqiqiy va mavhum qisimlari bilan belgilanuvchi, koordinatalar boshidan
chiquvchi strelka ko`rinishida tasvirlash uchun compass guruhidagi buyruqlardan
foydalaniladi:
Compass(u,v)-radius-vektorni uning haqiqiy u va mavhum v
kompanentalariga asosan quradi (3.25-rasm).
>>z=[-1+2i;-2-3i;2+3i;5+2i];
>>compass(z)
3.25-rasm. Vektorlarning grafigini qurishga misol.
Foydalanilgan adabiyotlar
1. МАТЛАБ 7.*/Р2006/Р2007 ўқув қўлланма.:М.2008.
2. Т.Дадажонов, М.Муҳитдинов. МАТЛАБ асослари.”Фан нашриёти”. 2008.
3. Дяконов В. П., Абраменкова И. В., Круглов В. В. МАТЛАБ 5 с пакетами
расширений. - М.: Нолидж, 2001.
1. Дяконов В. П. МАТЛАБ 6.5 СП1/7 + Симулинк 5/6 в. Обработка сигналов И
проектирование филтров. - М.: Солон_Р, 2005.
2. Дяконов В. П. МАТЛАБ 6.5 СП1/7 + Симулинк 5/6 в. Работа с изображениями и
видеопотоками. - М.: Солон_Р, 2005.
3. Дяконов В. П., Круглов В. В. МАТЛАБ 6.5 СП1 7/7 СП1/7 СП2 +Симулинк.5/6 в.
Инструменты искуственного интеллекта и биоинформатики. - М.:
Солон_ПРЕСС, 2006 .
4. Дяконов В. П. ВисСим+Матщcад+МАТЛАБ. Визуалное математическое
моделирование. - М.: Солон_Пресс, 2004.
5. Потемкин В. Г. Сицема МАТЛАБ: Справочное пособие. - М.: Диалог МИФИ,
1997.
6. Т.Дадажонов, М.Муҳитдинов. МАТЛАБ асослари.”Фан нашриёти”. 2008.
Nazorat savollari
1. Amaliy masalalarni dasturiy paketining qanday dasturiy ta’minotlarini bilasiz?
2. MATLAB dasturining qanday avlodlari mavjud?
3. Qaysi versiya tarkibida ilk bor grafik muhit ishchi stoli yaratilgan?
4. MATLAB ishchi oynasi qanday qismlardan iborat?
5. MATLAB tizimi dasturlashning qanday konsepsiyasini bajaradi?
6. MATLABda oddiy hisoblashlar qanday amalga oshiriladi?
7. Tizim kengaytmasi nimadan iborat?
8. Simulink nima?
9. Yordam tizimidan qanday foydalanish mumkin?
10. MATLAB dasturi nima maqsadda ishlatiladi?
11. MATLABning asosiy obyektlari nima?
12. MATLABda sonlarning qanday formatlari bor?
13. Matrisa, vektor-ustun va vektor-qatorni ta’riflang.
14. Matrisalarni hosil qilish usullarini ayting va misollar keltiring.
15. Bir nyechta matritsalarni birlashtirish uchun qanday buyruq ishlatiladi?
16. Berilgan matritsaning diagonal elementlarini 0 bilan almashtirishda qanday
buyruqlar ishlatiladi?
17. Masssiv elementlarini nol va birlar hamda teng taqsimot qonuniga ko’ra hosil
qilishda qanday buyruqlar ishlatiladi?
18. load buyrug’ining formatlarini va vazifalarini tushuntiring.
19. Matrisani transponirlash nima?
20. flipud va fliplr buyruqlari nima uchun xizmat qiladi?
21. Maxsus matrisalarni hosil qiluvchi buyruqlarni keltiring.
22. Chiziqli tenglamalar sistemasi va uning yechimi nima?
23. Chiziqli tenglamalar sistemasini yechishninqanday usullari bor?
24. Chiziqli tenglamalar sistemasini yechishni qanday taqribiy usullari bor?
25. Chiziqli tenglamalar sistemasini yechishning iterasiyalar usulini tavsiflang?
26. Xarakterestik ko’phad matrisa ko’rinishida qanday ifodalanadi?
27. Adamar, Hankel, Resser, Tiplets, Vandermond, Uilkenson va Gelbert matritsalari
28. MATLABda qanday buyruqlar bilan ifodalanadi?
29. Chiziqli tenglamalar sistemasi MATLABda qanday echiladu?
30. Chiziqli tenglamalar sistemasini yechishning Kramer usulini tavsiflang.
31. Meshgrid funksiyasining vazifasini ayting;
32. Ezplot funksiyasining vazifasi nima?
33. Bir o`zgaruvchili funksiya grafigi qanday quriladi?
34. Ikki va uch o’lchamli grafiklarni hosil qilish;
35. Dasturlash, m-fayllar va funksiyalar;
36. Dslove funksiyasining vazifasi nima?
37. Differensial va integral tenglamalar MATLABda qanday echiladi?
38. Vektorlarning grafigi qanday quriladi?
40. Symbolic Math paketining qanday grafik imkoniyatlari mavjud?
http://hozir.org
Dostları ilə paylaş: |