Matlab ve Python ile Polinom Çözümü

Polinom, matematiksel bir ifade olup, bir veya daha fazla değişken içeren ve bu değişkenlerin katsayılarla çarpımı olarak ifade edilen terimlerin toplamıdır.

Polinomlar genellikle x, y, z gibi harflerle ifade edilen değişkenlerin her biri bir katsayı ile çarpılır ve bu çarpımların toplamı olarak ifade edilir. Örneğin, 2x^3 - 4x^2 + 7x - 3 bir polinomdur. Bu polinomda x üçüncü dereceden bir terim olarak yer almaktadır ve katsayısı 2'dir.

Polinomlar, matematiksel işlemler ve problemler için oldukça kullanışlıdır. Polinomlar, integral hesaplama, fonksiyon çizimi, matematiksel modellerin oluşturulması gibi birçok alanda kullanılır.

Bu örnekte 4.dereceden bir polinomun çözümü için ilk önce Matlab kodlarından, sonrasında ise Python kodlarından faydalanacağız. Probemimizi tanımlayacak olursak: 

A(x)=(x-1)(x-9)(x-8)(x-4)

B(x)=(x-1)(x-4)(x-5)(x-3) olarak verilen polinomun A(x)/B(x) bölümünü sıfır yapan x değerlerini bulmak için gerekli olan Matlab ve Python kodunu yazalım.

Matlab'da polinomlar için roots() fonksiyonu kullanılabilir. Aşağıdaki kod, verilen polinomların köklerini hesaplar ve A(x)/B(x) bölümünü sıfır yapan x değerlerini ekrana yazdırır: 

% A(x) polinomunu tanımla
A = [1, -22, 153, -408, 288];

% B(x) polinomunu tanımla
B = [1, -13, 49, -57, -60];

% A(x)/B(x) bölümünün köklerini hesapla
roots(A)/roots(B)

Not: Verilen polinomlar, önce katsayılarına göre vektörler olarak tanımlanmalıdır. Yukarıdaki kodda, A(x) ve B(x) için katsayılar [1, -22, 153, -408, 288] ve [1, -13, 49, -57, -60] olarak verilmiştir.

Örneğimizde roots() fonksiyonunu kullandık ve oldukça sade bir kod bloğumuz oldu. Bu fonksiyon kullanmadan yazacağımız Matlab kodu nasıl olurdu?

Verilen polinomlar A(x) ve B(x) çarpanlara ayrılarak A(x)/B(x) bölümü şu şekilde yazılabilir:

A(x)/B(x) = (x-9)(x-8) / (x-5)(x-3)

Bunu sıfıra eşitleyerek çözümleriz:

(x-9)(x-8) = 0 veya (x-5)(x-3) = 0

Buradan x = 9, x = 8, x = 5 ve x = 3 değerleri elde edilir. Bu değerler, A(x)/B(x) bölümünü sıfır yapan x değerleridir.

Matlab'da bu değerleri bulmak için şu kod yazılabilir:

% A(x) ve B(x) polinomlarını tanımla
A = [1, -22, 153, -408, 288];
B = [1, -13, 49, -57, -60];

% A(x)/B(x) bölümünü yaz
quotient = conv([1, -9], [1, -8]) ./ conv([1, -5], [1, -3]);

% sıfıra eşit olan x değerlerini bul
zeros = roots(quotient);

% sonuçları ekrana yazdır
disp('A(x)/B(x) bölümünü sıfır yapan x değerleri:');
disp(zeros);

Burada conv() fonksiyonu, iki polinomun çarpımını hesaplamak için kullanılır. İlk çarpımda (x-9) ve (x-8) terimleri, ikinci çarpımda ise (x-5) ve (x-3) terimleri çarpılır. Elde edilen sonuçlar birbiriyle bölünerek A(x)/B(x) bölümü elde edilir. roots() fonksiyonu, bu bölümün köklerini hesaplar ve sıfıra eşit olan x değerlerini verir.

Aynı örneği Python ile yazarken numpy kütüphanesinden faydalanacağız.

import numpy as np

# A(x) ve B(x) polinomlarını tanımla
A = [1, -22, 153, -408, 288]
B = [1, -13, 49, -57, -60]

# A(x)/B(x) bölümünü yaz
quotient = np.convolve([1, -9], [1, -8]) / np.convolve([1, -5], [1, -3])

# sıfıra eşit olan x değerlerini bul
zeros = np.roots(quotient)

# sonuçları ekrana yazdır
print('A(x)/B(x) bölümünü sıfır yapan x değerleri:')
print(zeros)

Burada np.convolve() fonksiyonu, iki polinomun çarpımını hesaplamak için kullanılır. İlk çarpımda (x-9) ve (x-8) terimleri, ikinci çarpımda ise (x-5) ve (x-3) terimleri çarpılır. Elde edilen sonuçlar birbiriyle bölünerek A(x)/B(x) bölümü elde edilir. np.roots() fonksiyonu, bu bölümün köklerini hesaplar ve sıfıra eşit olan x değerlerini verir.

polinom, 'matlab ile polinom', 'python polinom', 'python polinom kodları', 'matlab polinom örneği', 'python polinom örneği', 'python örnekleri', 'matlab örnekleri', 'birinci dereceden polinom', 'ikinci dereceden polinom', 'üçüncü dereceden polinom', 'dördüncü dereceden polinom', '4.dereceden polinom örneği'

 

Bilgilendirme

www.aliosmangokcan.com sayfasına gösterdiğiniz ilgiden dolayı teşekkür ederim. İçeriklerle ilgili duygu ve düşüncelerinizi mail adresim üzerinden iletebilirsiniz...

 

İstatistikler

  • Kullanıcılar 1
  • Makaleler 112
  • Makale Görüntüleme 876656