C'deki kübik spline enterpolasyonunun basit bir örneği. Spline teorisi örnek çözümleri









































Bulunan eğriler ve yüzeyler pratik problemler, çoğu zaman oldukça karmaşık şekil kullanarak bir bütün olarak evrensel bir analitik göreve izin vermeyen temel işlevler. Bu nedenle, her biri bir veya iki değişkenin temel fonksiyonları kullanılarak oldukça tatmin edici bir şekilde tanımlanabilen nispeten basit düzgün parçalardan - bölümler (eğriler) veya kesikler (yüzeyler) birleştirilirler. Bu durumda kısmi eğriler veya yüzeyler oluşturmak için kullanılan düzgün fonksiyonların benzer nitelikte olmasını, örneğin polinom olmasını gerektirmesi oldukça doğaldır. aynı derecede. Ortaya çıkan eğrinin veya yüzeyin yeterince pürüzsüz olması için, karşılık gelen parçaların birleştiği yerde özellikle dikkatli olmanız gerekir. Polinomların derecesi basit geometrik hususlara göre seçilir ve kural olarak küçüktür. Tüm bileşik eğri boyunca teğeti düzgün bir şekilde değiştirmek için, birleştirilmiş eğrileri üçüncü dereceden polinomları, kübik polinomları kullanarak tanımlamak yeterlidir. Bu tür polinomların katsayıları her zaman karşılık gelen bileşik eğrinin eğriliği sürekli olacak şekilde seçilebilir. Tek boyutlu problemleri çözerken ortaya çıkan kübik eğriler, kompozit yüzey parçalarının yapımına uyarlanabilir. Ve burada iki değişkenin her birinde üçüncü dereceden polinomlar kullanılarak tanımlanan bikübik eğriler oldukça doğal bir şekilde ortaya çıkıyor. Bu tür spline'larla çalışmak çok daha büyük miktarda hesaplama gerektirir. Ama doğru organize süreç sürekli büyüyen fırsatları dikkate almamıza olanak tanıyacak bilgisayar teknolojisi V maksimum derece. Spline fonksiyonları Segmente izin verin, yani Açıklama. a^ sayılarının indeksi (t) bunu gösterir. Her kısmi D parçası üzerindeki 5(x) fonksiyonunu belirleyen katsayılar kümesinin farklı olduğu. D1 bölümlerinin her birinde, spline 5(x), p dereceli bir polinomdur ve bu bölüm üzerinde p + 1 katsayısı ile belirlenir. Toplam kısmi segmentler - o zaman. Bu, spline'ı tamamen belirlemek için (p + 1)'i bulmak gerektiği ve ardından sayıların bulunması gerektiği anlamına gelir. Koşul), 5(x) fonksiyonunun ve türevlerinin w ızgarasının tüm iç düğümlerinde sürekliliği anlamına gelir. Bu tür düğümlerin sayısı m - 1'dir. Böylece tüm polinomların katsayılarını bulmak için p(m - 1) koşulları (denklemler) elde edilir. İçin tam çözünürlüklü spline eksik (koşullar (denklemler). Ek koşulların seçimi, söz konusu problemin doğasına ve bazen de sadece kullanıcının isteğine göre belirlenir. SPLINE TEORİSİ çözüm örnekleri İnterpolasyon ve yumuşatma problemleri çoğunlukla, şu durumlarda dikkate alınır: B düzlemi enterpolasyon problemlerinde belirli bir nokta dizisinden bir veya başka bir spline oluşturmak için gerekli olan spline grafiğinin, katsayılarına m + 1 ek koşullar (denklemler) uygulayan noktalardan geçmesi gerekir. Geri kalan p - 1 koşulları (denklemler). spline'ın kesin yapısı için çoğunlukla, söz konusu segmentin uçlarındaki spline'ın alt türevlerinin değerleri şeklinde belirtilir [. a, 6] - sınır (sınır) koşulları seçme yeteneği. farklı sınır koşulları, çeşitli özelliklere sahip spline'lar oluşturmanıza olanak tanır. Düzgünleştirme problemlerinde spline, grafiği (i" "Y"), * = 0, 1,..., t, noktalarının yakınından geçecek şekilde oluşturulur. ve onlar aracılığıyla değil. Bu yakınlığın ölçüsü farklı şekillerde tanımlanabilir, bu da önemli çeşitlilikte düzleştirme eğrilerine yol açar. Spline fonksiyonlarını oluştururken seçim yapmak için açıklanan seçenekler, tüm çeşitliliklerini tüketmez. Ve başlangıçta yalnızca parçalı polinom spline fonksiyonları dikkate alındıysa, daha sonra uygulamalarının kapsamı genişledikçe, diğer temel fonksiyonlardan "birbirine yapıştırılmış" spline'lar ortaya çıkmaya başladı. İnterpolasyon kübik eğrileri İnterpolasyon probleminin açıklaması [a, 6) parçası üzerinde bir w ızgarası verilsin. Bir dizi sayıyı düşünün. Grid düğümlerinde o alan (a, 6] segmenti üzerinde düzgün bir fonksiyon oluşturun değerleri belirle , yani Not. Formüle edilmiş enterpolasyon problemi yeniden yapılandırmaktır. pürüzsüz fonksiyon , bir tabloda verilmiştir (Şekil 2). Böyle bir sorunun çok fazla olduğu açıktır.çeşitli çözümler ek koşullar gerekli netlik sağlanabilir. Uygulamalarda genellikle analitik olarak verilen bir fonksiyona, önceden belirlenmiş yeterli değere sahip bir fonksiyon kullanılarak yaklaşma ihtiyacı vardır. iyi özellikler. Örneğin, belirli bir fonksiyon /(x)'in [a, 6] bölümünün noktalarındaki değerlerinin hesaplanmasının önemli zorluklarla ilişkili olduğu ve/veya verilen fonksiyon /(x)'in gerekli düzgünlüğe sahip olmadığı durumlarda belirli bir işleve sahip olacak ve onun belirtilen dezavantajlarından yoksun olacak, oldukça iyi bir şekilde yaklaşan başka bir işlevin kullanılması uygundur. Fonksiyon enterpolasyonu sorunu. [a, 6] aralığı üzerinde w ızgara düğümlerinde çakışan bir düzgün a(x) fonksiyonu oluşturun. verilen fonksiyon/(X). Enterpolasyonlu kübik spline'ın tanımı Bir w ağı üzerindeki enterpolasyonlu kübik spline S(x), 1) bölümlerin her birinde üçüncü dereceden bir polinom olan, 2) [a, b] bölümünde iki kez sürekli türevlenebilir olan bir fonksiyondur. ], yani C2[ a, 6] sınıfına aittir ve 3) koşulları karşılar. Segmentlerin her birinde, S(x) spline üçüncü dereceden bir polinomdur ve bu segment üzerinde dört katsayı ile belirlenir. . Toplam parça sayısı m'dir. Bu, spline'ı tam olarak tanımlamak için 4m'lik sayıların bulunması gerektiği anlamına gelir. Koşul, S(x) fonksiyonunun ve onun türevlerinin S"(x) ve 5" sürekliliği anlamına gelir. (x) tüm dahili ızgara düğümlerinde w. Bu tür düğümlerin sayısı m - 1'dir. Böylece tüm polinomların katsayılarını bulmak için başka bir 3(m - 1) koşulu (denklemler) elde edilir. Koşul (2) ile birlikte koşullar (denklemler) elde edilir. Sınır (kenar) koşulları İki eksik koşul, [a, 6] aralığının uçlarındaki spline ve/veya türevlerinin değerleri üzerindeki kısıtlamalar şeklinde belirtilir. Enterpolasyonlu bir kübik spline oluştururken en sık aşağıdaki dört tip sınır koşulu kullanılır. A. 1. tip sınır koşulları. - [a, b] aralığının sonlarında istenen fonksiyonun birinci türevinin değerleri belirtilir. B. 2. tip sınır koşulları. - (a, 6) aralığının sonlarında istenen fonksiyonun ikinci türevinin değerleri belirtilir. B. 3. tip sınır koşulları. periyodik denir. Enterpolasyonlu fonksiyonun T = b-a periyodu ile periyodik olduğu durumlarda bu koşulların yerine getirilmesinin gerekli olması doğaldır. D. 4. tip sınır koşulları. özel yorum gerektirir. Yorum. Dahili sepsi düğümlerinde, genel anlamda S(x) fonksiyonunun üçüncü türevi süreksizdir. Ancak üçüncü türevin süreksizliklerinin sayısı 4. tip koşullar kullanılarak azaltılabilir. Bu durumda oluşturulan spline aralıklarla üç kez sürekli türevlenebilir olacaktır. İnterpolasyonlu kübik spline'ın oluşturulması Belirlenecek büyüklüklerin sayısının eşit olduğu bir kübik spline'ın katsayılarını hesaplamak için bir yöntem tanımlayalım. Her bir aralıkta enterpolasyon spline fonksiyonu aşağıdaki formda aranır. Burada SPLINE TEORİSİ çözüm örnekleri ve sayılar doğrusal bir sistemin çözümüdür.şekli sınır koşullarının türüne bağlıdır. Tip 1 ve 2 sınır koşulları için bu sistem aşağıdaki forma sahiptir; burada Katsayılar sınır koşullarının seçimine bağlıdır. 1. tip sınır koşulları: 2. tip sınır koşulları: 3. tip sınır koşulları durumunda sayıları belirleme sistemi şu şekilde yazılır: Bilinmeyenlerin sayısı son sistem periyodiklik koşullarından po = nm çıktığı için mn'ye eşittir. 4. tip sınır koşulları için sayıları belirleme sistemi şu şekildedir: Sistemde bulunan çözüme göre po ve n sayıları formüller kullanılarak belirlenebilir. Her üç doğrusalın matrisleri cebirsel sistemlerçapraz olarak baskın matrislerdir. Tamiya matrisleri tekil değildir ve bu nedenle bu sistemlerin her birinin tek çözüm. Teorem. Koşulları (2) ve yukarıda listelenen dört türden birinin sınır koşulunu karşılayan bir enterpolasyonlu kübik spline mevcuttur ve benzersizdir. Dolayısıyla, enterpolasyonlu bir kübik spline oluşturmak, onun katsayılarını bulmak anlamına gelir. Spline katsayıları bulunduğunda, S(x) spline'ının değeri. keyfi nokta [a, b] segmenti formül (3)'te bulunabilir. Ancak pratik hesaplamalar için daha uygundur. sonraki algoritma 5(g) değerini bulma. x 6 [x" olsun. Önce A ve B değerleri formüller kullanılarak hesaplanır ve ardından 5(x) değeri bulunur: Bu algoritmanın kullanılması, değerin belirlenmesindeki hesaplama maliyetlerini önemli ölçüde azaltır. kullanıcı Sınır (kenar) koşullarının ve enterpolasyon düğümlerinin seçimi, belli bir dereceye kadar enterpolasyon spline'larının özelliklerini kontrol edin. Fonksiyonların enterpolasyonunu yaparken. Segmentin [a, 6) uçlarına yakın spline 5(g) ile f(x) fonksiyonunun yüksek düzeyde yakınlaştırılmasının sağlanmasının gerekli olduğu durumda özellikle önem kazanmaktadır. Sınır değerleri, spline 5(g)'nin a ve b noktaları yakınındaki davranışı üzerinde gözle görülür bir etkiye sahiptir ve bu etki, onlardan uzaklaştıkça hızla zayıflar. Sınır koşullarının seçimi genellikle, yaklaşık f(x) fonksiyonunun davranışı hakkında ek bilgilerin bulunmasıyla belirlenir. Eğer birinci türevin değerleri f"(x) segmentin uçlarında biliniyorsa (a, 6), o zaman 1. tipin sınır koşullarının kullanılması doğaldır. İkinci türevin değerleri ise f"(x) [a, 6] doğru parçasının uçlarında biliniyorsa, bu tip 2'nin doğal kullanım sınır koşullarıdır. Tip 1 ve 2'nin sınır koşulları arasında bir seçim yapılması durumunda, tip 1'in koşulları tercih edilmelidir. Eğer f(x) - periyodik fonksiyon o zaman 3. tipin sınır koşullarında durmalıyız. Yaklaşan fonksiyonun davranışı hakkında ek bilgi yoksa, genellikle doğal sınır koşulları kullanılır. Bununla birlikte, böyle bir sınır koşulu seçimiyle f( fonksiyonunun yaklaşımının doğruluğu akılda tutulmalıdır. x) spline tarafından S(x) segmentinin uçlarına yakın (a, ft] keskin bir şekilde azalır. Bazen 1. veya 2. tipin sınır koşulları kullanılır, ancak kesin değerler karşılık gelen türevler ve bunların fark yaklaşımları. Bu yaklaşımın doğruluğu düşüktür. Hesaplamalardaki pratik deneyim, söz konusu durumda en uygun olanın 4. tip sınır koşullarının seçimi olduğunu göstermektedir. B. Enterpolasyon düğümlerinin seçimi. Fonksiyonun üçüncü türevi f""(x), [a, b] bölümünün bazı noktalarında süreksizliğe sahipse, o zaman yaklaşımın kalitesini iyileştirmek için bu noktaların enterpolasyon düğümlerinin sayısına dahil edilmesi gerekir. İkinci türev /"(x) süreksizse, süreksizlik noktaları yakınında spline'ın salınımını önlemek için özel önlemler almak gerekir. Tipik olarak enterpolasyon düğümleri, ikinci türevin süreksizlik noktaları düşecek şekilde seçilir. a değeri sayısal bir deney yoluyla seçilebilir (genellikle a = 0,01 olarak ayarlamak yeterlidir). (x) süreksizdir. En basitlerinden biri olarak şunu önerebiliriz: yaklaşım parçasını türevin sürekli olduğu aralıklara bölün ve bu aralıkların her biri üzerinde bir spline oluşturun. Bir enterpolasyon fonksiyonunun seçilmesi (artıları ve eksileri) Yaklaşım 1. Lagrange interpolasyon polinomu Belirli bir dizi için SPLINE TEORİSİ çözüm örnekleri (Şekil 3) enterpolasyon polinomu Lagrange formülle belirlenir. Lagrange enterpolasyon polinomunun özelliklerinin iki zıt konumdan dikkate alınması, ana avantajların dezavantajlardan ayrı olarak tartışılması tavsiye edilir. 1. yaklaşımın temel avantajları: 1) Lagrange enterpolasyon polinomunun grafiği dizinin her noktasından geçer, 2) oluşturulan fonksiyon kolayca tanımlanır (Lagrange enterpolasyon polinomunun ızgaradaki katsayılarının sayısı belirlenecek şekilde belirlenir) m + 1'e eşit), 3) oluşturulan fonksiyonun herhangi bir mertebeden sürekli türevleri vardır, 4) enterpolasyon polinomu verilen dizi tarafından benzersiz bir şekilde belirlenir. 1. yaklaşımın ana dezavantajları: 1) Lagrange enterpolasyon polinomunun derecesi ızgara düğümlerinin sayısına bağlıdır ve bu sayı ne kadar büyük olursa, enterpolasyon polinomunun derecesi de o kadar yüksek olur ve bu nedenle o kadar fazla hesaplama gerekir, 2 ) dizideki en az bir noktayı değiştirmek, Lagrange enterpolasyon polinomunun katsayılarının tamamen yeniden hesaplanmasını gerektirir, 3) toplama diziye eklenmesi Lagrange enterpolasyon polinomunun derecesini bir arttırır ve aynı zamanda katsayılarının tamamen yeniden hesaplanmasına yol açar, 4) sınırsız ağ iyileştirmesi ile Lagrange enterpolasyon polinomunun derecesi süresiz olarak artar. Lagrange enterpolasyon polinomunun sınırsız ağ iyileştirmeli davranışı genellikle özel dikkat gerektirir. Yorumlar A. Sürekli bir fonksiyonun bir polinomla yaklaşımı hakkında. Bir aralıktaki herhangi bir sürekli (ve daha da düzgün) fonksiyonun, bu aralıkta bir polinomla istenildiği kadar yakınlaştırılabileceği bilinmektedir (Weierstrass, 1885). Bu gerçeği formüller diliyle anlatalım. f(x), [a, 6] aralığında sürekli bir fonksiyon olsun. Bu durumda, herhangi bir e > 0 için, [a, 6] aralığındaki herhangi bir x için eşitsizliğin karşılanacağı şekilde bir Є(x) polinomu vardır (Şekil 4). Fonksiyona yaklaşan, aynı dereceden bile polinomların olduğuna dikkat edin. Belirtilen doğrulukta f(x) sonsuz sayıda vardır. [a, 6] doğru parçası üzerinde bir w ızgarası oluşturalım. Genel anlamda düğümlerinin, Pn(x) polinomunun ve f(x) fonksiyonunun grafiklerinin kesişme noktalarıyla çakışmadığı açıktır (Şekil 5). Bu nedenle, verilen ağ için Pn(x) polinomu enterpolasyon değildir. yeni nokta diziye eklenmesi dört katsayının hesaplanmasını gerektirir. İnterpolasyonlu kübik spline'ın özellikleri A. Kübik spline'ın alproximation özellikleri. Enterpolasyon spline'ının yaklaşım özellikleri, f(x) fonksiyonunun düzgünlüğüne bağlıdır - enterpolasyonlu fonksiyonun düzgünlüğü ne kadar yüksek olursa, yaklaşım sırası da o kadar yüksek olur ve ağ iyileştirildiğinde yakınsama hızı da o kadar yüksek olur. Eğer enterpolasyonlu f(x) fonksiyonu aralıkta sürekli ise Eğer enterpolasyonlu f(x) fonksiyonu [a, 6] aralığında sürekli bir birinci türeve sahipse, yani ek puan, 1. veya 3. tip sınır koşullarını karşılıyorsa, h O için elimizdeki bu durumda, sadece spline enterpolasyonlu fonksiyona yakınsamaz, aynı zamanda spline'ın türevi de bu fonksiyonun türevine yakınsar. Spline S(x), [a, b] segmentindeki f(x) fonksiyonuna yaklaşıyorsa ve bunun birinci ve ikinci türevleri sırasıyla bir kübik spline'ın ekstremal özelliğidir. Enterpolasyonlu kübik spline'ın bir tane daha var kullanışlı özellik . Aşağıdaki örneği düşünün. Formüle edilen yumuşatma problemi restorasyon bir tabloda belirtilen pürüzsüz fonksiyon. Böyle bir sorunun birçok farklı çözümü olduğu açıktır. Oluşturulan fonksiyona ek koşullar uygulanarak gerekli netlik sağlanabilir. Düzleştirici bir kübik spline'ın tanımı Bir w ızgarası üzerindeki yumuşatıcı kübik spline S(x), 1) bölümlerin her birinde üçüncü dereceden bir polinom olan, 2) [a, 6] bölümünde iki kez sürekli türevlenebilir olan bir fonksiyondur. ], yani C2 sınıfına aittir [a , b], 3) fonksiyonelin minimumunu sağlar burada - verilen sayılar, 4) aşağıda belirtilen üç türden birinin sınır koşullarını karşılar. Sınır (kenar) koşulları Sınır koşulları, w ızgarasının sınır düğümlerindeki spline ve türevlerinin değerleri üzerindeki kısıtlamalar şeklinde belirtilir. A. Tip 1 sınır koşulları. - [a, b) aralığının sonlarında istenen fonksiyonun birinci türevinin değerleri belirtilir. Tip 2 sınır koşulları. - (a, b] aralığının uçlarındaki istenen fonksiyonun ikinci türevleri sıfıra eşittir. B. 3. tipteki sınır koşulları periyodik olarak adlandırılır. Teorem. Kübik spline S(x), fonksiyonel (4)'ü en aza indiren ve yukarıdaki üç türden birinin sınır koşullarını karşılayan, benzersiz bir şekilde tanımlanmıştır. Tanım. Fonksiyonel J(f)'yi en aza indiren ve i-tipinin sınır koşullarını karşılayan bir kübik spline, i-tipinin yumuşatıcı spline'ı olarak adlandırılır. Bu parçayı dört katsayı ile işaretleyiniz. Toplam parça sayısı m'dir. Bu, spline'ın tam olarak belirlenebilmesi için 5(ag) fonksiyonunun sürekliliği anlamına gelir. ızgaranın tüm iç düğümlerindeki türevler o ". Bu düğümlerin sayısı m - 1'dir. Böylece tüm polinomların katsayılarını hesaplamak için 3(m - 1) koşulu (denklemler) elde ederiz. Fonksiyon şu şekilde aranır: aşağıdaki form. Buradaki sayılar ve, formu sınır koşullarının türüne bağlı olan bir doğrusal cebirsel denklemler sisteminin çözümüdür. Öncelikle n* değerlerinin nasıl bulunduğunu anlatalım. Tip 1 ve 2'nin sınır koşulları için sistem doğrusal denklemler Hi değerlerini belirlemek için aşağıdaki formda yazılır.). Katsayılar sınır koşullarının seçimine bağlıdır. 1. tip sınır koşulları: 2. tip sınır koşulları: 3. tip sınır koşulları durumunda sayıları belirleme sistemi şu şekilde yazılır: ve tüm katsayılar formül (5)'e göre hesaplanır (değerler) k ve m + k endeksleri eşit kabul edilir: Önemli* not: Sistemlerin matrisleri dejenere değildir ve bu nedenle bu sistemlerin her birinin benzersiz bir çözümü vardır. n, - sayıları bulunursa, miktarlar kolaylıkla belirlenir. Periyodik sınır koşulları durumunda, katsayıların seçimi, fonksiyonel (4)'te yer alan p, - ağırlıklandırma katsayılarının seçimidir, geçen spline'ların özelliklerini bir dereceye kadar kontrol edebilirsiniz. (x^, Vk) noktası, o zaman buna karşılık gelen p\ ağırlıklandırma faktörü sıfıra eşitlenmelidir. Pratik hesaplamalarda en önemli şey pi değerlerinin seçimidir - Ölçme hatası D olsun. değer y. Bu durumda, yumuşatma spline'ının veya koşuluna uymasını gerektirmek doğaldır. En basit durumda, ağırlıklandırma katsayıları pi, örneğin c'nin yeterince küçük bir sabit olduğu formda belirtilebilir. Ancak p ağırlıklarının bu seçimi, y, - değerlerindeki hatalar nedeniyle “koridor” kullanımına izin vermez. P değerlerini belirlemek için daha rasyonel ama aynı zamanda daha emek yoğun bir algoritma şu şekilde görünebilir. Değerler fc-th yinelemesinde bulunursa, e'nin bilgisayarın bit ızgarası, D değerleri ve doğruluğu dikkate alınarak deneysel olarak seçilen küçük bir sayı olduğu varsayılır. Lineer cebirsel denklem sistemlerinin çözümü. Eğer i noktasındaki fc-th yinelemesinde koşul (6) ihlal edilirse, son formül karşılık gelen ağırlık katsayısı p,'de bir azalma sağlayacaktır. Eğer o zaman bir sonraki yinelemede p'deki bir artış daha fazlasına yol açarsa “koridor” (6) ve sonuçta daha düzgün değişen bir spline. Küçük bir teori A. İnterpolasyon kübik spline'ın katsayılarını hesaplamak için formüllerin gerekçesi. m'nin şu anda bilinmeyen büyüklükler olduğu gösterimi tanıtalım. Sayıları m+1'e eşittir. İnterpolasyon şartlarını sağlayan ve tüm aralıkta sürekli olan bir spline [a, b\: formülüne koyarsak sırasıyla elde ederiz. [a, 6] aralığında sürekli birinci türev: (7) ilişkisinin türevini alıp koyarak, karşılık gelen değeri elde ederiz Aslında. M sayılarının, spline fonksiyonunun (7) [a, 6] aralığında sürekli bir ikinci türevi olacak şekilde seçilebileceğini gösterelim. Spline'ın aralıktaki ikinci türevini hesaplayalım: x, - 0 noktasında (t = 1'de) Spline'ın aralıktaki ikinci türevini hesaplayalım. Elimizdeki noktada Spline'ın süreklilik koşulundan a ızgarasının iç düğümlerindeki ikinci türev; m - 1 ilişkisini elde ederiz; bu m - 1 denklemlerine, sınır koşullarından çıkan iki tane daha ekleyerek, m + I bilinmeyen miy i = 0, 1... olan bir m + 1 doğrusal cebirsel denklem sistemi elde ederiz. M. 1. ve 2. tip sınır koşulları durumunda rsh değerlerini hesaplamak için denklem sistemi, (1. tip sınır koşulları), (2. tip sınır koşulları) şeklindedir. Periyodik sınır koşulları için (tip 3 sınır koşulları), ağ o; bir düğüm daha uzatın ve varsayın. O zaman σ* değerlerini belirleyen sistem, ikinci ve (th - !)th grid düğümlerinde form sürekliliğine sahip olacaktır. Son iki ilişkiden 4. türün sınır koşullarına karşılık gelen eksik iki denklemi elde ederiz: Bilinmeyen yapışkan maddeyi denklemlerden ve bilinmeyen pc'yi denklemlerden çıkararak bir denklem sistemi elde ederiz. Bu sistemdeki bilinmeyenlerin sayısının - I olduğuna dikkat edin. 6. Düzleştirici bir subichess spline'ın verimliliğini hesaplamak için formüllerin gerekçesi. Zi ve nj'nin şu anda bilinmeyen büyüklükler olduğu gösterimi tanıtalım. Sayıları 2m + 2'dir. Formda yazılan spline fonksiyonu 8) aralığının tamamı boyunca süreklidir, [a, 6] aralığında sürekli bir birinci türevi vardır. S(x) spline'ının birinci türevini hesaplayalım. aralıkta: x^ - 0 noktasında (t = 1'de) elimizdeki 5(x) spline'ının ilk türevini aralıkta hesaplayalım: elimizdeki noktada Birinci türevin süreklilik koşulundan ağın iç düğümlerindeki spline'ın --> m - 1 ilişkisini elde ederiz. Bu ilişkiyi şu şekilde yazmak uygundur: tam kullanım Burada ayrıca, [a, 6) aralığındaki bir spline'ın sürekli bir ikinci türevi vardır: (8) ilişkisinin türevini alarak ve koyarak, sırasıyla matris ilişkisini elde ederiz. fonksiyonelin minimum koşulu (4). Son iki matris eşitliği, 2m + 2 bilinmeyen için 2m + 2 doğrusal cebirsel denklemden oluşan doğrusal bir sistem olarak düşünülebilir. İlk eşitlikteki r sütununu (9) ilişkisinden elde edilen ifadeyle değiştirerek SPLINE TEORİSİ matris denklemine M sütununu belirlemek için çözüm örneklerine ulaşıyoruz. A + 6HRH7 matrisinin olması nedeniyle bu denklemin benzersiz bir çözümü var. her zaman dejenere değildir. Onu bulduktan sonra Eamsshine şehrini kolaylıkla tanımlayabiliriz. A ve H threadmagolal matrislerinin elemanları yalnızca ızgara parametreleriyle ve (hi adımlarıyla) belirlenir ve y^ değerlerine bağlı değildir. Kübik spline fonksiyonlarının doğrusal uzayı Ağ wcra+l düğümü boyunca [a, 6) segmenti üzerinde oluşturulan kübik spline kümesi şu şekildedir: doğrusal uzay m + 3 boyutları: 1) u> ağı üzerinde oluşturulan iki kübik spline'ın toplamı ve u> ağı üzerinde oluşturulan kübik spline'ın çarpımı, keyfi sayı daha gizli olarak, bunlar bu ızgara üzerinde inşa edilmiş kübik spline'lardır, 2) ızgara üzerinde ve bir düğümden inşa edilen herhangi bir kübik spline, tamamen bu düğümlerdeki y" değerlerinin m + 1 değeri ile belirlenir ve iki- sadece +3 parametre. M + 3 doğrusal bağımsız spline'dan oluşan bu uzayda bir taban seçerek, keyfi bir kübik spline a(x)'i bunların doğrusal birleşimi olarak benzersiz bir şekilde yazabiliriz. Yorum. Bu tür spline ataması hesaplama uygulamalarında yaygındır. Kübik B-spline'lardan (temel veya temel spline'lar) oluşan bir veritabanı özellikle kullanışlıdır. D-spline'ların kullanımı bilgisayar belleği gereksinimlerini önemli ölçüde azaltabilir. L-spline'lar. W ızgarası boyunca sayı doğrusu üzerinde oluşturulan sıfır dereceli bir B-spline'a, u ızgarası boyunca sayı doğrusu üzerinde oluşturulan, k ^ I dereceli B-spline, tekrarlayan fonksiyon aracılığıyla belirlenir. formül İlk B, -1 "(g) ve ikinci \7\x) dereceye ait B-spline grafikleri sırasıyla Şekil 11 ve 12'de sunulmaktadır. İsteğe göre k derecesine sahip bir B-spline, aşağıdakilerden farklı olabilir: sıfır yalnızca belirli bir segmentte (k + 2 düğüm ile tanımlanır) B, -3* (i), z,-+2] segmentindeki sıfırdan farklıydı. tek biçimli ağ durumu (adım A ile). Diğer durumlarda, kübik B-spline'ın tipik bir grafiği Şekil 13'te gösterilmektedir. Ödünç alınarak*, a) fonksiyonu aralıkta iki kez sürekli türevlenebilir. yani C2[a, ") sınıfına aittir ve b) yalnızca ardışık dört aralıkta sıfırdan farklıdır (w ızgarasını tamamen keyfi olarak alınan yardımcı düğümlerle tamamlayalım. Genişletilmiş ağ w* ile şunu oluşturabiliriz: m + 3 kübik B-spline ailesi: Bu aile, (a, b) segmentindeki kübik spline uzayında bir temel oluşturur. Böylece, |b, 6] ızgara o; segmenti üzerinde oluşturulan keyfi bir kübik spline S(z) iz+1 düğümü bu segment üzerinde doğrusal bir kombinasyon şeklinde temsil edilebilmektedir. Problemin koşullarına göre bu genişlemenin katsayıları ft olarak belirlenmektedir. ... Fonksiyonun ızgara düğümlerindeki y* değerleri ile ağın uçlarındaki fonksiyonun birinci türevinin y o ve V değerlerinin verilmesi durumunda (sınır ile enterpolasyon sorunu) birinci tür koşullar), bu katsayılar aşağıdaki formdaki sistemden hesaplanır. Hariç tutulduktan sonra miktarlar b-i ve &m+i, bilinmeyenleri 5q, ..., bm olan doğrusal bir sistem ve üç boyutlu bir matris elde ederiz. Bu durum çapraz hakimiyeti ve dolayısıyla bunu çözmek için tarama yöntemini kullanma olasılığını sağlar. 3MMCHMY 1. Doğrusal sistemler Diğer enterpolasyon problemleri dikkate alındığında da benzer türler ortaya çıkar. Zmmchnm* 2. Bölüm 1.1'de açıklanan algoritmalarla karşılaştırıldığında, * enterpolasyon problemlerinde R-spline kullanımı, depolanan bilgi miktarını azaltmamıza*, yani bilgisayar belleği gereksinimlerini önemli ölçüde azaltmamıza olanak sağlar, ancak bu durum yol açsa da operasyon sayısında artış olacak. Spline fonksiyonlarını kullanarak spline eğrilerinin oluşturulması Yukarıda, apsisleri kesin olarak artan bir dizi oluşturacak şekilde noktaları numaralandırılmış dizileri ele aldık. Örneğin, Şekil 2'de gösterilen durum. 14 ne zaman farklı noktalar birbirinin aynısı apsis dizisine izin verilmedi. Bu durum, hem yaklaşım eğrileri sınıfının (trafik fonksiyonları) seçimini hem de bunların yapım yöntemini belirledi. Bununla birlikte, yukarıda önerilen yöntem, daha fazla sayıda bir enterpolasyon eğrisinin oldukça başarılı bir şekilde oluşturulmasını mümkün kılar. genel durum dizi noktalarının numaralandırılması ve düzlemdeki konumları kural olarak birbirine bağlı olmadığında (Şekil 15). Ayrıca, bir enterpolasyon eğrisi oluşturma görevini belirlerken, verilen dizinin düzlemsel olmadığını düşünebiliriz, yani bu genel sorunu çözmek için, kapalı olanlar da dahil olmak üzere kabul edilebilir eğriler sınıfını önemli ölçüde genişletmenin gerekli olduğu açıktır. eğriler, kendi kesişim noktalarına sahip eğriler ve uzaysal eğriler. Bu tür eğrileri ihtiyacımız olan parametrik denklemleri kullanarak tanımlamak uygundur. ek olarak fonksiyonlar yeterli düzgünlüğe sahip olmalıdır; örneğin C1 [a, /0] sınıfına veya C1 sınıfına ait olmalıdırlar. Dizinin tüm noktalarından sırayla geçen bir eğrinin parametrik denklemlerini bulmak için aşağıdaki şekilde ilerleyin. 1. adım. Rastgele bir segmentte .Df; ) set ( _points[_points.Length - 1].Df = değer; ) ) public double Ddfn ( get ( return _points[_points.Length - 1].Ddf; ) set ( _points[_points.Length - 1].Ddf = değer; ) ) public CSpline(CPoint point) ( _points = puan; _splines = new CSplineSubinterval; ) public void GenerateSplines() ( const double x1 = 0; var y1 = BuildSplines(x1); const double x2 = 10; var y2 = BuildSplines(x2); _points.Ddf = -y1 * (x2 - x1) / (y2 - y1); _points[_points.Length - 1].Ddf = _splines[_splines.Length - 1] .Ddf(_points[_points. Uzunluk - 1].X ) özel double BuildSplines(double ddf1) ( double df = _points.Df, ddf = ddf1; for (var i = 0; i< _splines.Length; i++) { _splines[i] = new CSplineSubinterval(_points[i], _points, df, ddf); df = _splines[i].Df(_points.X); ddf = _splines[i].Ddf(_points.X); if (i < _splines.Length - 1) { _points.Df = df; _points.Ddf = ddf; } } return df - Dfn; } }



Mavi bölümler, spline'ın karşılık gelen noktalarındaki ilk türevleridir. Daha fazla netlik sağlamak için bu grafik öğesini ekledim.

Algoritmanın avantajları ve dezavantajları

Doğrusunu söylemek gerekirse ciddi bir analiz yapmadım. İyi anlamda, nasıl çalıştığını kontrol etmek için testler yazmaya değer. farklı koşullar(birkaç/çok enterpolasyon noktası, noktalar arasında eşit/rasgele, doğrusal/kare/kübik/trigonometrik/vb. fonksiyonlar vb.), ama bunu yapmadım, kusura bakmayın :)

Daha önce de söylediğim gibi, noktaların sayısına bakılmaksızın, algoritmanın karmaşıklığının O(N) olduğunu söyleyebiliriz. doğru değer aralığın sol ucundaki ikinci türev ve spline'ı oluşturmak için başka bir türev.

Ancak birisi kodu derinlemesine incelemek ve bu algoritmanın daha ayrıntılı bir analizini yapmak isterse çok memnun olurum. Sonuçlar hakkında bana yazın, ilgilenirim.

Peki IQ testlerinin nesi yanlış?

Yazının en başında iki sayı dizisi yazdım ve devam etmelerini istedim. Çok güzel sık sorulan soru her türlü IQ testinde. Prensip olarak soru sadece bir sorudur, ancak biraz daha derine inerseniz, bunun oldukça çılgınca olduğu ortaya çıkar, çünkü biraz arzuyla buna "doğru" bir cevap olmadığını kanıtlayabilirsiniz.

Öncelikle “2, 4, 6, 8,?” dizisini ele alalım.
Bunu hayal edelim sayı serisi bir değer çifti kümesi olarak:

Sayının kendisini nitelik olarak aldığımız yer ve seri numarası bu numara. Hangi değer mevcut olmalıdır?

Sorunsuz bir şekilde ulaşmaya çalıştığım fikir, kesinlikle herhangi bir değeri ikame edebileceğimizdir. Sonuçta, bu tür görevler aslında neyi kontrol ediyor? Bir kişinin mevcut tüm sayıları birbirine bağlayan belirli bir kuralı bulma ve bu kurala göre dizideki bir sonraki sayıyı türetme yeteneği. Konuşuyorum bilimsel dil ekstrapolasyonun görevi buradadır (enterpolasyonun görevi belirli bir aralıktaki tüm noktalardan geçen bir eğri bulmaktır ve ekstrapolasyonun görevi bu eğriyi aralığın ötesine uzatarak, böylece eğrinin davranışını "tahmin etmektir". gelecek). Dolayısıyla ekstrapolasyonun net bir çözümü yoktur. Kesinlikle. Asla. Aksi olsaydı, insanlar uzun zaman önce tüm insanlık tarihi için hava durumu tahminlerini tahmin ederdi ve ruble döviz kurundaki sıçramalar asla sürpriz olmazdı.

Elbette bu sorunun hala doğru bir cevabının olduğu ve 10'a eşit olduğu varsayılıyor ve tüm bu sayıları birbirine bağlayan "yasa" şu şekilde oluyor:

  • yeni başlayanlar için
  • Etiket ekle

    Gemi yapımı, otomobil imalatı ve uçak imalatı gibi endüstriyel imalatta, nihai şekil, nihai şekil veya buna yakın ölçekte, bitirme işlemi yoluyla belirlenir.

    Bu sürecin otomasyonu bilgisayar grafiklerinin büyük ilgisini çekmektedir. Matematiksel spline'ın şekli, fiziksel spline'ın konturunu takip eder (Şekil 5-4), yani. belirli noktalardan geçen esnek ahşap veya plastik cetvel. Spline'ın şeklini değiştirmek için kurşun ağırlıklar kullanılır. Sayılarını ve konumlarını değiştirerek ortaya çıkan eğriyi daha düzgün, daha güzel ve "göze hoş" hale getirmeye çalışırlar.

    Fiziksel bir spline'ı ince, esnek bir şerit olarak düşünürsek, şekli (sapması), şerit boyunca bükülme momenti için Euler denklemi (5-2) ile belirlenir:

    burada raf malzemesinin özelliklerine bağlı olan Young modülü, eğrinin şekliyle belirlenen atalet momentidir ve eğrilik yarıçapıdır.

    Küçük sapmalar için yarıçap yaklaşık olarak eşittir

    ,

    burada asal, direk boyunca mesafeye göre türevi belirtir ve asalın sapmasıdır. Euler denklemi şu şekli alır

    Ağırlıkların basit destek görevi görmesine izin verin, ardından aralarındaki bükülme momenti doğrusal olarak değişir. Değiştirme Euler denkleminde şunu elde ederiz:

    ve çift entegrasyondan sonra

    Böylece spline'ın şekli kübik bir polinom tarafından verilir.

    Genel olarak, matematiksel bir spline, bölümlerin bağlantı noktalarında derecenin sürekli bir türevi olan parçalı bir derece polinomudur. Örneğin kübik bir spline, bağlantı noktalarında ikinci dereceden sürekliliğe sahiptir. Düşük dereceli polinomlardan parçalı eğriler, büyük hesaplama maliyetleri gerektirmediğinden ve polinomların karakteristik sayısal sapmalarına neden olmadığından, eğrilerin enterpolasyonu için çok uygundur. yüksek sipariş. Fiziksel spline'lara benzer şekilde, tipik olarak her bir bölümün iki noktadan geçtiği bir dizi kübik bölüm kullanılır. Kübik bir spline da uygundur çünkü en küçük dereceden bir eğridir, bükülme noktalarına ve uzayda bükülmeye izin verir.

    Bir parametrik spline segmentinin denklemi şöyledir:

    , , (5-1)

    segmentin başında ve sonundaki parametre değerleri nerede ve nerededir. - segmentin herhangi bir noktasına vektör. üç bileşenin olduğu vektör değerli bir fonksiyondur Kartezyen koordinatlar vektör.

    Pirinç. 5-5 Kübik bir spline'ın bir segmenti.

    Her bileşenin benzer bir formu vardır;

    , ,

    , ,

    , .

    Sabit katsayılar, spline segmenti için dört sınır koşuluna göre hesaplanır. Denklemi (5-1) forma yazalım

    ve, parçanın uçlarının vektörleri olsun (bkz. Şekil 5-5). Ayrıca ve 'ye göre türevler doğru parçasının uçlarında teğet vektörler olsun. Diferansiyel denklem (5-1), şunu elde ederiz:

    , . (5-3)

    Sonucu yazalım

    , . (5-4)

    Genelliği kaybetmeden şunu varsayalım ve sınır koşullarını uygulayalım.

    Bilinmeyenler için dört denklem elde ederiz:

    , (5-6b)

    , (5-6c)

    . (5-6g)

    Çözümler ve forma sahip:

    (5-7a)

    . (5-7b)

    , ve miktarları kübik spline segmentini tanımlar. Açıkçası, bir parçanın şekli parçanın uçlarındaki konuma ve teğet vektörlere bağlıdır. Daha sonra, sonuçların segmentin sonunda parametre değerini içerdiğini unutmayın. Her uç nokta ve teğet vektörün üç bileşeni olduğundan, parametrik denklem kübik uzaysal eğri on iki vektör bileşenine ve parçanın sonundaki parametrenin değerine bağlıdır.

    Denklemleri (5-6) ve (5-7) (5-1)'de değiştirerek, kübik bir spline'ın bir parçası için denklemi elde ederiz:

    . (5-8)

    Bu bir segment için bir denklemdir. Eğrinin tamamını elde etmek için birçok segmenti bağlamanız gerekir. Şek. Şekil 5-6 iki bitişik parçayı göstermektedir. Vektörler , , , teğet vektörler , ve parametrelerin değerleri biliniyorsa, her parçanın şekli denklemden (5-8) belirlenir. Ancak bağlantı noktasındaki teğet vektörün bilinmesi pek mümkün değildir. Neyse ki süreklilik koşulundan türetilebilir.

    Parçalı dereceli bir spline'ın birleşme noktalarında derece sürekliliğine sahip olduğunu hatırlayın; kübik bir spline'ın sürekliliği ikidir. Bunu yapmak için çizginin ikinci türevi veya eğriliği sürekli olmalıdır. Denklemin (5-1) iki kere diferansiyelini alırsak, şunu elde ederiz:

    , . (5-9)

    Pirinç. 5-6 İki parçalı kübik spline segmenti.

    Spline'ın ilk parçası için parametre . Denklemde (5-9) yerine koyalım:

    .

    Spline'ın ikinci bölümü için parametre aralıkta değişir. İkinci bölümün başındaki değeri denklem (5-9)'a koyalım

    Elde edilen sonuçları eşitleyip (5-6a,b) ve (5-7a) denklemlerini kullanarak şunu elde ederiz:

    .

    Bu denklemin sol tarafı birinci parçanın sonundaki eğriliği, sağ tarafı ise ikinci parçanın başındaki eğriliği temsil eder. Terimleri çarpın ve gruplandırın:

    Buradan bağlantı noktasındaki bilinmeyen teğet vektör belirlenir. Son denklemin yine segmentlerin uçlarında parametre değerleri içerdiğini unutmayın.

    Ortaya çıkan formül noktalar için genelleştirilebilir ve kübik bir spline'ın bölümleri için bağlantı noktalarında ikinci dereceden süreklilik elde edilebilir.

    Pirinç. 5-7 Parçalı kübik spline segmentleri seti için gösterimler.

    Herhangi iki bitişik spline parçası için genelleştirilmiş denklem ve Şekil 2'deki notasyonda. 5-7 şuna benzer:

    (5-11)

    ilk bölüm için ve

    (5-12)

    ikincisi için, her bölüm için parametre birinci ve ikinci için sıfırdan değişmeye başladığından - .

    Herhangi bir bitişik parçanın birleşme noktalarında ikinci türevleri eşitlemek, , verir genel sonuç, denkleme eşdeğer (5-10),

    buradan herhangi iki parçanın bağlantı noktalarında teğet vektör belirlenir ve .

    Tüm spline bölümleri için denklemin (5-13) yinelemeli kullanımı, teğet vektör denklemleri üretir. Matris formunda:

    (5-14)

    Matris kare değildir, çünkü yalnızca vektörler için denklemler vardır ve bir çözüm elde etmek için ters çevrilemez. Eğrinin uçlarındaki teğet vektörlerin bilindiğini varsayarsak sorun çözülür. Şimdi matris şöyle görünüyor

    (5-15)

    matrisin kare ve tersinir olduğu yer. Ayrıca bunun ters çevrilmesinin hesaplama maliyetlerini azaltan üç köşegen olduğuna da dikkat edin. Ayrıca matris çapraz olarak baskındır. Buradan tek bir çözümün olduğu anlaşılıyor:

    . (5-16)

    Eğer bilirsek, her bir spline segmenti için katsayıları belirlemek kolaydır. (5-6)-(5-11) denklemlerini genelleştirerek şunu elde ederiz:

    ,

    .

    O zamandan beri ve vektör miktarları, o zaman onlar da vektördür; eğer bileşenleri varsa, o zaman bu bileşenlere de sahiptirler.

    Matris formunda herhangi bir spline parçasının denklemi şöyledir:

    . (5-17)

    Uçlarında teğet vektörler bulunan ve noktalardan geçen kübik bir eğrinin belirtilmesi gereksin. Denklem (5-16)'dan iç teğet vektörleri , buluruz. Daha sonra denklem (5-17)'den her parçanın uçlarının bilinen koordinatları ve her parça için teğet vektörleri belirlenir. Denklemin son genellemesi (5-1)

    , , , (5-18)

    Spline segmentini hesaplamak için kullanılır.

    Matris formunda denklem (5-18) şuna benzer:

    , . (5-19)

    Denklemi (5-17) değiştirerek ve terimleri yeniden düzenleyerek şunu elde ederiz:

    , , , (5-20)

    , (5-21a)

    , (5-21b)

    , (5-21s)

    , (5-21g)

    ağırlık fonksiyonları denir.

    Pirinç. 5-8 Kübik spline ağırlıklandırma fonksiyonları

    Bu tanımları kullanarak denklem (5-20)'yi matris formunda yazıyoruz.

    ağırlık fonksiyonunun matrisi nerede

    geometrik bilgiler içerir. Aşağıda görüldüğü gibi (5-22) gibi denklemler, yani. ağırlıklandırma fonksiyonu matrisinin geometrik koşullar matrisiyle çarpımı genellikle eğrileri ve yüzeyleri tanımlamak için kullanılır.

    Denklem (5-21)'den her ağırlık fonksiyonunun üçüncü dereceden olduğu açıktır. Kübik spline segmentindeki herhangi bir nokta ağırlıklı toplamdır uç noktalar ve teğet vektörler. Katsayılar ağırlıklandırma fonksiyonları görevi görür. Şek. 5-8 için gösterilmektedir. Şekilden açıkça görülmektedir ki ve , yani. eğri nokta vektöründen geçer. Benzer şekilde ve yani. eğri aynı zamanda nokta vektöründen de geçer. Daha sonra ve ve ve simetrisine dikkat edelim. Aslında . Son olarak , , ve 'nin göreceli sırasına dikkat edelim. Büyüklükteki önemli fark, genel olarak uç noktaların konumunun teğet vektörlerden daha büyük bir etkiye sahip olduğunu göstermektedir.

    Parçalı kübik bir spline'ın noktalarla, teğet vektörlerle ve parametre değerleriyle, yani tüm bölümlerin uçlarında tanımlandığını hatırlayın. Seçim eğrinin düzgünlüğünü etkiler.

    İkinci türevin iç bağlantı noktalarındaki sürekliliği, kendi başına, eğri boyunca minimum eğrilik anlamında eğrinin düzgünlüğünü garanti etmez. Uygun değerleri seçerek, her bölüm için katsayıları en aza indirmek ve eğrinin daha düzgün olmasını sağlamak mümkündür. Tipik olarak bu ek hesaplamalara gerek yoktur. Pratik amaçlar için, birden fazla basit yöntemler, burada tartışılanlar gibi.

    Bir hesaplama yöntemi parametre değerlerini ayarlamaktır eşit uzunluklar Komşu noktalar arasındaki akorlar. Aynı zamanda eğrinin kalitesi çoğu kullanıcının gereksinimlerini karşılar uygulamalı problemler. Diğer bir yöntem ise varyasyonu normalleştirmektir. bire eşit her spline segmenti için. Bu seçim hesaplamaları basitleştirir (bkz. Bölüm 5-4). Yukarıdaki denklemlerden de görülebileceği gibi herhangi bir seçim farklı katsayılarla sonuçlanır ve dolayısıyla verilen noktalardan geçen farklı eğriler elde edilir.

    Bir örneğe bakalım.

    Örnek 5-2 Kübik spline

    Düzlem üzerinde dört vektör noktası verilsin: , , , (bkz. Şekil 5-9).

    Kiriş yaklaşımını kullanarak bunların içinden geçen parçalı kübik spline'ı bulun.

    Uçlardaki teğet vektörler: ve . Her bölüm için ara noktaları bulun.

    .

    İlk önce bulacağız

    İç teğet vektörler ve denklem (5-15)'ten hesaplanır:

    .

    Pirinç. 5-9 Parçalı kübik spline.

    .

    Daha sonra eğrinin uçları dışbükeydir ve akorlar ve teğetlerden oluşan bir üçgenin içinde yer alır. Değer arttıkça eğri giderek içbükey hale gelir ve üçgenin ötesine geçer. Bu durumda vektör büyük olduğunda eğride bir tepe noktası belirir (bkz. Şekil 5-10d). Daha büyük değerlerde, Şekil 2'de görülebileceği gibi bir döngü ortaya çıkar. 5-10. Bazen eğrinin şeklini iyileştirmek için vektörün büyüklüğü kirişin uzunluğuyla sınırlıdır.

    Hadi verildi sürekli fonksiyon f(x). Bir ızgara tanıtalım

    ve belirtmek F Ben=f(x Ben), i=0,1,N .

    Bu fonksiyona karşılık gelen Spline f(x) ve düğümler verildiğinde fonksiyon çağrılır S(x), tatmin edici aşağıdaki koşullar:

    1. Her segmentte , i=1,2,N , işlev S(x) üçüncü dereceden bir polinomdur;

    2. İşlev S(x), ve bunun birinci ve ikinci türevleri
    için sürekli ;

    Son koşul denir enterpolasyon koşulu ve 1)-3) koşullarıyla tanımlanan spline da denir enterpolasyonlu kübik spline.

    Yukarıdaki koşullarla tanımlanan bir spline'ın varlığını ve tekliğini kanıtlayalım. Aşağıdaki kanıt aynı zamanda bir spline oluşturmaya yönelik bir yöntem de içermektedir.

    Bir çift komşu düğüm arasındaki aralıkta, enterpolasyon fonksiyonu 3. dereceden bir polinomdur ve uygun şekilde şu şekilde yazılır:

    Polinomun katsayıları düğümlerdeki koşullardan belirlenir. Kabul etmesi gerekiyor tablo değerleri:

    (1)

    Denklem sayısı iki katına çıktı daha az sayı bilinmeyen katsayılar olduğundan kapatma için ek koşullara ihtiyaç vardır. Kübik polinomun birinci ve ikinci türevlerini bulalım:

    (2)

    Düğümler dahil tüm noktalarda bu türevlerin sürekliliğini (yani esnek cetvelin düzgünlüğünü) isteyelim. Türevlerin sağ ve sol limitlerini dahili x i düğümünde eşitleyerek şunu elde ederiz:

    3)

    Eksik iki koşul genellikle grafiğin uçlarında sıfır eğriliğe sahip olduğu yönündeki doğal varsayımdan elde edilir:

    bu, cetvelin serbestçe alçaltılmış uçlarına karşılık gelir. Ama eğer varsa Ek Bilgiler Fonksiyonun asimptotik davranışı hakkında, o zaman diğer sınır koşullarını yazabiliriz.

    Denklemler (1-4), 4N bilinmeyen katsayıyı belirlemek için bir doğrusal denklem sistemi oluşturur. Bu sistem Gauss eleme yöntemiyle çözülebilir ancak özel bir forma indirgemek daha karlı olur.

    Denklem (1) tüm katsayıları aynı anda verir ve ben. Denklemlerden (3) ve (4)

    (5)

    (5)'i (1)'de yerine koyalım, aynı anda ortadan kaldıralım Aben = Fben -1 , şunu elde ederiz:

    (6)

    Şimdi (3)'ten hariç tutuluyor B ben ve B i +1'den (6)'ya ve ben mi(5)'e göre, aşağıdakiler için bir denklem sistemi elde ederiz: ben ile:

    Bu sistemin matrisi 3 köşegendir. Bu tür sistemler ekonomik olarak süpürme yöntemiyle çözülmektedir.

    Çapraz baskınlık nedeniyle sistemin benzersiz bir çözümü vardır.

    Bulduktan sonra benimle belirlendi a ben, b ben Ve ben mi ve her segmentteki kübik polinomların (spline) türü belirlenir.

    Böylece 1)-3) koşulları ve sınır koşulları tarafından belirlenen benzersiz bir kübik spline'ın olduğu kanıtlanmıştır.

    Diğer sınır koşullarının dikkate alınabileceğini unutmayın.

    Daha fazlası düşünülebilir ortak görev bir fonksiyonun bir spline ile enterpolasyonu - n'inci dereceden bir polinom


    ,

    katsayıları parçalı olarak sabit olan, düğüm noktalarında verilen değerleri alan ve (n-1) türevleriyle birlikte sürekli olan.

    Uygulamada en yaygın olanı 2 durumdur: biri n=3 ( kübik polinomlar) zaten göz önünde bulundurulduğunda, n-1 için ikincisi (1. dereceden Newton polinomları), düğümler tarafından oluşturulan kesikli bir çizginin grafiğinin yaklaşımına karşılık gelir; katsayıların belirlenmesi açıktır.

    DERS No. 14

    SAYISAL ENTEGRASYON

    BASİT DÖRTLÜ FORMÜLLER

    Genel formül dikdörtgenler

    1. Sol dikdörtgenlerin karesel formülü.

    2. Sağ dikdörtgen formülü

    3. Orta dikdörtgenler için kareleme formülü

    Sayısal entegrasyon formüllerinin hatasının hesaplanması.

    İzin vermek sa>0 yeterince az x 0 =0.

    Fonksiyonu komşuluktaki bir Taylor serisine genişletelim x 0 =0. :

    Küçük bir segment için yerel hata H -

    yani

    Toplanabilirlik özelliği

    - segmentte hata.

    Newton-Cotes kareleme formülleri

    Bir polinom ise N - derece, o zaman

    Bunlar enterpolasyon tipinin karesel formülleridir. Burada Başlangıç – Cotes katsayıları

    Boyutsuz formüller.

    Bu, şunları sağlayan bir işlevdir:

    Verilen tüm noktalardan geçer
    ,
    ;

    Bitişik noktalar arasındaki her parça üzerinde kübik bir parabol vardır;

    Her noktada birinci ve ikinci türevleriyle birlikte süreklidir.)



    enterpolasyon

    yerel

    küresel











    doğrusal

    parabolik

    kübik

    parabol


    polinom

    derece ( N-1)



    kübik

    eğri


    Pirinç. 1.5.

    Yerel enterpolasyonla, polinom parçalarının birleşim yerlerinde, türevlerdeki süreksizliklerin elde edildiği açıktır; bu, örneğin noktaların koordinatlarından hız hesaplanırken bir takım problemlerde istenmeyen olabilir. Bir polinomun global enterpolasyonuyla her şey
    bir polinom derecesinin türevleri süreklidir, ancak kullanım nedeniyle yüksek dereceler polinomlar
    Sürekli bir fonksiyonun birçok maksimumu ve minimumu olabilir, yani. Eğri üzerinde orijinal fonksiyonda olmayan önemli aykırı değerler görünebilir. Bu aykırı değerler nedeniyle, beşinci veya altıncı derecenin üzerindeki polinomlar enterpolasyon için kullanılmaz. Şu anda küresel enterpolasyon için kübik spline'lar kullanılıyor.

    Enterpolasyon yaparken fonksiyon değerlerinde küçük bir hata olmalıdır, çünkü sürekli eğri
    tam olarak belirtilen noktalardan gerçekleştirilir.

    Bir fonksiyon yaklaşık olarak ölçülür veya hesaplanırsa ve hatalar önemliyse, enterpolasyon yapmanın ve yaklaşmaya devam etmenin bir anlamı yoktur. Latince kelime yaklaşık"neredeyse yakın" anlamına gelir. Yaklaştırırken, eğri bazı yakınlık kriterlerine göre, örneğin kritere göre belirli noktaların yakınına çizilir. en küçük kareler veya minimaks kriteri. Enterpolasyon ve yaklaşım arasındaki farklar Şekil 1.6'da gösterilmektedir.


    Eğer sürekli bir durumumuz varsa veya ayrık fonksiyon, bu durumda genellikle 5 tür fonksiyon dönüşümü kullanılır:

    Sürekliden ayrıklığa (örnekleme),

    Kesikliden sürekliye (enterpolasyon),

    Kesikliden sürekliye (yaklaşım),

    Sürekliden sürekliye (enterpolasyon),

    Ayrık'tan ayrık'a (düzleştirme).

    Dijital işlemede yaygın olarak kullanılan yumuşatma ile sürekli bir fonksiyonun oluşturulmadığını ve yalnızca noktaların koordinatlarının dönüştürüldüğünü unutmayın.

    Kübik spline.
    Schoenberg, 1949'da enterpolasyon için kübik spline'ların kullanılmasını önerdi. "Spline" kelimesi, uzun süre Alman ressamların karmaşık eğriler çizmek için desenler yerine çizim tahtasına çivilerle tutturduğu uzun ince metal şeritlerin adından gelmektedir.

    Kübik splineşu şekilde bir fonksiyondur:

    Verilen tüm noktalardan geçer
    ,
    ;

    Bitişik noktalar arasındaki her parça üzerinde kübik bir polinom vardır;

    Her noktada birinci ve ikinci türevleriyle birlikte süreklidir.

    Üçüncü koşul sayesinde kübik parabolün
    iki noktadan geçerek açıkça gerçekleştirilir.

    Kübik bir spline formülü, sayı ile rastgele bir bölüm için yazılmıştır. sol ucunda apsis bulunan . Herkes için bu segmentte
    enterpolasyon sonucu kübik spline kullanılarak hesaplanır.



    ,

    (2.1)

    Üstelik verilen noktalar arasında bir segmentimiz var, yani bu formülde
    .

    Eğer başka bir bölüme geçtiğinizde, mevcut bölümün sayısını değiştirmelisiniz ve aynı zamanda formüldeki tüm katsayılar da değişecektir. Üç koşula dayanarak şunu gösterebiliriz:



    ,
    ,
    ,

    (2.2)

    burada asal, 'ye göre farklılaşma anlamına gelir. Sonuç olarak, spline katsayıları, türevlerinin enterpolasyon düğümlerindeki değerlerini karakterize eder. Bir spline'ın üçüncü türevi süreksiz fonksiyon ancak üçüncü türevler modelleme problemlerinde çok nadiren kullanılır.

    Enterpolasyonu gerçekleştirmek için, yani. hesaplamalar
    herkes için önceden verilen puanlar Tüm spline katsayıları hesaplanmalıdır; diziler , , her biri noktalar arasındaki segment sayısına göre bir uzunluğa sahiptir.

    Problemin ifadesi: verilen noktalar , . Tüm spline katsayılarını belirleyin , , yani toplam
    katsayılar,
    , Çünkü bölüm

    Herhangi iki bitişik parçayı düşünün
    Ve
    sayılarla
    Ve . Bu nokta onlar için ortaktır, bkz. 2.1.


    Sağ segment için kübik spline (2.1) formuna sahiptir ve sol segment için yani. en



    ,

    (2.3)


    .

    İÇİNDE ortak nokta
    sol ve sağ değerleri eşitleyelim
    ve türevleri
    Ve
    kübik spline tanımına göre. Gösterimi kullanma
    sol parçanın uzunluğu için beş bilinmeyen katsayı için üç denklem elde ederiz
    ,
    ,
    , , .

    Bu tür üçlü denklemler tüm iç düğümler için yazılabilir,
    , veren
    denklemler.


    Sonuç olarak elde ederiz
    denklemler. Bu denklemler şunları içerir:
    bilinmiyor çünkü Düğümler arasındaki her bölüm için 3 bilinmeyenimiz var. Şurası açıktır ki kesin tanım katsayılar için iki denkleme daha ihtiyaç vardır.

    Bu ek iki denklem keyfi olabilir, ancak genellikle fonksiyonun olduğu varsayılır.
    uçlarına yakın kısmı doğrusaldır. Daha sonra, son ve ilk denklemlerden (2.4) ve denklemden (2.5) şunu elde ederiz:

    Genellikle denklem sistemi (2.8), düğümlerdeki ikinci türevler için yazılır ve bunları belirtir.
    . Daha sonra formu alır (Bakhvalov, Sayısal yöntemler, M., 2002):




    (2.9)


    , Ve
    ve resmen tanıtıldı
    .

    Makaleyi beğendin mi? Arkadaşlarınızla paylaşın!