| ²é¿´: 424 | »Ø¸´: 3 | |||
| µ±Ç°Ö÷ÌâÒѾ´æµµ¡£ | |||
| µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû | |||
jianchaoyv½ð³æ (СÓÐÃûÆø)
|
[½»Á÷]
¡¾ÇóÖú¡¿Ò»¸öFortran 90³ÌÐò³ö´í
|
||
|
¸÷λºÃ£¡ÇóÖúÒ»¸öFortran 90³ÌÐòÈçÏ£º program D3R1 !driver for routine TRAPZD real,parameter::nmax=15,pio2=1.5707963 external Func,Fint real::A=0.0,B=pio2 write(*,'(1x,a)') 'integral of Func with 2^(n-1) points' write(*,'(1x,a,f10.6)')'actual value of integral is',& Fint(B)-Fint(A) write(*,'(1x,t7,a,t16,a)')'n','Approx.integral' do i=1,nmax call TRAPZD(Func,A,B,s,i) write(*,'(1x,i6,f20.6)')i,s end do end program D3R1 Function Func(x) Func=(x**2)*(x**2-2.0)*sin(x) end function Func function Fint(x) !integral of Func Fint=4.0*x*((x**2)-7.0)*sin(x)-((x**4)-14.0*(x**2)+28.0)*cos(x) end function Fint subroutine TRAPZD(Func,A,B,s,n) integer,parameter::k1=selected_int_kind(13) integer(kind=k1)::tnm integer,parameter::k2=selected_real_kind(8,13) real(kind=k2)::del,sum,x if(n==1)then s=0.5*(b-a)*(Func(a)+Func(b)) else tnm=2.0**(n-1) del=(b-a)/tnm x=A sum=0.0 do j=2,tnm x=x+del sum=sum+Func(x) end do s=0.5*(Func(A)+Func(B)+2.0*sum)*del end if end subroutine TRAPZD ÔËÐкóÌáʾ£ºError: This is an incorrect value for a kind type parameter in this context. [K1] integer(kind=k1)::tnm ÇëÎÊ´íÎóÔÚÄÄ£¿£¿ |
» ²ÂÄãϲ»¶
²ÄÁÏ295
ÒѾÓÐ11È˻ظ´
322Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
µ÷¼Á0855-288
ÒѾÓÐ4È˻ظ´
085601Ò»Ö¾Ô¸±±Àí325·ÖÇóµ÷¼Á
ÒѾÓÐ6È˻ظ´
357Çóµ÷¼Á
ÒѾÓÐ12È˻ظ´
288Çóµ÷¼Á Ò»Ö¾Ô¸¹þ¹¤´ó ²ÄÁÏÓ뻯¹¤
ÒѾÓÐ9È˻ظ´
268Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
343Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
µç×ÓÐÅÏ¢µ÷¼Á½»²æÑ§¿ÆÓÐÍÆ¼öÂð
ÒѾÓÐ5È˻ظ´
350Ò»Ö¾Ô¸±±¾©º½¿Õº½Ìì´óѧ08500²ÄÁÏ¿ÆÑ§Ó빤³ÌÇóµ÷¼Á
ÒѾÓÐ4È˻ظ´
yuheng2182
ľ³æ (ÕýʽдÊÖ)
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 2963.5
- É¢½ð: 10
- Ìû×Ó: 536
- ÔÚÏß: 44.7Сʱ
- ³æºÅ: 734967
- ×¢²á: 2009-03-30
- ÐÔ±ð: GG
- רҵ: Ô×ӺͷÖ×ÓÎïÀí
4Â¥2009-06-20 10:26:27
argo
Ìú¸Ëľ³æ (ÖøÃûдÊÖ)
ÉÏÉÆÈôË®
- Ó¦Öú: 4 (Ó×¶ùÔ°)
- ½ð±Ò: 9672.8
- É¢½ð: 200
- ºì»¨: 34
- Ìû×Ó: 1940
- ÔÚÏß: 486.4Сʱ
- ³æºÅ: 507533
- ×¢²á: 2008-02-19
- ÐÔ±ð: GG
- רҵ: Äý¾Û̬ÎïÐÔ II £ºµç×ӽṹ

3Â¥2009-06-20 09:55:01














»Ø¸´´ËÂ¥
10