3-Mavzu. Mashinali o’qitishda instrumental vositalardan foydalanish. Matlab dasturiy muhiti bilan ishlash hisoblashlarni bajarish


>> 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]



Yüklə 91,64 Kb.
səhifə33/33
tarix13.03.2022
ölçüsü91,64 Kb.
#53723
1   ...   25   26   27   28   29   30   31   32   33
3-Mavzu. Mashinali o’qitishda instrumental vositalardan foydalan-hozir.org

>> 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

Yüklə 91,64 Kb.

Dostları ilə paylaş:
1   ...   25   26   27   28   29   30   31   32   33




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin