Ev Diş tedavisi Devrenin yarıya bölünmesi yöntemi. İkilik yöntemi veya ikiye bölme yöntemi

Devrenin yarıya bölünmesi yöntemi. İkilik yöntemi veya ikiye bölme yöntemi


Yarım bölme yöntemi(diğer isimler: ikiye bölme yöntemi, ikilik yöntemi) denklemi çözmek için F(X) = 0 aşağıdaki gibidir. Fonksiyonun sürekli olduğu ve doğru parçasının uçlarını aldığı bilinsin.
[A, B] değerleri farklı işaretlere sahipse, kök aralıkta yer alır ( A, B). Aralığı iki yarıya bölelim ve sonra fonksiyonun farklı işaretli değerler aldığı uçlardaki yarıyı ele alacağız. Bu yeni parçayı yine iki eşit parçaya bölüyoruz ve kökü içeren parçayı seçiyoruz. Bu işlem bir sonraki segmentin uzunluğu gerekli hata değerinden küçük oluncaya kadar devam eder. İkiye bölme yöntemi için algoritmanın daha ayrıntılı bir sunumu:

1) Hesaplayalım X = (A+ B)/2; hadi hesaplayalım F(X);

2) Eğer F(X) = 0, ardından 5. adıma gidin;

3) Eğer F(X)∙F(A) < 0, то B = X, aksi takdirde A = X;

4) Eğer | BA| > ε, 1. noktaya gidin;

5) Değerin çıktısı X;

Örnek 2.4.İkiye bölme yöntemini kullanarak denklemin kökünü hassaslaştırın ( X– 1) 3 = 0, segmentine aittir.

Programdaki çözüm excel:

1) Hücrelerde A 1:F 4'te Tablo 2.3'te gösterildiği gibi notasyonu, başlangıç ​​değerlerini ve formülleri tanıtıyoruz.

2) Her formülü, onuncu satıra kadar bir doldurma işaretiyle alt hücrelere kopyalayın, yani. B 4 - kadar B 10, C 4 - kadar C 10, D 3 - kadar D 10, e 4 - kadar e 10, F 3 - kadar F 10.

Tablo 2.3

A B C D e F
f(a)= =(1-B3)^3
k A X f(x) B b-a
0,95 =(B3+E3)/2 =(1-C3)^3 1,1 =E3-B3
=EĞER(D3=0,C3; EĞER(C$1*D3)<0;B3;C3)) =EĞER(C$1*D3>0; E3;C3)

Hesaplama sonuçları tabloda verilmiştir. 2.4. Sütunda F aralık uzunluğu değerlerinin kontrol edilmesi BA. Değer 0,01'den küçükse bu satırda belirtilen hatayla kökün yaklaşık değeri bulunur. Gerekli doğruluğu elde etmek için 5 tekrarlama yapıldı. Kökün üç ondalık basamağa yuvarlandıktan sonra 0,01 doğrulukla yaklaşık değeri 1,0015625 ≈ 1,00'dır.

Tablo 2.4

A B C D e F
f(a)= 0,000125
k A X f(x) B b-a
0,95 1,025 -2E-05 1,1 0,15
0,95 0,9875 2E-06 1,025 0,075
0,9875 1,00625 -2E-07 1,025 0,0375
0,9875 0,996875 3.1E-08 1,00625 0,0187
0,996875 1,0015625 -4E-09 1,00625 0,0094
0,996875 0,9992188 4.8E-10 1,0015625 0,0047
0,99921875 1,0003906 -6E-11 1,0015625 0,0023
0,99921875 0,9998047 7.5E-12 1,000390625 0,0012

Verilen algoritma dikkate alır olası durum“köküne vurmak”, yani eşitlik F(X) bir sonraki aşamada sıfır. Örnek 2.3'te segmenti alırsak ilk adımda köke ulaşırız X= 1. Gerçekten hücreye yazalım B 3 değeri 0,9. Daha sonra sonuç tablosu 2.5 formunu alacaktır (sadece 2 yineleme verilmiştir).

Tablo 2.5

A B C D e F
f(a)= 0,001
k A X f(x) B b-a
0,9 1,1 0,2

Programda oluşturalım excel Yerleşik dili kullanarak ikiye bölme yöntemini kullanarak denklemleri çözmek için f(x) ve bisect(a, b, eps) özel işlevleri Visual Basic. Açıklamaları aşağıda verilmiştir:

Fonksiyon f(Byval x)

Fonksiyon ikiye böl(a, b, eps)

1 x = (a + b) / 2

Eğer f(x) = 0 ise 5'e Git

Eğer f(x) * f(a)< 0 Then

Abs(a - b) > eps ise O halde 1'e Git

f(x) fonksiyonu şunu belirler: Sol Taraf denklemler ve fonksiyon
bisect(a, b, eps), bisect yöntemini kullanarak denklemin kökünü hesaplar F(X) = 0. Bisect(a, b, eps) fonksiyonunun f(x) fonksiyonuna erişim kullandığını unutmayın. Özel bir işlev oluşturmaya yönelik algoritma şöyledir:

1) “Araçlar - Makro - Düzenleyici” menü komutunu çalıştırın Visual Basic" Pencere " Microsoft Visual Basic" Eğer içindeyse bu dosya programlar excel makrolar veya kullanıcı işlevleri veya prosedürleri henüz oluşturulmamışsa, bu pencere Şekil 2.4'te gösterilene benzeyecektir.

2) “Ekle - Modül” menü komutunu çalıştırın ve program fonksiyonlarının metinlerini Şekil 2.5'te gösterildiği gibi girin.

Şimdi program sayfası hücrelerinde excel Oluşturulan fonksiyonları formüllerde kullanabilirsiniz. Mesela bir hücreye girelim D 18 formülü

İkiye böl(0,95;1;0,00001),

o zaman 0,999993896 değerini elde ederiz.

Başka bir denklemi çözmek için (farklı bir sol tarafla) “Araçlar - Makro - Düzenleyici” komutunu kullanarak editör penceresine gitmeniz gerekir. Visual Basic”ve basitçe f(x) fonksiyonunun tanımını yeniden yazın. Örneğin sin5 denkleminin kökünü 0,001 doğrulukla bulalım. x + x 2 – 1 = 0, (0,4; 0,5) aralığına aittir. Bunu yapmak için fonksiyonun açıklamasını değiştirelim.

yeni bir açıklama için

f = Sin(5 * x) + x^2 - 1

Daha sonra hücrede DŞekil 18'de 0,441009521 değerini elde ederiz (bu sonucu, örnek 2.3'te bulunan aralığın kök değeri (0,4; 0,5) ile karşılaştırın!).

Programda yarıya bölme yöntemini kullanarak bir denklemi çözmek Matematik bir altprogram fonksiyonu oluşturalım iki saniyelik(F, A, B, ε), burada:

F- denklemin sol tarafına karşılık gelen fonksiyon adı F(X) = 0;

A, B- segmentin sol ve sağ uçları [ A, B];

ε - kökün yaklaşık değerinin doğruluğu.

Programdaki örneğin çözümü Matematik:

1) Programı başlatın Mathcad. Fonksiyonun tanımını tanıtalım iki saniyelik(F, A, B, ε). Bunu yapmak için klavyeyi ve “Yunanca Semboller” araç çubuğunu kullanarak şunu yazın: iki saniyelik(F, A, B, ε):=. “Programlama” araç çubuğunda “:=” atama işaretinden sonra fare işaretçisini kullanarak “Satır ekle”ye sol tıklayın. Atama işaretinden sonra dikey bir çizgi görünecektir. Daha sonra, döngü operatörünü “←” işaretini girmek için “Programlama” araç çubuğunu kullanarak aşağıda gösterilen program metnini girin. sırasında, Şebeke kırmak ve koşullu operatör aksi halde.

2) Fonksiyonun tanımını tanıtalım F(X):=sin(5*x)+x^2–1 ve ardından işlevi kullanarak kökün değerini hesaplayın iki saniyelik verilen değerlerde:
iki saniyelik(F, –0,8,–0,7,0,0001)=. “=” işaretinden sonra program tarafından hesaplanan –0.7266601563 kök değeri otomatik olarak görünecektir. Kalan kökleri de aynı şekilde hesaplayalım.

Aşağıda sayfa var Matematik fonksiyon tanımıyla iki saniyelik(F, A, B, ε) ve hesaplamalar:

Dilde bir program verelim C++ denklemi çözmek için F(X) = 0 yarıya indirme yöntemiyle:

#katmak

#katmak

çift ​​f(çift x);

typedef double (*PF)(double);

çift ​​bisek(PF ​​f,çift a, çift b,çift eps);

çift ​​a, b, x, eps;PF pf;

