Matlabda əvvəlkilərdən istifadə edərək növbəti elementin hesablanması. MATLAB-da sadə hesablamalar. MATLAB sistem alətlər paneli

1. Komanda pəncərəsi(Əmr pəncərəsi).

Riyazi ifadələr əmr sətrində " >> " əmrindən sonra yazılır. Məsələn,

Fəaliyyəti yerinə yetirmək üçün "Enter" düyməsini basın.

Varsayılan olaraq, proqram nəticəni ans xüsusi dəyişəninə yazır.

Nəticəni başqa ad altında saxlamaq üçün, məsələn, dəyişən adından və “=” təyin işarəsindən istifadə edin

>> z = 1,25 /3,11

Redaktə edin Komanda pəncərəsi Siz yalnız cari komanda xəttindən istifadə edə bilərsiniz. Əvvəllər daxil edilmiş əmri redaktə etmək üçün kursoru giriş sətirinə yerləşdirmək və “ ” və ya “ ” düymələrindən istifadə etmək lazımdır.

Əmr ";" ilə bitirsə, onun hərəkətinin nəticəsi komanda xəttində göstərilmir.

Komanda pəncərəsi “ ” düyməsi ilə bağlana bilər, “ ” düyməsi isə pəncərəni sistem interfeysindən ayırmağa xidmət edir. Menyudan istifadə edərək standart pəncərə formasına qayıda bilərsiniz:

Əsas Menyuİş masasıDesktop LayoutDefolt.

Menyudan istifadə edərək əmr pəncərəsini silə bilərsiniz:

Əsas MenyuRedaktə etKomanda Pəncərəsini Sil.

MatLab sisteminin əsas menyusu.

Əsas menyu MatLab aşağıdakı maddələri ehtiva edir:

Fayl(Fayl) – fayllarla işləmək;

Redaktə et(Edit) – redaktə etmək;

Baxın(Görünüş) – pəncərə idarəetməsi;

Veb– internet vasitəsilə tərtibatçı şirkətlə əlaqə;

Pəncərə(Pəncərə) – sistem pəncərələri ilə əlaqə;

Kömək edin(Kömək) – yardım sisteminə keçid MatLab.

MATLAB sistem alətlər paneli.

Alətlər paneli düymələri aşağıdakı məqsədlərə malikdir:

Yeni fayl(Yeni) – fayl redaktoru pəncərələrini göstərir;

Faylı açın(Açıq) – fayl yükləmə pəncərələrini açır;

kəsmək(Kəsmək) – seçilmiş fraqmenti kəsib mübadilə buferinə yerləşdirir;

Kopyalayın(Copy) – seçilmiş fraqmenti mübadilə buferinə köçürür;

Yapışdırın(Yapışdır) – seçilmiş fraqmenti mübadilə buferindən daxiletmə xəttinə köçürür;

Geri al(Ləğv et) – əvvəlki əməliyyatın nəticəsini ləğv edir;

Yenidən edin(Repeat) – əvvəlki əməliyyatın nəticəsini təkrarlayır;

Simulink– Simulink modelini yaradır (uzantılar MatLab);

Yardım pəncərəsi(Kömək) – yardım pəncərələrini açır.

4. Hesablama nəticələrinin çıxış formatı .



Həqiqi ədədləri daxil edərkən kəsr hissəsini ayırmaq üçün nöqtədən istifadə olunur!

>> s = 0,3467819

Hesablamanın nəticəsi formatda göstərilir qısa(nömrə üçün qısa notation), standart olaraq müəyyən edilir. formatını dəyişə bilərsiniz uzun(uzun nömrə qeydi).

>> format uzun

0.34678190000000

Siyahıda Rəqəmsal Format nömrə formatları mövcuddur

qısa- nömrənin qısa qeydi;

uzun– uzun ədədlərin qeydi;

qısa e– üzən nöqtə formatında ədədin qısa qeydi;

uzun e– üzən nöqtə formatında nömrənin uzun qeydi;

qısa g– ədədin qısa qeydinin ikinci forması;

uzun g– ədədin uzun yazılışının ikinci forması;

Rəqəmsal məlumatların göstərilməsi formatı menyuda təyin edilə bilər Fayl(fayl) elementi Üstünlüklər(tercihlər). Taba keçin Komanda pəncərəsi(əmr pəncərəsi). Seçimdə Mətn ekranı(mətn ekranı), siyahıda Rəqəm formatı(rəqəm formatı) dəsti qısa g, seçimdə Rəqəmsal ekran(nömrələri göstərin) təyin edin yığcam. Bu çıxış formatları nömrələri beş əhəmiyyətli rəqəmdən ibarət universal formada çıxarır və sətirlər arasında boşluqları sıxışdırır.

MatLab-da hesablamaların əsasları.

Sadə arifmetik əməliyyatları yerinə yetirmək MatLab operatorlardan istifadə olunur:

· toplama və çıxma +, – ;

· vurma və bölmə *, / ;

· eksponentasiya ^ .

Bəzi xüsusi dəyişənlər:

ans – tapşırıq işarəsi olmayan son əməliyyatın nəticəsi;

eps – üzən nöqtə hesablamalarında nisbi xəta;

pi - rəqəm;

i və ya j – xəyali vahid;

Inf - sonsuzluq;

NaN – qeyri-müəyyən dəyər.

Bəzi daxili elementar funksiyalarMatLab:

exp(x) – x ədədinin göstəricisi;

log(x) – x ədədinin natural loqarifmi;

sqrt(x) – x ədədinin kvadrat kökü;

abs(x) – x ədədinin modulu;

sin(x), cos(x), tan(x), cot(x) – x ədədinin sinus, kosinus, tangensi, kotangensi;

asin(x), acos(x), atan(x), acot(x) – arksinus, arkkosinus, arktangens, x ədədinin arkkotangenti;

sec(x), csc(x) – x ədədinin sekantı, kosekantı;

round(x) – x ədədinin ən yaxın tam ədədə yuvarlaqlaşdırılması;

mod(x,y) – işarə nəzərə alınmaqla x-in y-yə tam bölünməsinin qalığı;

işarəsi(x) – x rəqəminin işarəsini qaytarın.

İfadənin qiymətini hesablayaq

>> exp(–2,5)*log(11,3)^0,3 – sqrt((sin(2,45*pi)+cos(3,78*pi))/tan(3,3))

Əgər operatoru bir sətirdə yerləşdirmək mümkün deyilsə, birinci sətrin sonunda “...” davam işarəsini göstərsəniz, onu növbəti sətirdə daxil etməyə davam etmək mümkündür, məsələn,

>> exp(–2.5)*log(11.3)^0.3 – ...

sqrt((sin(2.45*pi)+cos(3.78*pi))/tan(3.3))

Kompleks ədədlərlə işləmək üçün funksiyalar:

Kompleks ədədin daxil edilməsi

>> z = 3 + 4i

3.0000 + 4.0000i

abs(z), bucaq(z) funksiyaları kompleks ədədin modulunu və arqumentini qaytarır, burada , ;

kompleks(a,b) onun həqiqi və xəyali hissələrindən kompleks ədəd qurur:

conj(z)kompleks qoşma sayını qaytarır;

imag(z), real(z) z kompleks ədədinin xəyali və həqiqi hissəsini qaytarır.

6. Vektorlar.

Ədəmə daxil etmək, toplamaq, çıxmaq, vurmaq.

vektor daxil MatLab kvadrat mötərizə operatorundan istifadə etməklə yaradılmışdır. Bu halda, sütun vektorunun elementləri nöqtəli vergül “;” ilə, sətir vektorunun elementləri isə boşluq “” və ya vergül “,” ilə ayrılır.

Sütun vektorunu təqdim edək.

>> x =

Bir sıra vektorunu təqdim edək .

>> y =

Vektoru köçürmək üçün “'” apostrofundan istifadə edin:

>> z = y'

Vektorların cəmini və fərqini tapmaq üçün “+” və “–” işarələrindən istifadə edin:

>> c = x + z

Bir vektorun ədədə vurulması həm sağda, həm də solda “*” işarəsindən istifadə etməklə həyata keçirilir.

Vektorlar daxili funksiyaların arqumentləri ola bilər, məs.

>> d = günah(c)

Vektorların elementlərinə istinad etmək üçün mötərizələr () istifadə olunur, məsələn,

>> x_2 = x(2)

Vektorun sonuncu elementi əmri yazmaqla seçilə bilər

>> X_end = x(son)

Bir neçə vektordan birini, məsələn, edə bilərsiniz

>> r =

1.3 5.4 6.9 7.1 3.5 8.2

" : " iki nöqtə işarəsi, məsələn, vektordan çoxlu elementləri ayırmaq üçün istifadə olunur

>> w = r(3:5)

" : " iki nöqtə işarəsi də vektorun elementlərini əvəz etməyə imkan verir, məsələn,

>> r(3:5)= 0

1.3 5.4 0 0 0 8.2

“:” simvolundan hər bir elementi əvvəlkindən sabit ədədlə fərqlənən vektor qurmaq üçün də istifadə edilə bilər, yəni. addım, məsələn

>> h =

1 1.2 1.4 1.6 1.8 2

Addım mənfi ola bilər (bu halda başlanğıc rəqəm son nömrədən çox olmalıdır).

Birə bərabər bir addım buraxıla bilər

>> k =

Vektorlarla işləmək üçün əsas funksiyalar.

  • uzunluq(x) – x vektorunun uzunluğunu təyin etmək;
  • prod(x) – x vektorunun bütün elementlərinin vurulması;
  • sum(x) – x vektorunun bütün elementlərinin cəmi;
  • max(x) – x vektorunun maksimum elementinin tapılması;
  • min(x) – x vektorunun minimum elementinin tapılması.

Əgər min və ya max funksiyasını iki çıxış arqumenti ilə çağırsanız = min(x),

onda birinci dəyişənə minimum (maksimum) elementin qiyməti, ikinci dəyişənə isə bu elementin nömrəsi verilir.

7 Matrislər.

Müxtəlif matris daxiletmə üsulları.

1. Matris hər biri sətir vektoru olan və nöqtəli vergüllə ayrılan iki elementdən ibarət sütun vektoru kimi daxil edilə bilər. Məsələn, matrisi təqdim edək

>> A =

