Simpson 3/8 Yöntemi

Programda kullanıcıdan

  • İntegral alt sınır değeri
  • İntegral üst sınır değeri
  • Aralık sayısı

Yöntem farklı fonksiyonlar için uygulanmak istenirse, FonksiyonHesap metodunun geri dönüş değeri istenilen şekilde değiştirilmelidir.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Simpson3e8Yontemi
{
    class Program
    {
        static double altSinir = 0, ustSinir = 0, aralikSayisi = 0;
        static double aralikDegeri = 0, sonuc = 0;

        static void Main(string[] args)
        {
            Console.Write("İntegral alt sınır değerini giriniz: ");
            altSinir = Convert.ToDouble(Console.ReadLine());
            Console.Write("İntegral üst sınır değerini giriniz: ");
            ustSinir = Convert.ToDouble(Console.ReadLine());
            Console.Write("Aralık sayısını giriniz: ");
            aralikSayisi = Convert.ToDouble(Console.ReadLine());

            Simpson();
            Console.ReadLine();
        }

        static void Simpson()
        {
            aralikDegeri = (ustSinir - altSinir) / aralikSayisi;
            sonuc = FonksiyonHesap(altSinir) + FonksiyonHesap(ustSinir);

            for (int i = 1; i < aralikSayisi; i++)
            {
                if (i % 3 == 0)
                    sonuc += 2 * FonksiyonHesap(i * aralikDegeri);
                else
                    sonuc += 3 * FonksiyonHesap(i * aralikDegeri);
            }

            sonuc *= 3 * aralikDegeri / 8;

            Console.WriteLine("İntegral sonucu: " + sonuc);

        }

        static double FonksiyonHesap(double x)
        {
            return 2 * Math.Pow(x, 3) - Math.Pow(x, 2) + 4;
        }
    }
}

“Simpson 3/8 Yöntemi” üzerine bir yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.