cout<< "\n a = "; cin >>a;

cout<< "\n b = "; cin >>b;

cout<< "\n eps = "; cin >> eps;

x = bisec(pf,a,b,eps); cout<< "\n x = " << x;

cout<< "\n Press any key & Enter "; cin >>a;

çift ​​f(çift x)(

r = sin(5*x)+x*x-1;

çift ​​bisek(PF ​​f, çift a, çift b,çift eps)(

yap( x = (a + b)/2;

if (f(x) == 0) kırılırsa;

eğer (f(x)*f(a)<0) b = x;

)while (fabs(b-a) > eps);

Programdaki işlev F(X) denklemi çözmek için tanımlanır

günah5 x + x 2 – 1 = 0

örnek 2.3'ten. Aralığın kökünü (0,4; 0,5) 0,00001 doğrulukla belirlemeye yönelik programın sonucu aşağıda sunulmuştur (bilgisayar ekranı):

Herhangi bir tuşa basın ve Enter

Sonucu görüntülemek için bir duraklama düzenlemek için son satıra ihtiyaç vardır.

Doğrusal olmayan denklemler cebirsel ve aşkın olmak üzere 2 sınıfa ayrılabilir. Cebirsel denklemler sadece cebirsel fonksiyonları (tamsayı, rasyonel, irrasyonel) içeren denklemlere denir. Özellikle bir polinom tam bir cebirsel fonksiyondur. Diğer fonksiyonları (trigonometrik, üstel, logaritmik vb.) içeren denklemlere denir transandantal.

Doğrusal olmayan denklemleri çözme yöntemleri iki gruba ayrılır:

  1. kesin yöntemler
  2. ;
  3. yinelemeli yöntemler
  4. .

Kesin yöntemler, köklerin bazı sonlu ilişkiler (formül) biçiminde yazılmasını mümkün kılar. Okul cebir dersinden trigonometrik, logaritmik, üstel ve basit cebirsel denklemlerin çözümü için bu tür yöntemler bilinmektedir.

Bilindiği gibi birçok denklem ve denklem sisteminin analitik çözümü yoktur. Bu öncelikle çoğu aşkın denklem için geçerlidir. Ayrıca derecesi dörtten yüksek olan keyfi bir cebirsel denklemi çözmek için kullanılabilecek bir formül oluşturmanın imkansız olduğu da kanıtlanmıştır. Ek olarak, bazı durumlarda denklem yalnızca yaklaşık olarak bilinen katsayılar içerir ve bu nedenle denklemin köklerini doğru bir şekilde belirleme görevi anlamını yitirir. Bunları çözmek için kullanıyoruz yinelemeli yöntemler Belirli bir doğruluk derecesi ile.

Denklem verilsin

  1. İşlev F(X) aralıkta süreklidir [ a, b] 1. ve 2. dereceden türevleriyle birlikte.
  2. Değerler F(X) segmentin uçlarında farklı işaretler var ( F(A) * F(B) < 0).
  3. Birinci ve ikinci türevler F"(X) Ve F""(X) tüm segment boyunca belirli bir işareti korur.

Koşullar 1) ve 2), aralıkta şunu garanti eder: A, B] en az bir kök vardır ve 3)'ten şu sonuç çıkar: F(X) bu aralıkta monotondur ve bu nedenle kök benzersiz olacaktır.

Denklemi çöz (1) yinelemeli yöntem köklerinin olup olmadığını, kaç kökü olduğunu tespit etmek ve köklerin değerlerini gereken doğrulukta bulmak anlamına gelir.

Bir işlevi tersine çeviren herhangi bir değer F(X) sıfıra, yani öyle ki:

isminde kök denklemler(1) veya sıfır işlevler F(X).

Bir denklemin kökünü bulma problemi F(X) = 0 yinelemeli yöntemle iki aşamadan oluşur:

  1. kök ayrımı
  2. - kökün veya onu içeren bir bölümün yaklaşık değerini bulma;
  3. yaklaşık köklerin iyileştirilmesi
  4. - onları belirli bir doğruluk derecesine getirmek.

Kök ayırma süreci fonksiyonun işaretlerinin belirlenmesiyle başlar. F(X) sınırda X=A Ve X=B varlığı bölgesindeki noktalar.

örnek 1 . Denklemin köklerini ayırın:

F( X) є X 3 - 6x + 2 = 0.

