首页 > 其他 > 详细

Fortran入门

时间:2020-12-09 15:16:35      阅读:20      评论:0      收藏:0      [点我收藏+]

 

数值计算方法

二分法

技术分享图片
 1 ! 二分法 求f(x) = x**3 -2*x**2 + 7*x +4 = 0的解
 2     program exam
 3     
 4     real x1, x2, x
 5     real bisect, func
 6     
 7     do
 8         print *, "输入x1,x2的值:"
 9         read *, x1,x2
10         if ( func(x1) * func(x2) <0.0 ) exit
11         print *, "不正确的输入!"
12     enddo
13     
14     x = bisect(x1, x2)
15     print 10, "x = ", x
16 10  format(a, f15.7)
17     
18     end
19     
20     real function bisect(x1, x2)
21     real x1, x2, x, f1, f2, fx
22     x =  (x1+x2)/2.0
23     fx = func(x)
24     do while(abs(fx) > 1e-6)
25         f1 = func(x1)
26         if(f1 * fx < 0) then
27             x2 = x
28         else
29             x1 = x
30         endif
31         x = (x1 + x2) /2.0
32         fx = func(x)
33     enddo
34     bisect = x
35     end
36     
37     function func(x)
38         real x
39         func = x**3 -2*x**2 + 7*x + 4
40     
41     end
42     
43     
View Code

 

Fortran入门

原文:https://www.cnblogs.com/xieyi-1994/p/14107828.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!