2. Matrisi əmrlərin ardıcıllığını yerinə yetirməklə sətir-sətir daxil etmək olar:

>> A =.

\ əməliyyatında həyata keçirilən alqoritm aşağıdakı addımlardan ibarətdir:

  • 1. Trivial halda, əgər A seyrək və diaqonaldırsa (MATLAB-da Seyrək Matrislər bölməsi seyrək matrislərə həsr olunub), həll x k = b k /a kk sadə düsturundan istifadə etməklə tapılır, burada k=1,2,. ..n.
  • 2. Əgər A kvadrat, seyrək və zolaqlı matrisdirsə, onda band matrisinin həlledicisindən istifadə olunur. İki seçim ola bilər:

    a. Əgər A üçbucaqlı matrisdirsə və b həqiqi ədədlərin tək sütunudursa, sistem Qauss aradan qaldırılması ilə həll edilir (onun əməliyyatları yalnız diaqonallardakı elementlər üzərində aparılır). Əgər aradan qaldırma prosesi zamanı sabitliyi qorumaq üçün cərgə dəyişdirmələri etmək lazımdırsa və ya A matrisi üçbucaqlı deyilsə, onda aşağıdakı nöqtə işləyir.
    b. Əgər A sıfırdan fərqli elementlərin sıxlığı parametrdən böyük olan lentdirsə bantlanmış, standart olaraq 0,5-ə bərabərdir və ya əvvəlki bəndin şərtləri yerinə yetirilmir, onda A və b növündən asılı olaraq ( ikiqat və ya subay) aşağıdakı LAPACK kitabxana prosedurları adlanır:

    A və b həqiqi cütlərdir - DGBTRF, DGBTRS prosedurları
    A və b kompleks tipli ikiqat - ZGBTRF, ZGBTRS prosedurları
    A və ya b real tipli tək - SGBTRF, SGBTRS prosedurları
    A və ya b kompleks tipli tək - CGBTRF, CGBTRS prosedurları

    Sıfırdan fərqli elementlərin sıxlığı lentdəki sıfır olmayan elementlərin sayının matris lentindəki bütün elementlərin sayına nisbəti kimi başa düşülür, məsələn, şablonu verilmiş 7-dən 7-ə qədər olan bir matris üçün. aşağıda, sıfırdan fərqli elementlərin sayı

    nz = 1 (diaqram No.-2 üzrə) + 6 (diaqram No.-1 üzrə) + 7 (diaqram No. 0 üzrə) + 6 (diaqram No. 1 üzrə) + 1 (diaqram No. 2 üzrə) + 1 (3 nömrəli diaqramda) = 22,

    və lentdəki bütün elementlərin sayı

    band = 5 (diaqram No.-2 üzrə) + 6 (diaqram No.-1 üzrə) + 7 (diaqram No. 0 üzrə) + 6 (diaqram No. 1 üzrə) + 5 (diaqram No. 2 üzrə) + 4 (3 nömrəli diaqram üzrə) = 33

    sıfırdan fərqli elementlərin sıxlığı isə 2/3 olacaq. 2/3 > 0.5 olduğundan, zolaq matrisləri üçün həlledici istifadə olunacaq
    Parametr bantlanmış, MATLAB-da seyrək matris alqoritmlərini idarə edən digər parametrlər kimi, spparms funksiyasından istifadə etməklə təyin edilir.

    Alqoritmin bu addımının mənası ondan ibarətdir ki, lent matrisi olan sistemin həlli lentdən kənar hərəkətlər tələb etmir. Yem kifayət qədər doludursa, sıfır elementləri olan çox hərəkət olmayacaq. Əksinə, lent kifayət qədər seyrəkdirsə, alqoritmin sonrakı addımlarında verilən yanaşmalar daha böyük effekt verə bilər.

  • 3. Əgər A yuxarı və ya aşağı üçbucaqlı matrisdirsə, onda tərs əvəzetmə üsulundan və ya müvafiq olaraq birbaşa əvəzetmə üsulundan istifadə olunur ki, burada həll komponenti sonuncu (və ya birinci tənlikdən) tapılır və sonra tapılan komponentlər tənliklərin növbəti həll komponentləri sistemlərini tapmaq üçün aşağıdakı tənliklərlə əvəz olunur.
  • 4. Əgər A - dəyişdirmələrlə üçbucaqlı formaya endirmək olarsa, onda müvafiq reduksiya aparılır və sonra tənliklər sistemi 3-cü addımdakı kimi həll edilir.
  • 5. Əgər A simmetrik matrisdirsə (və ya mürəkkəb halda, Hermitian) və onun diaqonalında yalnız müsbət real elementlər varsa, onda A-nın seyrək olub-olmamasından asılı olaraq a) və ya b) bəndi yerinə yetirilir.

    a. Əgər A seyrək deyilsə, onda R T və R üçbucaqlı matrisləri olan sistemlərin həlli ilə A = R T R Xoleski parçalanmasına cəhd edilir: R T y = b və Rx = y. Bu halda LAPACK kitabxanasının aşağıdakı prosedurları adlanır:

    A və b həqiqi və ikiqatdır - DLANGE, DPOTRF, DPOTRS, DPOCON
    A və b mürəkkəb və ikiqatdır - ZLANGE, ZPOTRF, ZPOTRS, ZPOCON
    A və b realdır və tək tipdir - SLANGE, SPOTRF, SPOTRS, SDPOCON
    A və b kompleks və tək tip - CLANGE, CPOTRF, CPOTRS, CPOCON

    Matris müsbət müəyyən deyilsə, Cholesky parçalanması uğursuz olacaq. Lakin müsbət müəyyənlik üçün ilkin yoxlama yoxdur və bu, parçalanma prosesi zamanı dəqiq müəyyən edilir, çünki matrisin müsbət müəyyən olmadığını aydınlaşdırmaq üçün çox vaxt Cholesky parçalanmasının bir neçə addımını yerinə yetirmək kifayətdir. hesablamalar prosesində mənfi ədədin kvadrat kökünü çıxarmaq zərurəti yaranır). Cholesky parçalanması təmin edilmirsə, növbəti nöqtəyə keçin.

    b. Əgər A seyrəkdirsə, Cholesky parçalanma əmsalının doldurulmasını azaltmaq üçün əvvəlcə sətir və sütunların simmetrik dəyişdirilməsi simmetrik minimum dərəcə alqoritmindən (funksiya symmmd) istifadə edilir, yəni. doldurma prosesində yaranan sıfırdan fərqli yeni elementlərin sayını azaltmaq üçün:

    p = symmmd(A) - vektor p permutasiyaları ehtiva edir

    R = chol(A(p, p));

    və Cholesky çarpanları olan iki sistem həll edilir, birincisi köçürülmüş çarpan və sağ tərəf vektorunda uyğun permutasiyalarla

    ikincisi, genişləndirmə əmsalı ilə və həll komponentlərini x vektorunda müvafiq mövqelərə daxil etməklə
    x(p, :) = R\y

  • 6. Əgər A Hessenberq matrisidirsə, onda o, yuxarı üçbucaqlı matrisə (sağ tərəfin müvafiq modifikasiyası ilə) azaldılır və sonra sistem əvəzetmələrlə həll edilir.
  • 7. Əgər A 1-6-cı bəndlərin şərtlərini ödəməyən kvadrat matrisdirsə, onun seyrək olub-olmamasından asılı olaraq aşağıdakı hərəkətlər yerinə yetirilir.

    a. Əgər A seyrək matris deyilsə, onda aparıcı elementin seçimi ilə Qauss aradan qaldırılmasından istifadə etməklə (parçalanmanın sabitliyini təmin etmək üçün) A = LU matrisinin LU parçalanması aparılır, burada

    U - yuxarı üçbucaqlı matris
    L sətirlərin dəyişdirilməsi ilə üçbucaqlıya endirilmiş matrisdir

    və Ax = b sisteminin həlli üçbucaqlı matrisləri Ly = b, Ux = y olan sistemləri ardıcıl həll etməklə tapılır.
    LU-nun parçalanması üçün aşağıdakı LAPACK kitabxana prosedurları çağırılır:

    A və b həqiqi və ikiqatdır - DLANGE, DGESV, DGECON
    A və b mürəkkəb və ikiqatdır - ZLANGE, ZGESV, ZGECON
    A və b realdır və tək tipdir - SLANGE, SGESV, SGECON
    A və b mürəkkəb və tək tipdir - CLANGE, CGESV, CGECON

    b. Əgər A seyrək matrisdirsə, onda parçalanmanın tapılması prosesində L və U faktorlarının doldurulmasını azaltmaq üçün sütunlar yenidən qurulur. Bundan əlavə, LU-nun parçalanması prosesində cərgələri yenidən təşkil etməklə hesablama sabitliyi təmin edilir, bundan sonra üçbucaqlı matrisli sistemlər yenidən həll olunur. Seyrək matrisin LU parçalanmasını həyata keçirmək üçün UMFPACK kitabxanasının prosedurlarından istifadə olunur.

    8. Əgər alqoritmin əvvəlki nöqtələri işləmirsə və deməli, A kvadrat matris deyilsə, onda hər şey onun seyrəkliyi ilə müəyyən edilir və aşağıdakı nöqtələrdən biri işləyir:

    a. Əgər A seyrək matris deyilsə, onda QR-nin parçalanması AP = QR yerinə yetirilir, burada P sütun permutasiya matrisidir, Q ortoqonal matrisdir (Q T Q = I), R isə yuxarı üçbucaqdır. Əgər A m ilə n ölçülüdürsə, Q m ilə m, R isə m ilə n ölçülüdür. Sonra, sistemin həlli aşağıdakı kimi tapılır:

    x = P*(R \ (Q" * b))

    çünki Ax = b və AP = QR-dən belə çıxır: QRx = bP və Rx = Q T bP.

    b. Seyrək və düzbucaqlı A matrisi vəziyyətində Q matrisini hesablamağın mənası yoxdur, çünki çox güman ki, doldurulacaq. Buna görə də, QR parçalanma alqoritmi c = Q T b (yəni dəyişdirilmiş sağ tərəf) hesablayır və ilkin sistem Ax = b həllini əldə etmək üçün Rx = c sistemini üçbucaqlı matrislə həll edir.

Yuxarıda göstərilənlərin hamısına əlavə olaraq, yuxarıda göstərilən alqoritm matrisin şərtliliyini qiymətləndirir və matris zəif kondisiyalaşdırılıbsa, həlldə mümkün səhv haqqında xəbərdarlıq göstərir (bax: Matrisin şərtiliyinin dəqiqliyə təsiri bölməsinə baxın onunla bir sistemin həlli). Yuxarıdakı alqoritm əhəmiyyətli əlavə vaxt apara bilən müxtəlif yoxlamaları ehtiva edir. Növbəti bölmə, Xətti tənliklər sistemlərinin həlli üçün linsolve funksiyası, linsolve funksiyasını təqdim edir ki, bu da matrisin növünü təyin etməyə imkan verir və bununla da hesablama vaxtını azaldır.

xətti tənliklər sistemlərinin həlli üçün linsolve funksiyası

Xətti cəbri tənliklər sistemini (və ya matrisdə müəyyən edilmiş çoxlu sağ tərəfləri olan sistemləri) tərs kəsik işarəsindən istifadə etməklə həll etmək əvəzinə, \ əməliyyat alqoritminə xas olan bütün matris yoxlamalarını yerinə yetirməyən linsolve funksiyasından istifadə edə bilərsiniz. əvvəlki bölməyə baxın).

Linsolve funksiyası ən sadə formada iki giriş arqumenti və bir çıxış arqumenti ilə çağırılır
x = linsolve(A, b)
matrisin kvadrat olub-olmamasından asılı olaraq Ax = b sistemini üsullardan biri ilə həll edir.

  • Əgər A kvadrat matrisdirsə, əvvəlcə onun LU parçalanması hesablanır və sonra L və U üçbucaqlı matrisləri olan iki sistem həll edilir.
  • Əgər A düzbucaqlı matrisdirsə, əvvəlcə onun QR parçalanması hesablanır və sonra üçbucaqlı matrisli sistem həll edilir.

(Nəticədə genişlənmə faktorları ilə hərəkətlər haqqında ətraflı məlumat bölmədə yazılmışdır). Bundan əlavə, əgər A matrisi pis vəziyyətdədirsə və ya A natamam dərəcə matrisidirsə, müvafiq xəbərdarlıq göstərilir, məsələn:

A = ; b = ; x = linsolve(A,b) Xəbərdarlıq: Reytinq çatışmazlığı var, dərəcə = 1, tol = 4.4686e-015. x = 0 0 2.0000

Bu mesajın komanda pəncərəsində çap edilməsini dayandırmaq üçün iki çıxış arqumenti ilə linsolve funksiyasını çağırın.
= linsolve(A, b)
onda alınan həll x-də, r-də isə - ya matrisin rütbəsi (əgər A düzbucaqlı matrisdirsə) və ya onun şərt nömrəsi üçün qiymətləndirmənin əksi (bölməyə bax) yazılacaq.

A = ; b = ;

= linsolve(A,b) x = -1.0000e+000 9.9999e-001 3.3307e-006 r = 6.9444e-013

  • Linsolve funksiyasının \ əməliyyatından əsas üstünlükləri tənliklər sisteminin matrisinin tipini təyin edərkən ortaya çıxır. Bunun üçün linsolve funksiyasını çağırmazdan əvvəl aşağıdakı sahələrlə matris haqqında məlumat olan strukturu doldurmalısınız.
  • SYM - simmetrik;
  • LT - aşağı üçbucaqlı;
  • UT - yuxarı üçbucaqlı;
  • UHESS - Hessenberg;
  • POSDEF - simmetrik, müsbət müəyyən;
  • RECT - düzbucaqlı;

TRANSA - verilmiş bir matrislə köçürülmüş bir sistemi həll etmək lazımdırmı.

Hər bir sahə doğru və ya yalan ola bilər. Əlbəttə ki, sahə dəyərlərinin bütün birləşmələri etibarlı deyil, məsələn, bir matris üçbucaqlı və eyni zamanda simmetrik və müsbət müəyyən ola bilməz; Sahə dəyərlərinin düzgün birləşmələri aşağıdakı cədvəldə toplanmışdır LT UT UHESS SYM POSDEF RECT
TRANSAdoğrudurdoğrudurdoğrudurdoğruduryalanyalan
doğrudurTRANSAdoğrudurdoğrudurdoğruduryalanyalan
doğrudurdoğrudurTRANSAdoğrudurdoğrudurdoğruduryalan
doğrudurdoğrudurdoğrudurTRANSATRANSAdoğruduryalan
doğrudurdoğrudurdoğrudurdoğrudurdoğruduryalanyalan

Sistemin matrisi müsbət müəyyəndirsə, o zaman bunu həll edərkən nəzərə almaq lazımdır, çünki müsbət müəyyən matrislər üçün həll ümumi kvadrat matrisli sistemləri həll edərkən istifadə olunan LU parçalanmasından daha az əməliyyat tələb edən Cholesky parçalanmasına əsaslanır. . Bunu simmetrik müsbət müəyyən matrisin yaradıldığı (təsadüfi ədədlər matrisi ona köçürmə ilə əlavə olunur və diaqonalına böyük ədədlər əlavə olunur) aşağıdakı nümunənin köməyi ilə yoxlamaq asandır. bu matrisli tənliklər əvvəlcə ümumi formalı matrisli sistem kimi (opts.SYM = false və opts.POSDEF = false), sonra isə simmetrik və müsbət müəyyən matrislə (opts.SYM = true və opts) həll edilir. .POSDEF = doğru).