Yaklaşık bir diyagram yapalım:

Sonuç olarak, denklem (2)'nin [-3, -1] ve aralıklarında yer alan üç gerçek kökü vardır.

Köklerin yaklaşık değerleri ( ilk yaklaşımlar) problemin fiziksel anlamından, benzer bir problemin farklı başlangıç ​​verileriyle çözülmesinden de bilinebilir veya grafiksel olarak bulunabilir.

Mühendislik uygulamalarında yaygın grafik yöntemi Yaklaşık köklerin belirlenmesi.

Denklemin (1) gerçek köklerinin, fonksiyonun grafiğinin kesişim noktaları olduğu dikkate alındığında F(X) x ekseni ile fonksiyonun grafiğini çizmek yeterlidir F(X) ve kesişme noktalarını işaretleyin F(X) akslı Ah, veya eksen üzerinde işaretleyin Ah bir kök içeren bölümler. Grafiklerin yapısı genellikle denklem (1) değiştirilerek büyük ölçüde basitleştirilebilir. eş değer ona denklemle:

Denklem (4) uygun bir şekilde eşitlik olarak yeniden yazılabilir:

Buradan, denklem (4)'ün köklerinin, logaritmik eğrinin kesişme noktalarının apsisleri olarak bulunabileceği açıktır. sen= günlük X ve abartılar sen = . Bu eğrileri oluşturduktan sonra yaklaşık olarak denklemin (4) tek kökünü bulacağız veya onu içeren parçayı belirleyeceğiz.

Yinelemeli süreç, ilk yaklaşımın sıralı olarak iyileştirilmesinden oluşur X 0. Bu adımların her birine denir yineleme. Yinelemeler sonucunda yaklaşık kök değerler dizisi bulunur X 1 , X 2 , ..., xn. Bu değerler iterasyon sayısı arttıkça N kökün gerçek değerine yaklaşırsak yinelemeli sürecin yakınsar.

Parçaya ait denklemin (1) kökünü bulmak için [ A, B], bu segmenti ikiye bölün. Eğer F= 0 ise x = denklemin köküdür. Eğer F 0'a eşit değilse (pratikte büyük olasılıkla budur), o zaman fonksiyonun bulunduğu yarımlardan birini veya uçlarını seçeriz. F(X) zıt işaretlere sahiptir. Yeni daraltılmış segment [ A 1 , B 1] tekrar ikiye bölün ve aynı işlemleri yapın.

Yarımlar yöntemi, belirli bir denklemin kökünü kabaca bulmak için pratik olarak uygundur; yöntem basit ve güvenilirdir ve her zaman yakınsar.

Örnek 3. Denklemin kökünü netleştirmek için yarıya bölme yöntemini kullanın

F( X) = X 4 + 2 X 3 - X - 1 = 0

[0, 1] segmentinde yatıyor.

Sürekli olarak elimizde:

f(0) = - 1; F(1) = 1; F(0,5) = 0,06 + 0,25 - 0,5 - 1 = - 1,19;

f(0,75) = 0,32 + 0,84 - 0,75 - 1 = - 0,59;

f(0,875) = 0,59 + 1,34 - 0,88 - 1 = + 0,05;

f(0,8125) = 0,436 + 1,072 - 0,812 - 1 = - 0,304;

f(0,8438) = 0,507 + 1,202 - 0,844 - 1 = - 0,135;

f(0,8594) = 0,546 + 1,270 - 0,859 - 1 = - 0,043, vb.

Kabul edilebilir

x = (0,859 + 0,875) = 0,867

Bu yöntemde yineleme süreci, denklemin (1) köküne yaklaşımlar olarak aşağıdaki değerlerin alınmasından oluşur: X 1 , X 2 , ..., xn akor kesişme noktaları AB x ekseni ile (Şekil 3). İlk önce akorun denklemini yazıyoruz AB:

.

Akor kesişme noktası için AB x ekseni ile ( x = x 1 ,y = 0) denklemi elde ederiz:

Kesinlik için izin ver F""(X) > 0 saat axb(olay F""(X) < Denklemi şu şekilde yazarsak 0 bizimkine indirgenir - F(X) = 0). Daha sonra eğri en = F(X) aşağı doğru dışbükey olacaktır ve bu nedenle kirişin altında yer alacaktır AB. İki olası durum vardır: 1) F(A) > 0 (Şekil 3, A) ve 2) F(B) < 0 (Рисунок 3, B).

