Çözüldü Birinci Mertebe Lineer Diferansiyel Denklem - Euler Yöntemine Göre Programlama

Konusu 'Akademik Soru Çözümleri ve Kaynakları' forumundadır ve Honore tarafından 18 Aralık 2025 başlatılmıştır.

Yüklüyor...
  1. Honore

    Honore Yönetici Yönetici

    Mesajlar:
    11.053
    Beğenileri:
    652
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    y' = x^2 - y / (2e^x - 1), y(0) = 2, y(1) = ?
    https://www.facebook.com/photo?fbid...m.2824231657784119&idorvanity=292914657582511

    y' = x^2 - y / (2e^x - 1)
    y' + y / (2e^x - 1) = x^2....(I)
    y = u·v....(II) ⇒ y' = dy / dx = u·dv / dx + v·du / dx....(III)
    (II) ve (III) eşitlikleri (I) denklemindeki yerlerine konulup düzenlenince,
    u·dv / dx + v·du / dx + u·v / (2e^x - 1) = x^2
    u·[ dv / dx + v / (2e^x - 1) ] + v·du / dx = x^2....(IV)
    (IV) denkleminde sol taraftaki köşeli parantezler içindeki terimin sıfır olabilmesi halinde dv / dx + v / (2e^x - 1) = 0 ve
    dv / v + dx / (2e^x - 1) = 0 denklemindeki terimlerin integralleri alınıp ln(v) + ln(2e^x - 1) = ln(e^x)
    v = e^x / (2e^x - 1)....(V)
    (V) eşitliği (IV) denkleminde kullanılınca u·0 + [ e^x / (2e^x - 1) ]·du / dx = x^2
    du = x^2·[ (2e^x - 1) / e^x ]dx
    du = [ 2x^2 - x^2·e^(-x) ]dx
    u = 2x^3 / 3 - { [ -e^(-x) ]·(x^2 + 2x + 2) } + c
    u = 2x^3 / 3 + [ e^(-x) ]·(x^2 + 2x + 2) + c....(VI)
    (V) ve (VI) fonksiyonları (II) eşitliğinde sağ taraftaki yerlerine konulunca,
    y(x) = { 2x^3 / 3 + [ e^(-x) ]·(x^2 + 2x + 2) + c }·[ e^x / (2e^x - 1) ]....(VII)
    y(0) = 2 = [ 0 + 1·(0 + 0 + 2) + c ]·[ 1 / (2 - 1) ]
    2 = (2 + c)·1 ⇒ 0 = c sabit değerine göre (VII) genel çözümünden başlangıç şartına göre özel çözüm;
    y(x) = { 2x^3 / 3 + [ e^(-x) ]·(x^2 + 2x + 2) }·[ e^x / (2e^x - 1) ]
    y(1) = (2 / 3 + 5 / e)·[ e / (2e - 1) ]
    y(1) = [ (2e + 15) / (3e) ]·[ e / (2e - 1) ]
    y(1) = (2e + 15) / (6e - 3).

    WolframAlpha Kontrolu:
    [​IMG]
    https://i.ibb.co/XZrsq4pB/WA.png
    https://www.wolframalpha.com/input?i=y' = x^2 - y / (2e^x - 1), y(0) = 2, y(1) = ?
     
    : Fortran

  2. Benzer Konular: Birinci Mertebe
    Forum Başlık Tarih
    Akademik Soru Çözümleri ve Kaynakları Birinci Mertebe Lineer Diferansiyel Denklem 25 Eylül 2024
    Akademik Soru Çözümleri ve Kaynakları Birinci Mertebe Lineer Diferansiyel Denklem Uygulaması 13 Nisan 2024
    Akademik Soru Çözümleri ve Kaynakları Birinci Mertebe Lineer Diferansiyel Denklemle Fizik Uygulaması - Üstel Sayılar 20 Ağustos 2023
    Akademik Soru Çözümleri ve Kaynakları Tam Diferansiyel Denkleme veya Bernoulli Tipinden Birinci Mertebe Lineer Diferansiyel Denkleme Dönüş 20 Haziran 2023
    Akademik Soru Çözümleri ve Kaynakları Birinci Mertebe Lineer Diferansiyel Denklem 23 Ekim 2022

  3. Honore

    Honore Yönetici Yönetici

    Mesajlar:
    11.053
    Beğenileri:
    652
    Cinsiyet:
    Bay
    Meslek:
    Müh. (Elk./Bilg.)
    Bilgisayar programlamayla ilgilenen öğrenciler için Euler yöntemine göre Fortran çözümü:
    [​IMG]
    https://i72.servimg.com/u/f72/19/97/10/39/euler_11.png

    (2e + 15) / (6e - 3) = 1,5354...
    https://www.wolframalpha.com/input?i=(2e + 15) / (6e - 3)

    Program:
    Kod:
    ! Modified version of the program at https://www.mycompiler.io/view/AW09WGuQXDv
    ! to solve the differential equation
    ! y' = x^2 - y / (2e^x - 1), y(0) = 2, y(1) = ?
    PROGRAM euler
    !Euler's method to solve a first order differential equation
    implicit none
    integer i, n
    real :: b = 1                         ! value at which result is to be found
    real :: a = 0                         ! initial x0
    real :: c = 2                         ! y0 for x0
    real :: h = 0.0001                    ! the value of stepsize
    real (kind = 8) :: x(10000), y(10000) ! Arrays to hold x and y values
    real (kind = 8) :: f
    
    open (unit = 1, file = "x_y_listesi.txt")
    
    x(1) = a
    y(1) = c
      
    n = INT((b - a) / h)
    
    write(*,*)'The function values at each step is given below.'
    write(*,*)'       x       Function value'
    
    write(1,*)'The function values at each step is given below.'
    write(1,*)'    x     Function value'
    
    write(1,10) x(1), y(1)     
    write(6,10) x(1), y(1)
    
    do i = 1, n
       x(i + 1) = x(i) + h
       y(i + 1) = y(i) + h*f(x(i), y(i))
       write(6,10) x(i + 1), y(i + 1)
       write(1,10) x(i + 1), y(i + 1)
    enddo
    
    close(1)
    
    write(6,20)"Tum koordinatlar icin x_y_listesi.txt dosyasina bakiniz."
    print*," "
    write(6,15) "x = ",INT(x(i+1))," icin y(",INT(x(i+1)),") = ",y(i)
        
    10 format (1x,F8.4,5x,F8.4)
    15 format ((a,i1,a,i1,a,F8.4))
    20 format(/,a)
    end
    
    real (kind = 8) function f(x,y)
    real (kind = 8) x, y
    f = x**2 - y / (2*EXP(x) - 1)
    return
    end function
    Not: Programın verdiği tam liste ektedir.

    Ekli Dosyalar:

Sayfayı Paylaş