% SYM və POSDEF opts istisna olmaqla, əməliyyat strukturunun bütün sahələrini təyin edin. TRANSA = false; opts.UHESS = yanlış; opts.RECT ​​= yalan; opts.UT = yalan; opts.LT = yalan; % N = 2 matrisin vektorunu yaradın.^(8:12); % həll vaxtını qeyd etmək üçün boş massivlər yaradın TimeGeneral = ; TimePosSym = ; % döngədə matrislər yaradırıq və n = N üçün həll vaxtlarını müqayisə edirik % simmetrik və müsbət müəyyən matris % və sağ tərəfin vektoru A = rand(n); A = A + A" + 2*n*eye(n); b = cəmi(A, 2); % sistemi ümumi matrisli sistem kimi həll edin opts.SYM = false; opts.POSDEF = false; Tstart = cputime x = linsolve (A,b, opts); = ; son % qrafikləri göstərin rəqəm jurnalı(N, TimeGeneral, N, TimePosSym) əfsanəsi("TimeGeneral", "TimePosSym")

Sistemin həlli üçün bu üsulların nəticəsində yaranan hesablama xərcləri aşağıdakı qrafikdə göstərilmişdir

Əlbəttə ki, əgər matris üçbucaqlıdırsa, bunu göstərmək çox vacibdir, çünki üçbucaqlı matrisli sistemin həlli O(n 2) əməliyyatlarında yerinə yetirilir və əgər ümumi matris üçün nəzərdə tutulmuş həll alqoritmi üçbucaqlı matrisi olan sistemə tətbiq edilirsə, onda təxminən O(n 3) əməliyyatları yerinə yetirəcək.

Linsolve funksiyası matrisin göstərilən xassələrə cavab verib-vermədiyini yoxlamır və bu, xəta ilə nəticələnə bilər. Məsələn, əgər, aşağıdakı matrisli və sağ tərəfi olan sistemi həll edərkən

A = ; b = ; UT sahəsi üçün doğru təyin edin (və bütün digərlərini false olaraq təyin edin) opts.UT = true; opts.TRANSA = yalan; opts.LT = yalan; opts.UHESS = yanlış; opts.SYM = yanlış; opts.POSDEF = yanlış; opts.RECT ​​= yalan; onda sistemi həll edərkən linsolve funksiyası matrisi yuxarı üçbucaq hesab edəcək və yuxarı üçbucaqdan ona lazım olan elementləri seçəcək A x = linsolve(A,b, opts) Bu, x = 1 1 1 həlli ilə nəticələnəcək. A = matrisinə uyğundur;

Matris şərtiliyinin onunla sistemin həllinin düzgünlüyünə təsiri

Bu bölmədə biz sağ tərəf vektorunun elementlərində və Ax = b xətti tənliklər sisteminin matrisində olan xətaların həmin sistemin həllinə necə təsir edə biləcəyinə baxırıq. Əvvəlcə b sağ tərəfinin vektoruna pozulmaların daxil edilməsi məsələsinə keçək. Beləliklə, iki sistemi həll edirik

Üstəlik, sistemlərin hər birini dəqiq həll etdiyimiz güman edilir və ortaya çıxan əsas sual, (1) sisteminin x həllinin sağ tərəfində δb təlaşla (2) sisteminin həllindən nə dərəcədə fərqli olacağıdır. Bu kifayət qədər vacib sualdır, çünki sağ tərəfdəki elementlər hər bir b k komponentində müvafiq olaraq δb k xətasını ehtiva edən bəzi ölçmələr nəticəsində əldə edilə bilər. İstərdim ki, eyni kəmiyyəti ölçərkən (hər dəfə öz kiçik səhvləri ilə) bir qədər fərqli sağ tərəfləri olan sistemlərin müvafiq həlləri də bir-birindən çox da fərqlənməsin. Təəssüf ki, bu həmişə belə olmur. Bunun səbəbi matrisin onun adlanan xüsusiyyətidir şərtilik. Bu daha sonra müzakirə olunacaq.

Birincisi, vektorların və x-in yaxınlığının ölçüsünü təqdim etməlisiniz, yəni. xəta vektoru. Vektorun böyüklüyünün ölçüsü normadır (müxtəlif yollarla müəyyən edilə bilər). Hələlik vektorun adi Evklid normasını (onun komponentlərinin kvadratlarının cəminin kvadrat kökünü) norma kimi götürək, yəni.

Müvafiq olaraq

burada n sistemdəki naməlumların və tənliklərin sayıdır. Vektorun böyüklüyünü qiymətləndirmək üçün vektor normasına əlavə olaraq, matrisin böyüklüyünü qiymətləndirmək üçün matris normasına da ehtiyacımız var. Aşağıdakı kimi təyin olunan matris normasını götürək (buna spektral norma deyilir):

