討論區快速選單
知識庫快速選單
程式設計俱樂部Facebook粉絲團 掌握Salesforce雲端管理秘訣 軟體開發過程中有哪些資安漏洞?
[ 回上頁 ] [ 討論區發言規則 ]
請大家幫我看看是哪邊出了問題
更改我的閱讀文章字型大小
作者 : sunsalt(sunsalt)
[ 貼文 3 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/6/6 下午 11:28:17
大略敘述程式的功能:算積分函數f(x)=sin(3x)*cos(7x),用兩種方法積,然後取等份10n (n=1,2,3....10)

照理說,s差不多都為1.xxxx ,t越來越接近1
但是做出來s感覺沒什麼規則性 ,t則是累加下去
我覺得我的邏輯應該沒有問題,但是不知道問題在哪
請大家幫幫忙囉

我的程式碼如下


!main program
real,external::ha,haha
real::xmax,xmin=0,n=1,output,output1

do i=1,10
xmax=acos(-1.)*0.5
n=i*10.
call sim(xmax,xmin,n,haha,output)
call tc(xmax,xmin,n,ha,output1)
write(*,*)int(n),'S=',output,'T=',output1
end do
end
!subroutine
subroutine sim(a,b,n,haha,output)
real,external::haha
real::a,b,n,h,sumo=0,sumg=0,output
integer::xx,i,m
m=int(n)
h=a/n
do i=1,m-1
  xx=mod(i,2)
  if(xx==1)then
   sumg=sumg+haha(i*h)
  else
   sumo=sumo+haha(i*h)
   end if
end do
output=(h*(haha(a)+haha(b)+4*sumg+2*sumo))/3
end


!function
real function haha(x)
real,intent(in)::x
haha=(sin(3*x)*cos(7*x))
end


!subroutine
subroutine tc(a,b,n,ha,output1)
real,external::ha
real::a,b,n,h,sum=0,output1
integer::m,i
output1=0
m=int(n)
h=a/n
do i=0,m-1
x0=i*h
x1=(i+1)*h
sum=sum+(ha(x0)+ha(x1))*h*0.5
end do
output1=sum
end


!function
real function ha(x)
real,intent(in)::x
ha=(sin(3*x)*cos(7*x))
end
 板主 : 徵求中
 > Fortran - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Fortran - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Fortran
1 f77f95 3300 
2 dennis 470 
3 cc 350 
4 smallpotato 320 
5 qq 290 
6 冼鏡光 230 
7 eraser 220 
8 小文 210 
9 iner 200 
10 wuda 160 
Fortran
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.03125