|
MATLAB mühitində qeyri-xətti tənliklər sisteminin həlli
|
bet | 17/35 | Sana | 06.12.2023 | Hajmi | 2,93 Mb. | | #112648 | Turi | Dərs |
Bog'liq C fakepathKOMPUTER MUHENDISLIYINDE EDEDI USULLAR 01 06 (2) (1)4. MATLAB mühitində qeyri-xətti tənliklər sisteminin həlli
Matlab mühitində xətti və qeyri-xətti tənliklər sistemini həll etmək üçün fsolve( ) funksiyasından istifadə etmək olur və ümumi şəkildə yazılışı aşağıdakı kimidir:
fsolve ('file', x0)
burada, file-m-faylda saxlanılan tənliklər sistemi; x0- başlanğıc yaxınlaşmalar vektorudur.
Nümunə 1. Qeyri-xətti tənliklər sisteminin həllini tapmalı:
Tənliklər sistemi m-faylda bu şəkildə yazılır:
function f=myfun(x)
f=[x(1)*x(2)+x(3)-8; x(1)*x(2).^3+x(3)-120; x(1)*x(2).^4+x(3)-360];
Proqram və nəticələr belədir:
>> x0 = [1;1;1];
>> X = fsolve ('myfun', x0)
düyməsini sıxdıqdan sonra aşağıdakı qiymətləri alarıq:
X =
5.2982
2.8855
-7.2879
Matlab-da xüsusi tip tənlikləri həll etmək üçün bir neçə qurulan funksiya mövcuddur. Bu tip funksiyalar vasitəsilə tənliklər sisteminin iterasiya və ən kiçik kvadratlar üsulu ilə həlli həyata keçirilir. Bu funksiyaların hər hansı biri ilə, həmçinin xətti tənliklər sisteminin həllini tapmaq mümkündür. Belə funksiyalar bicg(), cgs(), qmres(), qmr() şəklindədir. Bu funksiyaların tətbiqi ilə xətti tənliklər sisteminə aid misallara baxaq.
bicg( ) funksiyası bu şəkildədir:
bicg(A, B)
burada, А- tənliklər sisteminin əmsallarından düzəldilmiş matris, B-cərbəst hədlər vektorudur. Bu funksiya naməlum dəyişənləri iterasiya üsulu ilə hesablayır.
Matlab proqramında bu funksiyanın bir neçə modifikasiyası mövcuddur. Onlardan ikisinə baxaq:
bicg(А,B, tol);
bicg(А,B, tol, maxit).
Burada, tol verilən xəta, maxit isə iterasiyaların sayıdır.
Nümunə2. Aşağıdakı tənliklər sistemini həll edin:
Sistemin həllini bicg() və onun modifikasiyalarının köməyi ilə tol=1.е-4 və maxit=15 olduqda tapaq:
Proqram və nəticə aşağıdakı kimidir:
>> A= [1.5 2.7 0.75; 6 -1 3; 1 7 -4];
>> B= [6; 16; -14];
>> y1 = bicg(A,B);
>> y2 = bicg(A,B,0.0001);
>> y3 = bicg(A,B,0.0001,15);
>> Y= [y1, y2, y3]
Y =
0.3879 0.3879 0.3879
0.6780 0.6780 0.6780
4.7834 4.7834 4.7834
Göründüyü kimi bütün hallarda cavablar eynidir. Bu isə onu göstərir ki, istifadə olunan iterasiyalar sayında alınan nəticələr dəqiqdir.
cgs() funksiyaları aşağıdakı şəkildə təqdim olunur:
cgs(A,B )
cgs(A, B, tol )
cgs(A, B, tol, maxit )
Mövzuya aid tapşırıqların variantları
Ax=b xətti tənliklər sistemini Zeydel üsulu ilə həll etməli:
|
| |