olanlar. spektral matrisin norması A T A matrisinin maksimum xüsusi dəyərinin kvadrat kökünə bərabərdir. MATLAB-da matrislərin və vektorların normalarının hesablanması üçün norma funksiyası vardır ki, bu da xüsusilə yuxarıda göstərilən normaları hesablaya bilir. Niyə vektorların və matrislərin bu xüsusi normalarını seçdiyimiz bir neçə hesablama və təriflərin verildiyi bölmədə ətraflı izah olunur. Bu, sistemin həllində səhv üçün istifadə edəcəyimiz təxminlə bağlıdır (bu bərabərsizliyin əldə edilməsi də qeyd olunan bölmədə verilmişdir):

Burada aşağıdakı kimi təyin olunan matrisin şərt nömrəsi göstərilir:

Yuxarıdakı bərabərsizlikdən belə nəticə çıxır ki, sistem matrisinin şərt sayı nə qədər böyük olarsa, sağ tərəfdəki kiçik xəta ilə həlldə nisbi səhv bir o qədər çox ola bilər.

Şərtsiz matrisin klassik nümunəsini - Hilbert matrisini nəzərdən keçirək və sistemin sağ tərəfindəki xətanın həlldəki xətaya necə təsir etdiyini öyrənək. Hilbert matrisi aşağıdakı kimi müəyyən edilir

Hilbert matrisini yaratmaq üçün MATLAB hilb funksiyasını təmin edir, onun giriş arqumenti matrisin ölçüsünü təyin edir. Kiçik 6-ya 6 matrisi götürək:

N = 6; H = hilb(n) H = 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.1667 0.1429 0.1250 0.111 1 0.1000 0.0909

X = birlər(n, 1); b = H*x b = 2,4500 1,5929 1,2179 0,9956 0,8456 0,7365

Biz görürük ki, nə matrisdə, nə də sağ tərəfdəki vektorda “şübhəli” heç nə yoxdur; İndi b vektoruna 10 -5 düzənli kiçik ədədləri əlavə etməklə pozulmuş sağ tərəfi b + δb təşkil edək və vektoru əldə etmək üçün pozulmuş sağ tərəfi olan sistemi həll edək.

Delta_b = 1e-5*(1:n)"; x_tilda = H\(b + delta_b) x_tilda = 0,9978 1,0735 0,4288 2,6632 -1,0160 1,8593

Görünür ki, ortaya çıxan həll bütün vahidlərin olması lazım olan dəqiqdən uzaqdır. Həlldə və sağ tərəfdə nisbi xətanı hesablayaq (norma funksiyası standart olaraq vektorun Evklid normasını hesablayır):

Delta_x = x - x_tilda; SOL = norma(delta_x)/norm(x) SOL = 1.1475 SAĞ = norma(delta_b)/norma(b) SAĞ = 2.7231e-005

Deməli, sağ tərəfdəki dəyişikliklər 10 -5 dərəcəsində olsa da, həlldəki xəta vəhdət qaydasındadır. Bu, yuxarıdakı səhv bərabərsizliyinə mükəmməl uyğun gəlir. Həqiqətən də, gəlin şərt nömrəsini cond(H) şərti adlanan MATLAB funksiyasından istifadə edərək hesablayaq və defolt olaraq hesablayırıq. matrisin spektral norması üçün

C = cond(H) c = 1.4951e+007

SOL ≈ 1.1475 az

C * DÜŞÜK? 1.4951e+07 * 2.7231e-05 ≈ 407

və bərabərsizlik təmin edilir (hətta bəzi marja ilə).

Hilbert matrisinin ölçüsü artdıqca, həlldəki xəta yalnız artacaq (bunu n = 7, 8, ... təyin etməklə yoxlamaq asandır). Bundan əlavə, n = 12 üçün matrisin pis vəziyyətdə olduğunu və həllin səhv ola biləcəyini bildirən bir mesaj göstəriləcək.

Xəbərdarlıq: Matris təkə yaxındır və ya pis ölçülüdür.
Nəticələr qeyri-dəqiq ola bilər. RCOND = 2.409320e-017.

Şərtilik ölçüsü olaraq, burada seçilmiş dəyər RCOND şərt nömrəsinin təxmininə bölünmüş birinə bərabərdir (şərtin nömrəsi, yardımda daha ətraflı təsvir olunan şərtdən daha sürətli işləyən kifayət qədər sürətli alqoritmdən istifadə etməklə qiymətləndirilir. rcond funksiyasında). RCOND dəyəri kiçikdirsə, matris pis vəziyyətdə hesab olunur.

Hilbert matrisinin ölçüsü artdıqca həlldə xətanın artması Hilbert matrisinin şərt nömrəsinin ölçüsü ilə çox tez böyüməsi ilə əlaqədardır. Bunu sadə bir döngə və semilogiya funksiyasından istifadə etməklə yoxlamaq asandır (ordinat oxu boyunca miqyas loqarifmikdir):

N = 1:20; C = sıfırlar (1, 20); n = N H = hilb(n) üçün;

C(n) = cond(H); end semilogy(N, C) şəbəkəsi açıq, başlıq("cond(H)"), xlabel("n")

Yeri gəlmişkən, cond funksiyası şərt nömrəsini ədədi üsulla tapdığından (yəni, tək ədədlərin tapılması üçün tək genişlənmə), n = 12-dən sonrakı şərt nömrəsi artıq düzgün hesablanmır, daha da böyüyə bilər; MATLAB-da simvolik hesablamalardan və verilən sayda əhəmiyyətli rəqəmlərlə əməliyyatlardan istifadə etməklə yoxlanılmalıdır

N = 1:20; C = sıfırlar (1, N); n = N H = vpa(sym(hilb(n))) üçün rəqəmlər(60); 60-cı rəqəmə dəqiq Hilbert matrisinin % hesablanması siqma = svd(H); % Hilbert matrisinin sinqulyar qiymətlərinin tapılması % Hilbert matrisinin şərt sayının hesablanması C(n) = max(double(sigma))/min(double(sigma)); end semilogy(N, C) şəbəkəsi açıq, başlıq("cond(H)"), xlabel("n")

İndi bu nümunə ilə bağlı üç vacib məqama nəzər salaq.

Onlardan birincisi - Hx = b sisteminin (sağ tərəf vektoru vahidlərdən həllə uyğun olan) tərs xətt operatorundan istifadə edərək həlli dəqiq vahidlər verməyəcək, xəta artıq onuncu rəqəmdə olacaq (baxmayaraq ki, MATLAB-da hamısı hesablamalar standart olaraq ikiqat dəqiqliklə aparılır)

Bu, ona görə baş verir ki, H matrisini hamının vektoruna vurarkən b vektorunu hesablayarkən, biz artıq ona bəzi xəta daxil etmişik. Bundan əlavə, sistemin həlli prosesində yuvarlaqlaşdırma səhvləri də rol oynadı və matrisin zəif kondisioneri (hətta kiçik ölçülü də) həlldə belə səhvlərə səbəb oldu. Həqiqətən, kiçik şərt sayı olan kiçik matrislər üçün belə bir təsir müşahidə edilməyəcəkdir. 6-dan 6-ya təsadüfi ədədlər matrisini götürək və onun şərt nömrəsini hesablayaq

A = rand(n); cond(A) ans = 57.35245279907571

Sonra bütün vahidlərdən dəqiq həllə uyğun gələn sağ tərəfi düzəldirik

X = birlər(n, 1); b = A*x;

və yaxşı dəqiqliklə nəticələnən sistemi həll edin

>> A\b ans = 1.00000000000000 1.000000000000000 1.000000000000000 1.000000000000000 1.00000000000000000000000.

İkinci vacib məqam matrisin determinantı ilə bağlıdır. Sistemi həll etdiyimiz 6-6 Hilbert matrisinin determinantını hesablayaq.

>> det(hilb(6)) ans = 5.3673e-018

Determinant kifayət qədər kiçikdir, ondan yanlış nəticə çıxarmaq olar ki, sistemin sağ tərəfinin kiçik bir pozulması ilə həllində böyük səhv probleminin mənbəyi determinantın kiçikliyidir. Əslində, bu belə deyil, əgər sistemin determinantı kiçikdirsə, bu, matrisin zəif şərtləndirilməsi demək deyil və buna görə də həlldə böyük bir səhv var. Həqiqətən, gəlin matrisi götürək

A = ;

Onun təyinedicisi çox kiçikdir, təxminən 10 -121

Det(A) ans = 9,9970e-121

(“çox” sözü əlbəttə ki, şərtidir, lakin o, sistemi həll edərkən problemlə üzləşdiyimiz 6-ya 6 Hilbert matrisinin determinantından kiçikdir). Bununla belə, determinantın kiçikliyi sistemin sağ tərəfi pozulduqda həlldəki xətaya heç bir şəkildə təsir etməyəcək, bunu məlum həlli olan bir sistem yaratmaqla, sağ tərəfə pozuntular daxil etməklə və həll etməklə göstərmək asandır. sistem:

X = ; b = A*x; delta_b = 1e-5*; x_tilda = A\(b+delta_b); delta_x = x - x_tilda; SOL = norma(delta_x)/norm(x) SAĞ = norma(delta_b)/norma(b) SOL = 2.1272e-005 SAĞ = 2.1179e-005

Beləliklə, həlldəki nisbi səhv demək olar ki, sağ tərəfdəki nisbi xətaya bərabərdir, çünki yuxarıdakı A matrisinin şərt nömrəsi 1-dən bir qədər böyükdür, yəni:

C = cond(A) c = 1,0303

Və nəhayət, həlldəki səhv üçün bərabərsizlikdə bərabər işarənin əldə edilməsi ilə bağlı üçüncü sualı nəzərdən keçirin.

Yəni, başqa sözlə, öyrənək: sistemin sağ tərəfində kiçik bir nisbi pozğunluq etdikdə, məsələn, 10 -5, sistem matrisinin şərt sayı 10 10-a bərabər olan bir vəziyyət ola bilərmi? , və məhlulda 10 5 nisbi xəta alınır. Bir çox nümunədən keçə bilərsiniz, fərqli matrisləri sınayaraq, bərabərliyə nail ola bilməzsiniz və səhv bir nəticəyə gələ bilərsiniz ki, bu, həlldəki bir səhv üçün yuxarıdan sadəcə həddindən artıq qiymətləndirmədir. Ancaq bu, belə deyil, çünki aşağıdakı nümunə bizi buna inandırır.

