2019年1月21日 星期一

例題4-4 利用辛普森 理則 (Simpson's Rule) 計算 exp( 1/x) 在[1, 2] 計算 ( 1/x) 在[1, 2]的定積分

Simpson's rule 辛普森法則


,
where  and .

1,4,2,4,2 ....1


# 利用辛普森 理則 (Simpson's Rule)
#例題4-4  (a) 計算 exp( 1/x)  在[1, 2]的定積分
#                (b) 計算 ( 1/x)  在[1, 2]的定積分

import math 

def F1(x):
    temp= math.exp(1/x)
    return temp

def F2(x):
    temp=(1/x)
    return temp

a=1.0
b=2.0
n=4
sum1=0.0
sum2=0.0
sn=0.0

m=int(n/2)
h=(b-a)/n

print( "計算 exp( 1/x)  在[1, 2]的定積分")
for i in range (1,2*m):
    x=a+i*h
    if(i%2==0):
        sum2=sum2+F1(x)
    else:
        sum1=sum1+F1(x)
    sn= (h/3.0)*(F1(a)+F1(b)+2.0*sum2+4.0*sum1)
    print("S{%d}={%f}" % (n,sn))
    
print('\n')

a=1.0
b=2.0
n=10
sum1=0.0
sum2=0.0
sn=0.0
m=int(n/2)
h=(b-a)/n

print( "計算 ( 1/x)  在[1, 2]的定積分")
for i in range (1,2*m):
    x=a+i*h
    if(i%2==0):
        sum2=sum2+F2(x)
    else:
        sum1=sum1+F2(x)
    sn= (h/3.0)*(F2(a)+F2(b)+2.0*sum2+4.0*sum1)
    print("S{%d}={%f}" % (n,sn))



輸出畫面
======== RESTART: F:/2018-09勤益科大數值分析/數值分析/PYTHON/EX4-4.py ===========
計算 exp( 1/x)  在[1, 2]的定積分
S{4}={1.105764}
S{4}={1.430386}
S{4}={2.020651}


計算 ( 1/x)  在[1, 2]的定積分
S{10}={0.171212}
S{10}={0.226768}
S{10}={0.329332}
S{10}={0.376951}
S{10}={0.465840}
S{10}={0.507506}
S{10}={0.585938}
S{10}={0.622975}
S{10}={0.693150}
>>> 

沒有留言:

張貼留言

Messaging API作為替代方案

  LINE超好用功能要沒了!LINE Notify明年3月底終止服務,有什麼替代方案? LINE Notify將於2025年3月31日結束服務,官方建議改用Messaging API作為替代方案。 //CHANNEL_ACCESS_TOKEN = 'Messaging ...