Şekil 3, a, b.

İlk durumda son A hareketsiz ve ardışık yaklaşımlar: X 0 = B;x , burada fonksiyon F (X) ikinci türevinin işaretinin tersi bir işarete sahiptir F""(X).

Yinelemeli süreç, bulunana kadar devam eder.

| x ben - x ben - 1 |< e ,

burada e belirtilen maksimum mutlak hatadır.

Örnek 4. Denklemin pozitif kökünü bulun

F( X) = X 3 - 0,2 X 2 - 0,2 X - 1,2 = 0

e = 0,01 doğrulukla.

Öncelikle kökü ayırıyoruz. Çünkü

f(1) = -0,6< 0 и F (2) = 5,6 > 0,

o zaman gerekli kök x aralıkta yer alır. Ortaya çıkan aralık büyüktür, bu yüzden onu ikiye böleriz. Çünkü

f(1,5) = 1,425 > 0, sonra 1< x < 1,5.

Çünkü F""(X) = 6 X- 0,4 > 0, 1'de< X < 1,5 и F(1.5) > 0 ise sorunu çözmek için formül (5)'i kullanırız:

= 1,15;

| X 1-X 0 | = 0,15 > e,

bu nedenle hesaplamalara devam ediyoruz;

F ( X 1) = -0,173;

= 1,190;

|x 2-X 1 | = 0,04 > e,

F (X 2) = -0,036;

= 1,198;

| X 3-X 2 | = 0,008 < e .

Böylece x = 1,198'i e = 0,01 doğruluğuyla alabiliriz.

Denklemin tam kökünün x = 1,2 olduğuna dikkat edin.

İzin vermek F(X) – sürekli fonksiyon açık [ A; B], .


Newton yöntemi (teğet yöntemi)

İzin vermek F(X) aralıkta iki kez sürekli türevlenebilir bir fonksiyondur [ A; B],
,
Ve
işareti [ olarak değiştirmeyin A; B].

ile belirtelim işaretlerin bulunduğu bölümün sonu
Ve
eşleştir. Tam köke ardışık yaklaşımlar C formüle göre bul

İçin
.

Daha sonra
denklemin (1) tam köküdür.

Hesaplama işlemi genellikle şu durumlarda durdurulur:
belirtilen doğruluktan daha az olduğu ortaya çıktı ε . Ancak bu koşul, belirtilen doğruluğun elde edildiğini kesin olarak garanti edemez. Tam güvence için bu bölümün başında belirtildiği gibi bir doğruluk kontrolü yapabilirsiniz. Doğruluk sağlanamazsa, yinelemeleri birkaç kez daha tekrarlamanız gerekir.

Sekant yöntemi

Başlangıçta bir yaklaşım olsun . Formülü kullanarak bir puan daha elde ederiz
, Nerede H- küçük bir numara. Yöntemin birkaç adımını tamamladığımızı varsayacağız ve bu noktada birbirini takip eden iki yaklaşımımız var. Ve
tam köke kadar (ilk aşamada bu Ve ). Daha sonra formülü kullanarak bir sonraki yaklaşımı buluruz.

,

Süreç Newton'un yöntemindekiyle aynı kritere göre durur.

Yineleme yöntemi

İterasyon yönteminde orijinal denklem (1), eşdeğer denkleme dönüştürülür.
. İlk yaklaşım seçilir . Sonraki her bir yaklaşım aşağıdaki formülle elde edilir:
,
Süreç Newton'un yöntemindekiyle aynı kritere göre durur. Yöntem yakınsayacaktır, yani. sınır eşitsizlik kökün yakınında geçerliyse, kökün tam değerine eşittir
ve ilk yaklaşım köke oldukça yakındır.

Yöntemlerin avantajları ve dezavantajları

İkiye bölme yöntemi kökün ayrılmasını gerektirir ve yüksek doğruluk elde etmek için fonksiyonun birçok kez değerlendirilmesi gerekir. Bu yöntemde belirtilen doğruluğun elde edilmesi garanti edilir.

Newton'un yöntemi çok hızlı yakınsamaya (ikinci dereceden yakınsamaya) sahiptir, yani.

,

Nerede C– kökün tam değeri; M– fonksiyona bağlı olarak bir miktar sabit. Kabaca söylemek gerekirse, belirli bir yinelemeden başlayarak, doğru ondalık basamakların sayısı her yinelemede iki katına çıkacaktır.