burada sağ tərəfin nisbi pozulması 10 -5-dir

RIGHT = norma(delta_b)/norm(b) RIGHT = 1.0000e-005

Sistemin həllində nisbi səhv 10 5 olur

X = A\b; x_tilda = A\(b+delta_b); delta_x = x - x_tilda; SOL = norma(delta_x)/norm(x) SOL = 1.0000e+005

Və bu ona görə baş verir
1) bu misalda A matrisinin şərt sayı 10 10-dur;

C = cond(A) c = 1.0000e+010

2) həlldəki səhv üçün bərabərsizlik bərabərliyə çevrilir.

Formatı long olaraq təyin etsək görərik ki, SOL, RIGHT və şərt nömrəsi müvafiq olaraq 10 5 , 10 -5 və 10 10 deyil, lakin bu yuvarlaqlaşdırma xətaları ilə bağlıdır. Dəqiq hesabla həll olunarsa, analitik şəkildə göstərilə bilən bərabərlik dəqiq olardı (bölməyə bax).

Əvvəlki misallarda biz hesab etdik ki, matrisin xətaları yoxdur və xətalar yalnız xətti tənliklər sisteminin sağ tərəfində ola bilər. Təcrübədə, sistem matrisinin elementlərinin səhvlərlə göstərildiyi ortaya çıxa bilər, yəni. sistemin əvəzinə

|| Ax || V = || b || V ⇒ || A || M || x || V ≥ || b || V

harada || || M hansısa matris normasıdır. Bunun üçün matris norması || || M və vektor norması || || V aşağıdakı bərabərsizliyi təmin etməlidir

|| A || M || x || V ≥ || Ax || V

istənilən A matrisləri və x vektorları üçün. Bu bərabərsizlik özünü doğruldursa, o zaman matris norması || || M adlanır razılaşdı vektor norması ilə || || V. Məlumdur ki, məsələn, spektral norma

(A T matrisinin maksimum özəl dəyərinin kvadrat kökü) Evklid vektor normasına uyğundur

Buna görə də bu bölmədə biz bu normalardan istifadə edərək bütün təcrübələri həyata keçirdik.

|| bərabərsizliyini alaraq A || M || x || V ≥ || b || V daha sonra qeyd edək ki, Ax = b-dən belə nəticə çıxır. A matrisi tək olmadığı üçün buradan belə nəticə çıxır ki, δx = A -1 δb və || δx || V = || A -1 δb || V. Yenə də normaların ardıcıllığından istifadə edib || bərabərsizliyini əldə edirik δx || V ≤ || A -1 || M || δb || V. Bundan əlavə, əldə edilən iki bərabərsizlikdə

|| A || M || x || V ≥ || b || V və || δx || V ≤ || A -1 || M || δb || V

Bərabərsizliklərdən birinin kiçik qiymətini digər bərabərsizliyin daha böyük dəyərinə, daha böyük dəyərini isə müvafiq olaraq daha kiçik olana bölürük.

və sadə bir çevrilmə ilə nəhayət tələb olunan bərabərsizliyi əldə edirik

burada cond(A) = || A || M* || A -1 || M.

Qeyd edək ki, xəta üçün bərabərsizliyi əldə edərkən biz yalnız matris normasının vektor normasına uyğun olması faktından istifadə etdik. Bu, təkcə matrisin spektral norması və vektorun Evklid norması üçün deyil, digər normalar üçün də keçərlidir. Beləliklə, məsələn, formula ilə hesablanan maksimum sütun matrisi norması

birinci vektor normasına uyğundur

və düsturla hesablanan maksimum sıra matrisi norması

sonsuz vektor normasına uyğundur

Norm funksiyası təkcə vektorun Evklid normasını və matrisin spektral normasını deyil, yuxarıda sadalanan vektor və matris normalarını da hesablayır. Bunu etmək üçün onu əlavə ikinci arqumentlə çağırmalısınız:

  • q = norma(A, 1) - A matrisinin maksimum sütun norması
  • q = norma(A, inf) - A matrisinin maksimum sıra norması
  • q = norma(a, 1) - a-nın birinci vektor norması
  • q = norma(a, inf) - sonsuz vektor norma a

Matris şərt nömrəsi cond(A) = || A || M* || A -1 || Müxtəlif matris normalarına münasibətdə M kond funksiyasından istifadə etməklə hesablana bilər. Əgər cond bir giriş arqumenti (matris) ilə çağırılırsa, onda şərt nömrəsi spektral matrisin normasına nisbətən hesablanır. Cond funksiyasının əlavə arqumentlə çağırılması müəyyən edilmiş matris normasına nisbətən şərt nömrələrini qaytarır:

  • c = cond(A, 1) - matrisin maksimum sütun normasına nisbətən şərt nömrəsi
  • с = cond(A, inf) - matrisin maksimum sıra normasına nisbətən şərt nömrəsi

Səhv bərabərsizliyində matris normasının vektor norması ilə uyğunluğunun vacibliyini nümayiş etdirən nümunə olaraq A matrisi, sağ tərəfdəki b vektoru və sağ tərəfdəki delta_b xəta vektoru ilə nümunə veririk.

A = ; b = [ -5.7373057243726833e-001 -1.5400413072907607e-001 -5.3347697688693385e-001 -6.0209490373259589e-00 delta_b = [-0,71685839091451e-5 0,54786619630709e-5 0,37746931527138e-5 0,20850322383081e-5];

Birinci vektor normasından istifadə edərək qiymətləndirmənin sağ və sol tərəflərini, spektral matris normasına münasibətdə isə matrisin şərt nömrəsini hesablayaq.

RIGHT = norma(delta_b,1)/norma(b,1); c = şərt(A); x = A\b; x_tilda = A\(b+delta_b); delta_x = x - x_tilda; SOL = norma(delta_x,1)/norma(x,1); qısa e disp() formatı

Bərabərsizliyin sol və sağ tərəfləri üçün aşağıdakı dəyərləri alırıq
9.9484e+004 9.9323e+004

Sol tərəf sağdan çox olmamalıdır (yuxarıda sübut edildiyi kimi), lakin uyğun olmayan normaların seçilməsi səbəbindən daha böyük olduğu ortaya çıxdı.

İndi matrisin şərt nömrəsinin niyə birdən az ola bilməyəcəyini araşdıraq. A matrisinin şərt nömrəsi cond(A) = || kimi müəyyən edilir A || M* || A -1 || M , harada || A || M A-nın bəzi matris normasıdır. Matris norması (yəni ədədin hər bir matrislə əlaqələndirilməsi qaydası) ixtiyari ola bilməz, o, aşağıdakı dörd aksioma cavab verməlidir:

A1. || A || İstənilən A və || matrisi üçün ≥ 0 A || = 0, o halda və yalnız A sıfır matrisidir.

A2. || αA || = | α | * || A || hər hansı A matrisi və α nömrəsi üçün.

A3. || A + B || ≤ || A || + || B || İstənilən A və B matrisləri üçün

A4. || AB || ≤ || A || * || B || İstənilən A və B matrisləri üçün.

Sonuncu aksiomdan aydın olur ki, norma yalnız kvadrat matrislər üçün müəyyən edilir (baxmayaraq ki, müxtəlif normaların hesablanması üçün yuxarıda göstərilən düsturlarda, prinsipcə, belə bir məhdudiyyət yoxdur). Bundan əlavə, sonuncu aksiomdan belə çıxır ki, I eynilik matrisinin istənilən norması birdən az deyil, həqiqətən də

|| I || = || I*I || ≤ || I || 2 ⇒ || I || ≥ 1.

Sonra, yenidən dördüncü aksiomdan istifadə edərək, matrisin şərt nömrəsinin həmişə birdən çox olduğunu tapırıq (ixtiyari bir matris normasına münasibətdə matrisin şərt nömrəsi üçün doğrudur)

1 ≤ || I || = || AA -1 || ≤ || A || * || A -1 || = şərt(A).

Sağ tərəf pozulduqda həlldəki səhv təxminində dəqiq bərabərliyin görünməsinin səbəbini araşdıraraq bu bölməni tamamlayaq:

və MATLAB-da müvafiq nümunələr qurmaq. (Aşağıdakı müzakirə, məsələn, J. Forsythe, K. Mohlerin kitabında verilmişdir. Xətti cəbri tənliklər sistemlərinin ədədi həlli. M: “Mir”, 1969.)

Əsas rolu matrisin sinqulyar parçalanmasına dair teorem oynayır, ona görə n ölçülü hər hansı real matris üçün n ölçülü n ölçülü U və V iki ortoqonal matris mövcuddur (U T U=UU T və V T V = VV T) elə ki, D = U T AV məhsulu diaqonal matris olsun və biz U və V seçə bilərik ki,

burada μ 1 ≥ μ 2 ≥…≥μ r ≥ μ r+1 =…=μ n =0,

və r A matrisinin dərəcəsidir. μ k ədədləri A matrisinin spektral nömrələri adlanır. Tək olmayan A matrisi üçün aşağıdakılar doğrudur:

μ 1 ≥ μ 2 ≥ … ≥μ n ≥ 0.

Növbəti mühüm fakt ondan ibarətdir ki, ortoqonal matrislə vurma vektorun Evklid normasını dəyişmir, yəni. n elementli istənilən x vektoru və ölçüsü n-ə n olan hər hansı U ortoqonal matrisi üçün bərabərlik doğrudur

|| Ux || = || x ||.

Ortoqonal matrisə vurmaq spektral normanı dəyişmədiyi üçün

buna görə də matrisin şərt nömrəsi üçün aşağıdakı bərabərlik doğrudur:

Bizim iki sistemimiz var: Ax = b (dəqiq x həlli ilə) və (dəqiq həll ilə). Aydındır ki, δx xətası sağ tərəfi δb pozğunluğu olan sistemin həllidir, yəni. sistemlər Aδx = δb. D = U T AV A matrisinin sinqulyar qiymətli parçalanması olsun, onda U və V ortoqonal matrislər olduğuna görə UDV T = A olsun. Sonrakı

Ax = b ⇒ UDV T x = b.

Qeydi təqdim edək

x" = V T x, b" = U T b,

onda aşağıdakı sistemlər ekvivalentdir

Ax = b ⇔ Dx" = b"

Tamamilə oxşar şəkildə, səhvlə bağlı sistemi nəzərdən keçirin

Aδx = δb ⇒ UDV T δx = δb

Qeydi təqdim edirik

δx" = V T δx, δb" = U T δb,

bunun üçün aşağıdakı sistemlər ekvivalentdir

Aδx = δb ⇔ Dδx" = δb"

Bunlar. Diaqonal matrisli sadə ekvivalent sistemlər əldə etdik, onların diaqonalında A matrisinin spektral nömrələri var.

İndi bu sistemlərin sağ tərəflərini xüsusi bir şəkildə seçək, yəni edək

burada β > 0, onda Dx" = b" sisteminə uyğun həll olacaq

burada μ 1 A matrisinin maksimum sinqulyar qiymətidir. Dδx" = δ b" sistemi ilə də eyni şeyi edəcəyik, yəni edək

burada γ > 0, onda Dδx" = δb" sisteminə uyğun həll olacaq

Ortoqonal matrislə vurulan vektor normasının qorunmasından belə çıxır ki,

β/μ 1 = || x" || = || V T x || = || x || və γ/μ n = || δx" || = || V T δx || = ||δx ||.

Eyni şəkildə bərabərlikləri əldə edirik:

β = || b" || = || U T b || = || b || və γ = || δb" || = || U T δb || = || δb ||.

və o vaxtdan

sonra nəhayət alırıq

Deməli, hər bir A matrisi üçün sistemin sağ tərəfində və onun pozulmasında elə bir vektor qurmaq olar ki, həlldəki xəta matrisin şərt nömrəsi ilə sağ tərəfdəki xətanın məhsulu olsun. MATLAB-da müvafiq konstruksiya tək dəyər parçalanmasından istifadə etmədən həyata keçirilə bilər (baxmayaraq ki, onu svd funksiyasından istifadə etməklə tapmaq olar).

Əvvəlcə n təyin edirik və təsadüfi ədədlərdən n-ə n matrisin QR parçalanmasını həyata keçirərək iki ortoqonal U və V matrisləri alırıq:

N = 4;

= qr(rand(n));

= qr(rand(n));

D = diag();

A matrisinin şərt nömrəsi bizim nümunəmizdə 10 10-a bərabər olan D matrisinin şərt nömrəsi ilə üst-üstə düşəcək.

Beta = 1; qamma = 1e-5;

və b" və δb" vektorlarını qurun

B1 = "; db1 = ";

buradan b və δb vektorlarını tapırıq

X = A\b; x_tilda = A\(b+db);

bərabərsizliyin sol və sağ tərəflərini hesablayın

dx = x - x_tilda; HÜQUQ = norma(db)/norma(b); SOL = norma(dx)/norma(x);

və onları çıxarın

Qısa e disp() formatı

Biz bərabərlik əldə edirik

MATLAB sisteminin interpretasiya proqramlaşdırma dili elə yaradılmışdır ki, istənilən (bəzən çox mürəkkəb) hesablamalar birbaşa hesablama rejimində, yəni istifadəçi proqram hazırlamadan həyata keçirilə bilər. Bu halda MATLAB superkalkulyatorun funksiyalarını yerinə yetirir və komanda xətti rejimində işləyir.

Sistemlə işləmək interaktiv xarakter daşıyır və “sual ver və cavab al” qaydasına əməl edir. İstifadəçi hesablanmış ifadəni klaviaturada yazır, onu əmr sətirində redaktə edir (lazım olduqda) və ENTER düyməsini sıxmaqla daxiletməni tamamlayır. Nümunə olaraq, rəqəm ən sadə və olduqca aydın hesablamaları göstərir.

Belə sadə nümunələrdən belə bəzi ibrətamiz nəticələr çıxarmaq olar:

* ilkin məlumatların daxil edilməsini göstərmək üçün >> simvolundan istifadə olunur;

* verilənlər sadə xətt redaktorundan istifadə etməklə daxil edilir;

* müəyyən bir ifadənin hesablama nəticəsinin çıxışını bloklamaq üçün ondan sonra işarə qoymalısınız; (nöqtəli vergül);

* əgər hesablama nəticəsinin qiyməti üçün dəyişən göstərilməyibsə, MATLAB ans adlı belə dəyişəni təyin edir;

* tapşırıq işarəsi riyaziyyatçılara tanış olan bərabər işarədir =, birləşmiş işarə deyil:=, bir çox digər proqramlaşdırma dillərində və riyazi sistemlərdə olduğu kimi;

* daxili funksiyalar (məsələn, günah) kiçik hərflərlə yazılır və onların arqumentləri mötərizədə göstərilir;

* hesablamaların nəticəsi çıxış sətirlərində göstərilir (>> işarəsi olmadan);

* dialoq “sual verdim - cavab aldım” üslubunda baş verir.

Aşağıdakı nümunələr bir sıra digər sadə vektor əməliyyatlarını yerinə yetirmək üçün MATLAB-dan istifadəni göstərir. Şəkildə həmçinin cari qovluq nişanında mövcud olan fayl sistemi brauzer pəncərəsi də göstərilir. Komanda rejimində MATLAB sistem kataloqlarının siyahısından sonra düyməni aktivləşdirməklə alətlər panelindən fayl sisteminin brauzer pəncərəsinə zəng etmək daha rahatdır. Cari kataloq düzgün qurulmadıqda, hesablamalar üçün lazım olan m-fayllar aşkar edilmədikdə hesablamalardan imtina edildiyi hallar ola bilər.

Əksər riyazi sistemlərdə V vektor olduğu sin(V) və ya exp(V) hesablanması xəta yaradar, çünki sin və exp funksiyalarının skalyar arqumenti olmalıdır. Bununla belə, MATLAB matris sistemidir, vektor isə 1×n və ya n×1 ölçüsündə olan bir matris növüdür. Buna görə də, bizim vəziyyətimizdə hesablamanın nəticəsi V arqumenti ilə eyni ölçülü vektor olacaq, lakin qaytarılan vektorun elementləri V vektorunun elementlərinin sinusları və ya eksponentləri olacaqdır.

Bir matris kvadrat mötərizə içərisində onun sətirlərini təmsil edən vektorlar seriyası kimi təyin olunur. Vektorların elementlərini ayırmaq üçün boşluq və ya vergüldən, bir vektoru digərindən ayırmaq üçün nöqtəli vergüldən istifadə olunur. M matrisinin fərdi elementini seçmək üçün M(j,i) formasının ifadəsindən istifadə olunur, burada M matrisin adı, j sətir nömrəsi, i isə sütun nömrəsidir.

Massivlərin məzmununa baxmaq üçün Workspace brauzerindən istifadə etmək rahatdır. İçindəki hər bir vektor və matris, sağ tərəfində massivin ölçüsünün göstərildiyi hüceyrələri olan bir kvadrat şəklində təmsil olunur. Kvadrat üzərinə siçan ilə iki dəfə basmaq Array Editor pəncərəsinin görünməsinə gətirib çıxarır. Massiv redaktoru ilə işləmək kifayət qədər aydındır - siz yalnız massiv elementlərinə baxmaqla yanaşı, onları redaktə edə və əvəz edə bilərsiniz.

Verilən nümunələrdən göründüyü kimi MATLAB sistemində hesablamalar üçün ilkin ifadələrin daxil edilməsi ən çox yayılmış mətn formatında həyata keçirilir. Qrafik olanlar istisna olmaqla, hesablamaların nəticələri eyni formatda göstərilir. Komanda xəttində MATLAB tərəfindən yerinə yetirilən hesablamaların qeydinə dair nümunələr:

Massiv redaktoru ilə işləmək

Başlamaq üçün Help menyusundan “MATLAB Help” seçin.

>> günah yazın

günah daxili funksiyadır.

>> günaha kömək edin

SIN(X) X elementlərinin sinüsüdür.

Həddindən artıq yüklənmiş üsullar

>>V=

0.8415 0.9093 0.1411 -0.7568

==> ^ istifadə etmə xətası

Matris kvadrat olmalıdır.

Nəticənin təyin olunduğu dəyişəni göstərmədən sadə əməliyyatları yerinə yetirərkən cavabların formasına diqqət yetirmək olar. Belə hallarda MATLAB özü bir dəyişən təyin edir, ans, ona nəticə təyin edilir və sonra dəyəri göstərilir.

Sessiyada çıxış forması və sətir fasilələri

MATLAB sistemində çıxışın xüsusiyyətlərini qeyd etmək lazımdır. Çıxış rəqəmsal məlumatlar girintili və mətn məlumatları girintili olmaqla yeni sətirdən başlayır. Bu kitabda yer saxlamaq üçün gələcəkdə çıxış yeni sətirsiz veriləcək. Məsələn, sıra vektorunun çıxarılması

formada veriləcək:

İstisna sütun vektorlarının və matrislərinin çıxışıdır - burada MATLAB-ın daha vizual və defolt çıxış forması qorunacaqdır.

Bəzi hallarda daxil etdiyiniz riyazi ifadə o qədər uzun ola bilər ki, onun üçün bir sətir kifayət etmir. Sonra ifadənin bir hissəsi "..." (3 və ya daha çox nöqtə) ellipsisindən istifadə edərək yeni sətirə köçürülə bilər, məsələn:

s = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 ...

1/8 + 1/9 - 1/10 + 1/11 - 1/12;

Komanda rejiminin bir sətirində simvolların maksimum sayı 4096-dır və m-faylda bu, məhdud deyil, lakin belə uzun sətirlərlə işləmək əlverişsizdir. Əvvəlki versiyalarda bir sətir maksimum 256 simvoldan ibarət idi.

Komanda xəttindən MATLAB nümunələrinin işlədilməsi

MATLAB-da bir çox tətbiq nümunələri var, onlardan bəziləri birbaşa əmr satırından işlədilə bilər. Məsələn, əmr

sistemin sınaq demosunun m-fayl bench.m-ni işlədir.

1. Proqramı masaüstündəki işarədən istifadə edərək və ya Başlat düyməsi (ekranın aşağı sol küncündə) vasitəsilə başlaya bilərsiniz. MatLab iş mühiti açılacaq.

2. Onu aktiv etmək üçün Əmr Pəncərəsi sahəsinə klikləyin.

" işarəsi və yanıb-sönən şaquli kursoru olan sətirə 1+2 yazın və Enter düyməsini basın. Nəticədə, MatLab əmr pəncərəsində aşağıdakılar göstərilir:

1+2 cəminin hesablanmasının nəticəsi ans xüsusi dəyişəninə yazılır və onun 3-ə bərabər qiyməti komanda pəncərəsində göstərilir. Cavabın altında MatLab-ın sonrakı hesablamalara hazır olduğunu göstərən yanıb-sönən kursoru olan əmr xətti var. Komanda xəttində yeni ifadələr yaza və onların mənalarını tapa bilərsiniz.

3. Əvvəlki ifadə ilə işləməyə davam etmək üçün, məsələn, (1+2)/4.5 hesablamaq üçün ans dəyişənində saxlanılan mövcud nəticədən istifadə etmək məqsədəuyğundur.

ans/4.5 yazın (onluqları daxil edərkən nöqtə istifadə olunur) və Enter düyməsini basın, əldə edirsiniz:

4. “ans = 0.6667” girişi əks-səda adlanır.

MatLab-da hər bir əmrin icrası oxşar əks-səda ilə müşayiət olunur ki, bu da çox vaxt proqramın işini qavramağı çətinləşdirir.

Echo söndürmək üçün simvolu olan əmrə əməl edin; (nöqtəli vergül). Məsələn:

Burada aralıq olan ans dəyişəninin 3-ə vurulmasının nəticəsi ekranda çap olunmur. Yalnız son cavab göstərilir.

5. Dəyişən dəyərləri yadda saxlayın. Bunu etmək üçün:

— File menyusundan Save Workspace As seçin;

— görünən Save Workspace Variables dialoq qutusunda kataloqu və faylın adını göstərin (defolt olaraq, faylı əsas MatLab kataloqunun iş alt kataloqunda saxlamaq təklif olunur). İşin nəticələri uzantısı olan bir faylda saxlanılacaq.

6. MatLab-ı bağlayın.

7. MatLab-ı yenidən başladın. Əvvəlki iş sessiyasından dəyişənlərin dəyərlərini bərpa etmək üçün Fayl menyusunun Aç alt elementindən istifadə edərək saxlanan faylı açın. Saxlanılan dəyişənlər yeni daxil edilmiş əmrlərdə istifadə edilə bilər.

8.İcra edilə bilən əmrləri və nəticələri mətn faylına yazın, sonra onu mətn redaktorundan oxumaq və ya çap etmək olar. Bunu etmək üçün:

— gündəlik əmrini daxil edin;

— gündəlik əmrinə arqument kimi iş jurnalının saxlanacağı faylın adını göstərin.

Misal 1.3-cü bənddə verilmişdir.

9. MatLab sistemindən çıxmaq üçün çıxmaq əmrini daxil edin.

1. Nəzəri hissəni öyrənin.

2. Tapşırığın variantını əldə edin.

3. 2-ci paraqrafda verilmiş nümunəyə əməl edin.

4. Seçiminizə uyğun hesablamalar aparın.

5. Hesabatı elektron şəkildə təqdim edin.

6. Müəllimin suallarını cavablandırmaqla laboratoriya işinizi müdafiə edin.

Seçimlər

Oxumaq üçün məqalələr:

Mathcad ilə işləməyin əsasları. Sadə hesablamalar. Dərs 4

sərhəd şərtləri ilə y(t 0 , t sonu, səh) = y, Harada t sonu, t 0 intervalların başlanğıc və son nöqtələridir. Parametr t(müstəqil dəyişən) mütləq vaxt demək deyil, baxmayaraq ki, əksər hallarda DE-nin həlli zaman sahəsində axtarılır. Koşi formasında DE sistemi (1.1) ilə eyni şəkildə yazılır, lakin altındadır y bu halda asılı dəyişənlərin sütun vektoru nəzərdə tutulur. Vektor səh ilkin şərtləri təyin edir.

İkinci və daha yüksək dərəcəli DE-ləri həll etmək üçün onları birinci dərəcəli DE sisteminə endirmək lazımdır.

Törəmə ilə bağlı icazə verilməyən mümkün diferensial tənliklər var:

F(t, y, dy/dt) = 0. (1.2)

(1.2) tənlikləri adətən (1.1) formasına analitik şəkildə endirilə bilməz. Bununla belə, ədədi həll müəyyən etmək üçün heç bir xüsusi çətinlik yaratmır f(y, t) verilmiş üçün törəmə ilə bağlı (1.2) ədədi həll edin yt.

ODE həllediciləri

ODE sistemlərini həll etmək üçün MATLAB-da müxtəlif ədədi üsullar tətbiq olunur. Onların icrası adlanır həlledicilər ODU.

Bu bölmədə ümumi ad həlledicisi ODE-nin həlli üçün mümkün ədədi üsullardan birini nəzərdə tutur: ode45, ode23, ode113, ode15s, ode23s, ode23t, ode23tb, bvp4c və ya pdepe.

Həlledicilər DE sistemlərinin həlli üçün aşağıdakı üsulları tətbiq edirlər:

Ode45 Dormand və Prince tərəfindən dəyişdirilmiş 4-cü və 5-ci sifarişlərin bir addımlı açıq Runge-Kutta üsulları. Bu, ilkin həlli sınamaq üçün tövsiyə olunan klassik üsuldur. Bir çox hallarda həll olunan tənliklər sistemi sərt deyilsə, yaxşı nəticələr verir.

Ode23 Bogacki və Champin tərəfindən dəyişdirildiyi kimi 2-ci və 4-cü sıraların bir addımlı açıq Runge-Kutta üsulları. ODE sisteminin orta sərtliyi və aşağı dəqiqlik tələbləri ilə bu üsul həll sürətində qazanc təmin edə bilər.

Ode113 çoxpilləli Adams-Bashworth-Moulton metodu dəyişən sifarişin proqnozlaşdırıcı-korrektor sinfi. Bu, yüksək dəqiqlikli həllər təmin edə bilən adaptiv üsuldur.

Ode15s ədədi "geri diferensiasiya" düsturlarından istifadə edən çox addımlı dəyişən sifariş metodudur (1-dən 5-ə qədər, standart 5). Bu adaptiv üsuldur və ode45 həlledicisi həlli təmin etmirsə və uzaqdan idarəetmə sistemi sərtdirsə istifadə edilməlidir.

Ode23s dəyişdirilmiş 2-ci dərəcəli Rosenbrock düsturundan istifadə edən bir addımlı üsuldur. Sərt uzaqdan idarəetmə sisteminin həllinin aşağı dəqiqliyi ilə hesablamaların yüksək sürətini təmin edə bilər.

İnterpolyasiya ilə Ode23t gizli trapesiya üsulu. Bu üsul demək olar ki, harmonik çıxış siqnalı ilə salınan sistemləri təsvir edən məsələlərin həlli zamanı yaxşı nəticələr verir. Orta dərəcədə sərt sistemlər üçün DE yüksək dəqiqlikli həll təmin edə bilər.

Həllin əvvəlində Ode23tb gizli Runge Kutta metodu və sonradan 2-ci dərəcəli geriyə doğru diferensiasiya düsturlarını istifadə edən bir üsul. Nisbətən aşağı dəqiqliyə baxmayaraq, bu üsul ode15-lərdən daha təsirli ola bilər.

Bvp4c formanın uzaqdan idarəetmə sistemlərinin sərhəd problemi üçün xidmət edir y′ = f(t, y), F(y(a), y(b), səh) = 0 (Koşi tənlikləri sisteminin tam forması). Həll intervalının həm əvvəlində, həm də sonunda sərhəd şərtləri göstərilməklə həll yolu axtarıldığı üçün onun həll etdiyi məsələlərə iki nöqtəli sərhəd məsələləri deyilir.

Bütün həlledicilər açıq tənliklər sistemlərini həll edə bilər y′ = F(t, y) və sərt tənlik sistemlərini həll etmək üçün yalnız ode15s, ode23s, ode23t, ode23tb xüsusi həlledicilərdən istifadə etmək tövsiyə olunur.

ODE həlledicilərindən istifadə

tspan inteqrasiya intervalını təyin edən vektor [ t 0 t final]. Zamanın müəyyən nöqtələrində həllər əldə etmək t 0 , t 1 , …, t final(azalma və ya artım sırası ilə düzülmüş) istifadə edilməlidir tspan = [t 0 t 1 … t final];

y 0 ilkin şərtlərin vektoru;

odeset funksiyası tərəfindən yaradılan Options arqumenti (başqa odeget və ya bvpget (yalnız bvp4c) funksiyası defolt olaraq və ya odeset/bvpset funksiyası tərəfindən təyin edilmiş variantları çap etməyə imkan verir);

səh 1, səh 2,... funksiyaya ixtiyari parametrlər ötürülür F;

T, Y qərar matrisi Y, burada hər bir sıra sütun vektorunda qaytarılan vaxta uyğundur T.

Uzaqdan idarəetmə sistemlərinin həlli üçün funksiyaların sintaksisinin təsvirinə keçək (həlledici adı yuxarıda göstərilən funksiyalardan hər hansı birini bildirir).

[T,Y]=həlledici(@ F,tspan,y 0) formanın uzaqdan idarəetmə sistemini birləşdirir y′ = F(t, y) interval üzrə tspan ilkin şərtlərlə y 0 . @F ODE funksiyasının deskriptoru ("formasında da funksiya təyin edə bilərsiniz" F"). Həlllər massivindəki hər bir sıra Y sütun vektorunda qaytarılan vaxt dəyərinə uyğundur T.

[T,Y]=həlledici(@ F,tspan,y 0 ,seçimlər) yuxarıda təsvir edilənə bənzər bir həll verir, lakin odeset funksiyası tərəfindən yaradılan variantlar arqumentinin dəyərləri ilə müəyyən edilən variantlarla. Tez-tez istifadə olunan parametrlərə nisbi xəta dözümlülüyü RelTol (standart 1e3) və AbsTol mütləq səhvə dözümlülük vektoru (bütün komponentlər standart 1e6) daxildir.

[T,Y]=həlledici(@ F,tspan,y 0 ,seçimlər səh 1 ,səh 2...) əlavə parametrlər keçərək yuxarıda təsvir edilənə bənzər bir həll verir səh 1 , səh 2 , ... in m-fayl F nə vaxt çağırılırsa. Əgər heç bir seçim göstərilməyibsə, options= istifadə edin.

Birinci dərəcəli ODE həlli

İŞİN GÖRÜLMƏSİ PROSEDÜRÜ

· başlıq səhifəsi;

· opsionun ilkin məlumatları;

· problemin həlli;

· problemin həllinin nəticələri.

Misal

Hansı seqmentdə diferensial tənliyin həllini tapın saat(1,7) = 5,3.

Komanda pəncərəsində istifadəçi funksiyası yaradın

g=@(x,y);

Funksiya sintaksisində @(x,y) x müstəqil dəyişən y asılı dəyişən x-cos( y/pi) pultun sağ tərəfində.

Həll prosesi aşağıdakı operatordan istifadə edərək Komanda Pəncərəsində həllediciyə (həlledici) daxil olmaqla həyata keçirilir:

Ode23(g,,);

Şəbəkə ilə qrafikin qurulması aşağıdakı operatorlar tərəfindən həyata keçirilir:

Nəticə Şəkildə göstərilmişdir. 1.1

düyü. 1.2.1. Rəqəmsal həllin vizuallaşdırılması

MƏŞQ

1. Birinci dərəcəli diferensial tənliklərin həlli yollarını tapın , ilkin şərtləri ödəməklə y(x 0 ) = y 0 intervalında [ a,b].

2. Funksiyanın qrafiklərini qurun.

Tapşırıq seçimləri.

Seçim №. y(x 0 )=y 0 [a,b]
y 0 (1,8)=2,6
y 0 (0,6)=0,8
y 0 (2,1)=2,5
y 0 (0,5)=0,6
y 0 (1,4)=2,2
y 0 (1,7)=5,3
y 0 (1,4)=2,5
y 0 (1,6)=4,6
y 0 (1,8)=2,6
y 0 (1,7)=5,3
y 0 (0,4)=0,8
y 0 (1,2)=1,4

2 saylı laboratoriya işi

ODE sistemlərinin həlli

İŞİN MƏQSƏDİ

Müxtəlif sahələrdə uzaqdan idarəetmə sistemlərinin istifadəsi haqqında tələbələrdə təsəvvür formalaşdırmaq; uzaqdan idarəetmə sistemləri üçün Cauchy problemini həll etmək bacarığını aşılamaq.

İŞİN GÖRÜLMƏSİ PROSEDÜRÜ

1. Nəzəri hissəni öyrənin. Seçdiyiniz nömrəyə uyğun tapşırıqları yerinə yetirin və onları müəllimə nümayiş etdirin.

2. Aşağıdakıları ehtiva edən laboratoriya hesabatını doldurun:

· başlıq səhifəsi;

· opsionun ilkin məlumatları;

· problemin həlli;

· problemin həllinin nəticələri.

Misal

Sistemi həll edin

ode23() həlledicisindən istifadə etməklə.

Həlli:

1. Redaktorda pultun sağ tərəflərinin hesablanması funksiyasının m-faylını yaradın.

Fayl redaktorunda ad sisdu.m olsun, onda funksiya belə görünə bilər:

z=sisdu(t,y) funksiyası

z1=-3*y(2)+cos(t)-exp(t);

z2=4*y(2)-cos(t)+2*exp(t);

>> t0=0;tf=5;y0=[-3/17,4/17];

>> =ode23("sisdu",,y0);

>>süjet (t,y)

düyü. 1.3.1. ode23 funksiyasından istifadə edərək alınan ədədi həllin vizuallaşdırılması.

1. Uzaqdan idarəetmə sistemi üçün Koşi problemini həll etmək nə deməkdir?

2. Uzaqdan idarəetmə sistemlərinin həlli üçün hansı üsullar mövcuddur?

MƏŞQ

1. Uzaqdan idarəetmə sisteminin həllini tapın

interval üzrə ilkin şərtlərin ödənilməsi;

2. Funksiya qrafiklərini qurun.

Məsələn, 8-ci variant üçün həll funksiyası verilmişdir:

z=ssisdu(t,y) funksiyası

% variant 8

z1=-a*y(1)+a*y(2);

z2=a*y(1)-(a-m)*y(2)+2*m*y(3);

z3=a*y(2)-(a-m)*y(3)+3*m*y(4);

z4=a*y(3)-3*m*y(4);

>> =ode23("ssisdu",,);

>> süjet (t,100*y)

düyü. 1.3.2. ode23 funksiyasından istifadə edərək alınan ədədi həllin vizuallaşdırılması.

Tapşırıq seçimləri.

Seçim №. Tapşırıqlar
a m
0,1 1,2
0,2 1,5
0,3 1,7
0,4 1,9
0,5
0,6 1,9
0,7 2,3
0,8 2,7
0,9
0,1 1,5
0,2 1,1
0,3

3 saylı laboratoriya işi

1.4 ODE həlli n-ci sifariş

İŞİN MƏQSƏDİ

Tələbələrdə yüksək dərəcəli pultların müxtəlif sahələrdə tətbiqi haqqında təsəvvürlərini formalaşdırmaq; tətbiqi proqramlardan istifadə etməklə ali dərəcəli diferensial tənliklər üçün Koşi məsələsini həll etmək bacarığını aşılamaq; əldə edilmiş nəticələri yoxlamaq bacarıqlarını inkişaf etdirmək.

İŞİN GÖRÜLMƏSİ PROSEDÜRÜ

1. Nəzəri hissəni öyrənin. Seçdiyiniz nömrəyə uyğun tapşırıqları yerinə yetirin və onları müəllimə nümayiş etdirin.

2. Aşağıdakıları ehtiva edən laboratoriya hesabatını doldurun:

· başlıq səhifəsi;

· opsionun ilkin məlumatları;

· problemin həlli;

· problemin həllinin nəticələri.

Misal 1.

İkinci dərəcəli diferensial tənlikləri həll edin ilkin şərtlər verilir .

Həlli:

Əvvəlcə pultu sistemə gətiririk:

1. Pultun sağ tərəflərini hesablamaq üçün funksiyanın m-faylını yaradın.

Faylın adı sisdu_3.m olsun, onda funksiya belə görünə bilər:

z=sisdu_3(x,y) funksiyası

z2=6*x*exp(x)+2*y(2)+y(1);

2. Aşağıdakı addımları yerinə yetirin:

>> x0=0;xf=10;y0=;

>> =ode23("sisdu_3",,y0);

>> süjet(x,y(:,1))

düyü. 1.4.1. ode23 funksiyasından istifadə etməklə əldə edilən ədədi həllin vizuallaşdırılması.

İŞ MÜDAFİƏSİ ÜÇÜN NÜMUNƏ SUALLAR

1. Yüksək tərtibli diferensial tənliklər üçün Koşi məsələsini həll etmək nə deməkdir?

2. Pultu necə gətirmək olar m- uzaqdan idarəetmə sisteminə sifariş?

MƏŞQ

1. İnterval üzrə ilkin şərtləri ödəyən diferensial tənliyin həllini tapın.

2. Funksiya qrafiklərini qurun.

Tapşırıq seçimləri.

Seçim №. Tapşırıqlar
Tənliklər İlkin şərtlər







Laboratoriya işi № 4 – 5

Dinamik sistemlər (DS)

İŞİN MƏQSƏDİ

Şagirdləri DS-nin əsas anlayışları, onların təsnifatı, DS-nin faza fəzası, DS sisteminin kinematik şərhi, DS-nin təkamülü ilə tanış etmək. Sarkacın hərəkət tənliyi. Van der Pol osilatorunun dinamikası.

2. Dinamik sistem (DS) real sistemlərə (fiziki, kimyəvi, bioloji və s.) uyğun gələn riyazi obyekt, təkamülü ilkin vəziyyəti ilə unikal şəkildə müəyyən edilir. DS sonsuz zaman intervalında hər bir ilkin şərt üçün unikal həllin mövcudluğuna imkan verən tənliklər sistemi (diferensial, fərq, inteqral və s.) ilə müəyyən edilir.

DS-nin vəziyyəti onların şərhinin təbiiliyi, təsvirin sadəliyi, simmetriya və s. səbəblərdən seçilmiş dəyişənlər toplusu ilə təsvir olunur. DS-nin vəziyyətlər toplusu bir faza məkanını təşkil edir, hər bir vəziyyət onun bir nöqtəsinə uyğun gəlir və təkamül (faza) traektoriyaları ilə təsvir olunur. Dövlətlərin yaxınlığını müəyyən etmək üçün DS faza fəzasına məsafə anlayışı daxil edilir. Müəyyən bir zaman anında vəziyyətlər dəsti faza həcmi ilə xarakterizə olunur.

DS-nin təkamül qanununu dəqiqləşdirmək mənasında təsviri də çox müxtəlifliyə imkan verir: diferensial tənliklərdən, diskret xəritələrdən istifadə etməklə, qrafik nəzəriyyəsindən, Markov zəncirləri nəzəriyyəsindən və s. istifadə etməklə həyata keçirilir. Təsvir üsullarından birinin seçilməsi müvafiq DS-nin riyazi modelinin xüsusi növünü müəyyən edir.

DS-nin riyazi modeli sistemin vəziyyətini unikal şəkildə müəyyən edən dinamik dəyişənləri (koordinatları) təqdim edilərsə, verilmiş sayılır və dövlətin zamanla təkamül qanunu göstərilir.

Yaxınlaşma dərəcəsindən asılı olaraq eyni sistemə müxtəlif riyazi modellər təyin edilə bilər. Real sistemlərin tədqiqi müvafiq riyazi modellərin öyrənilməsi yolu ilə gedir, onların təkmilləşdirilməsi və inkişafı eksperimental və nəzəri nəticələrin təhlili və onların müqayisəsi ilə müəyyən edilir. Bu baxımdan, dinamik bir sistemlə biz onun riyazi modelini dəqiq başa düşəcəyik. Eyni dinamik sistemi (məsələn, sarkacın hərəkəti) öyrənməklə, müxtəlif amillərin nə dərəcədə nəzərə alınmasından asılı olaraq, müxtəlif riyazi modellər əldə edəcəyik.