Newton'un yönteminin yakınsamasını garanti etmek için pek çok koşulun karşılanması gerekir. Genel olarak bu koşulları kontrol etmeden Newton yöntemini kullanarak hesaplamalara başlayabilirsiniz ancak bu durumda yakınsama gözlemlenmeyebilir.

Sekant yöntemi düzgün fonksiyonlar için Newton yönteminin yakınsama oranına yakın bir yakınsama oranı sağlar. Bir fonksiyonun türevinin hesaplanmasını gerektirmez. Başlangıç ​​noktası kökten uzağa alınırsa yakınsama olmayabilir.

Yineleme yöntemi, Newton yönteminden önemli ölçüde daha düşük bir yakınsama oranı verir. Yakınsama varsa tahmin uygulanır
, Nerede
– sayılar,
,
;C– kökün tam değeri. Miktarları M, Q fonksiyona bağlıdır ve yineleme numarasına bağlı değildir. Eğer
1'e yakınsa o zaman Q da 1'e yakındır ve yöntemin yakınsaması yavaş olacaktır. Yineleme yöntemini kullanarak hesaplama, koşullar kontrol edilmeden başlatılabilir.
Ve . Bu durumda süreç farklılaşabilir ve cevap alınamayabilir.

Doğrusal olmayan bir denklemin köklerini bulmak için listelenenlerin dışında birçok yöntem vardır. MATHCAD'de kök işlevi şu formattadır:
Sekant yöntemini kullanır ve eğer istenen sonuçlara yol açmazsa Muller yöntemini kullanır. İkincisinde, sekant yönteminden farklı olarak, her adımda iki ek nokta alınır, fonksiyonun grafiği üç noktadan geçen bir parabol ile değiştirilir ve parabolün eksenle kesişme noktası olarak alınır. sonraki yaklaşım Öküz. Kök işlevinde root( F(X), X, A, B) Ridder ve Brent yöntemleri kullanılır. MATHCAD'de bir polinomun köklerini bulmak için Laguerre yöntemi kullanılır.

İkilik yöntemi Adını, ikiye bölmek anlamına gelen eski Yunanca kelimeden almıştır. Bu nedenle bu yöntemin ikinci bir adı da var: yarıya indirme yöntemi. Oldukça sık kullanıyoruz. Diyelim ki, bir oyuncunun 1'den 100'e kadar bir sayı tahmin ettiği ve diğerinin "daha fazla" veya "daha az" ipuçlarının rehberliğinde bu sayıyı tahmin etmeye çalıştığı "Sayıyı Tahmin Et" oyununu oynadığımızı varsayalım. İlk sayıya 50, ikinci sayıya küçükse 25, büyükse 75 deneceğini varsaymak mantıklıdır. Böylece her aşamada (yinelemede) bilinmeyenin belirsizliği 2 kat azalır. Onlar. dünyanın en şanssız insanı bile 100 rastgele ifade yerine 7 tahminde bu aralıktaki gizli sayıyı tahmin edecektir.

Denklemin çözümünde yarım bölme yöntemi

Bir denklemin yarım yöntemini kullanarak doğru çözümü ancak belirli bir aralıkta bir kökün olduğu ve bunun benzersiz olduğu biliniyorsa mümkündür. Bu kesinlikle dikotomi yönteminin yalnızca doğrusal denklemleri çözmek için kullanılabileceği anlamına gelmez. İkiye bölme yöntemini kullanarak yüksek dereceli denklemlerin köklerini bulmak için önce kökleri parçalara ayırmanız gerekir. Kökleri ayırma işlemi, fonksiyonun birinci ve ikinci türevlerinin bulunup sıfıra f"(x)=0 ve f""(x)=0'a eşitlenmesiyle gerçekleştirilir. Daha sonra f(x)'in işaretleri gelir. kritik ve sınır noktalarda fonksiyonun işaretini değiştirdiği aralık |a,b|, burada f(a)*f(b)< 0.

İkilik yönteminin algoritması

Dikotomi yönteminin algoritması çok basittir. |a,b| segmentini düşünün içinde bir kök x 1 bulunan

İlk aşamada x 0 =(a+b)/2 hesaplanır

Daha sonra fonksiyonun bu noktadaki değeri belirlenir: if f(x 0)< 0, то , если наоборот, то ,т.е происходит сужение интервала. Таким образом в результате формируется последовательность x i , где i - номер иттерации.

B-a farkı gereken hatadan az olduğunda hesaplamalar durdurulur.

Yarım bölme yöntemini kullanma örneği olarak, x 3 -3*x+1=0 denkleminin aralığındaki kökü 10 -3 doğrulukla bulacağız.

Tablodan da anlaşılacağı üzere kök 0,347'dir. İterasyon sayısı 10'dur. Tamamlanma koşulu: a-b=0,0009< 10 -3

Yarım yöntemi veya dikotomi yöntemi Denklemi sayısal yöntemler kullanarak çözmek için en basit yöntemdir.

İndirmek:

Dikotomi yöntemini kullanarak bir denklemi çözme - Pascal'da ikiye bölme yöntemini kullanarak bir denklemi çözme.

Aynı zamanda dikotomi yöntemi olarak da adlandırılır. Bu denklem çözme yöntemi, birinci ve ikinci türevlerin aralıkta işaretlerini korumaları koşulunun yerine getirilmesini gerektirmemesi açısından yukarıda tartışılan yöntemlerden farklıdır. İkiye bölme yöntemi, türevlenemeyenler de dahil olmak üzere herhangi bir sürekli f(x) fonksiyonu için yakınsar.

Segmenti bir nokta ile ikiye bölün. Eğer (pratikte en olası olan) bu durumda iki durum mümkündür: ya f(x) parça üzerinde işaret değiştirir (Şekil 3.8) ya da parça üzerinde (Şekil 3.9)

Her durumda fonksiyonun işaret değiştirdiği parçayı seçerek ve yarıya indirme işlemini sürdürerek, denklemin kökünü içeren keyfi olarak küçük bir parçaya ulaşılabilir.

Örnek 4. 5x - 6x -3 = 0 denkleminin aralıkta tek bir kökü vardır. Bu denklemi yarım bölme yöntemini kullanarak çözün.

Çözüm: Bir Pascal programı şöyle görünebilir:


fonksiyon f(x: gerçek): gerçek;

f:=ifade(x*ln(5))-6*x-3;

a, b, e, c, x: gerçek;

abs(b-a)>e bunu yaparken

eğer f(a)*f(c)<0 then

writeln("x=",x:3:3," f(x)=",f(x):4:4);

Programın yürütülmesinin sonucu:

e=0,001 x=1,562 f(x)=-0,0047


20.Yarım bölme yönteminin algoritması.

1.Yeni bir kök yaklaşımı belirleyin X bölümün ortasında [a,b]: x=(a+b)/2.

2. Fonksiyonun değerlerini noktalarda bulun A Ve X: F(a) Ve F(x).

3. Durumu kontrol edin F(a)*F(x)< 0 . Koşul karşılanırsa kök segmentte bulunur [Ah] B noktaya doğru hareket et x (b=x). Koşul karşılanmazsa kök segment üzerinde bulunur. [x,b]. Bu durumda bir puana ihtiyacınız var A noktaya doğru hareket et x (a=x).

4. 1. adıma gidin ve parçayı tekrar ikiye bölün. Algoritma koşul sağlanana kadar devam eder /F(x)/< e (belirtilen doğruluk).

21. Kökleri bulmak için basit yineleme yöntemi. Geometrik yorumlama.

Orijinal f(x)=0 denklemi, sol taraftaki bilinmeyenin seçildiği forma eşdeğer dönüşümlerle indirgenir, yani x=φ(x), burada φ(x), orijinal f fonksiyonuyla ilişkili bir fonksiyondur (X). Denklemin bu şekilde yazılması, ilk yaklaşım x 0 verildiğinde, sonraki ilk yaklaşımın x 1 =φ(x 0) elde edilmesine, ardından ikinci yaklaşımın x 2 =φ(x 1) elde edilmesine ve bu şekilde devam etmesine olanak sağlar x n +1 =φ(xn)… . (x n )= x 0, x 1, x 2, …, x n,… dizisine, başlangıç ​​değeri x 0 olan yinelemeler veya yaklaşımlar dizisi denir. φ(x) fonksiyonu sürekli değilse ve bir limit varsa ξ = lim x n, n→∞ olduğundan, x n +1 =φ(x n) eşitliğindeki limite geçersek, bunu n→ ∞ olarak buluruz: lim x n +1 =lim φ(x n)=φ(lim x n) ), yani ξ=φ(ξ). Sonuç olarak, eğer yaklaşımlar dizisi yakınsarsa, denklem (2)'nin köküne ve dolayısıyla denklem (1)'e yakınsar. Yinelemeli sürecin yakınsaması nedeniyle, bu kök yeterince büyük bir değer için hesaplanabilir. N herhangi bir doğrulukla. Ancak (xn) dizisinin hangi koşullar altında yakınsak olacağının belirlenmesi gerekir. İki komşu yaklaşımın hataları arasında bir bağlantı elde edelim - ε n ve ε n +1: x n =ξ+ε n, x n +1 =ξ+ε n +1. Bu gösterimleri x n +1 =φ(x n) olarak değiştirelim ve fonksiyonu kökün yakınındaki bir Taylor serisine genişletelim: ξ+ε n +1 =φ(ξ+ε n)=φ(ξ)+ε n φ'(ξ)+ (ε n 2 /2!)φ''(η), burada η О [ξ; ξ+ε n ] М ξ bir kök olduğundan, ξ=φ(ξ) elde ederiz: ε n +1 =ε n φ'(ξ)+(φ''(η)/2)ε n 2 ε'dan beri.<1, то ε n 2 <<ε n . Поэтому если φ’(ξ) ¹ 0,то основной вклад в погрешность дает первое слагаемое, а слагаемым (φ’’(η)/2)ε n 2 можно пренебречь, то есть ε n +1 » ε n φ’(ξ).Это означает, что погрешность будет уменьшаться на каждом последующем шаге, если |φ’(ξ)|<1, тогда для любого N|ε n +1 |<|ε n |. Сформулируем теорему о сходимости метода простых итераций, дающую достаточные условия сходимости.

Basit yineleme yönteminin yakınsaklığına ilişkin teorem.ξ, x=φ(x) denkleminin kökü olsun, φ(x) fonksiyonu aralıkta tanımlanır ve türevlenebilir ve x О için φ (x) О fonksiyonunun tüm değerleri . O zaman böyle bir pozitif sayı varsa q<1, что при x Î выполняется неравенство |φ’(ξ)|≤q<1, то на отрезке уравнение x=φ(x) имеет единственный корень x=ξ и процесс итераций, выраженный формулой x n +1 =φ(x n), где n=1,2,3… , сходится к этому корню независимо от выбора начального приближения x 0 Î .Таким образом, последовательность {x n },начинающаяся с любого x 0 Î , сходится к корню ξ со скоростью геометрической прогрессии, причем скорость сходимости тем выше, чем меньше величина q Î (1;0).Если функция φ(х) монотонно возрастает и 0<φ’(х)<1, то все приближения лежат по одну сторону от корня - такую сходимость называют монотонной (или ступенчатой) – рис.1. Если функция φ(х) монотонно убывает и 0>φ'(x)>-1 ise, komşu yaklaşımlar kökün karşıt taraflarında yer alır - bu tür yakınsamaya iki yönlü (veya spiral) denir - Şekil 2. Bu durumda kök, uçları - ξÎ(x n ,x n +1) komşu yaklaşımları olan aralıkta yer aldığından, |x n +1 -x n | koşulunun yerine getirilmesi gerekir.<ε обеспечивает выполнение условия |ξ-x n +1 |<ε.


Yinelemeli yöntemleri yakınsama hızı açısından karşılaştırabilmek için aşağıdaki kavramlar tanıtılmıştır:

Tanım 1: Bir (xn) dizisinin ξ'ye yakınsamasına ne ad verilir? doğrusal(buna göre yinelemeli süreç doğrusal yakınsak), eğer bir CО(0,1) sabiti ve |ξ-x n +1 |≤C|ξ-x n | eşitsizliklerini sağlayacak şekilde bir n 0 sayısı varsa; n≥n 0 için.

Daha önce tanıtılan hatalar için bu, |ε n+1 |≤C|ε n | anlamına gelir. Basit yineleme yönteminde C sabiti q değeridir, yani yöntem doğrusal olarak yakınsar.

Tanım 2: Yaklaşım dizisi (xn), en azından ξ'ye yakınsar R sıra (buna göre yinelemeli süreç en azından P-th dereceden), eğer C>0 gibi sabitler varsa, P≥1 ve n 0 , tüm n≥n 0 için koşullar |ξ-x n +1 |≤C|ξ-x n | p (veya diğer gösterimlerde |ε n+1 |≤C|ε n | p).



Sitede yeni

>

En popüler