二分法与黄金分割法的比较

上传人:人*** 文档编号:564475111 上传时间:2023-04-27 格式:DOCX 页数:12 大小:47.02KB
返回 下载 相关 举报
二分法与黄金分割法的比较_第1页
第1页 / 共12页
二分法与黄金分割法的比较_第2页
第2页 / 共12页
二分法与黄金分割法的比较_第3页
第3页 / 共12页
二分法与黄金分割法的比较_第4页
第4页 / 共12页
二分法与黄金分割法的比较_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《二分法与黄金分割法的比较》由会员分享,可在线阅读,更多相关《二分法与黄金分割法的比较(12页珍藏版)》请在金锄头文库上搜索。

1、题目:计算函数丄1-X(A + 1)5=2的值并画出图像并分析各种算法的效率一二分法及黄金分割法计算函数的程序1.二分法程序:import j ava math *;import java util Scanner;public class Valuelpublic static void main(String args)int count=0 ;double yl = Oz y2=0,y3=0,y4=0 ;double xl=0l ;double x2=l ;Double x3= (x2-xl) *0 5+xl ;/ 二分中点double jd=l ;/稱度F a=new F() ;/初始

2、化函数yl=a Zhi(xl);y2=a Zhi (x2);y3=a Zhi (x3);System.out .printin Cy 请输入精度 );Scanner s=new Scanner (System, in) ;/ 获取输入的梢度jd=s nextint ();long startTime=System. nanoTime () ;/ 获取程序开始时间v;hile (Math abs (y3) Math pow (10,( - jd-1)if(y30)xl=x3;elsex2=x3;x3=(x2-xl)*05+xl; y3=a Zhi (x3);count+;/用二分中点法向值靠近/

3、获得程序结朿时间long endTime=System.nanoTime(); long sum=endTime-startTime;String x6=x3 . toString () ;/ 截取稱度String x7=x6 substring(0, (int) (jd+2);System.out.println (x的值为:x+x7);System.out printZLn (y的逼近值为:x+y3);纳纱);System.out.printin (运行程序所用的时间为: + sum+System out printin (二分分害!|次数为:x+count);class F/计算F(X)

4、的函数double Zhi(double x)double y=0 ;y=l/x*(1-1/(Mathpow(1+x, 5)-2 ;return y;程序运行结果:楮度为6时的结果请输入精度6x 的值为:0.410414丫的逼近值为:4.1973889075563875E-7运行程序所用的时间为:134484 纳纱二分分割次数为:20精度为8时的结果请输入精度8k的值为:0.4104149y的邁近值为:-3.945376469971507E-9运行程序所用的时间为:178545 纳纱二分分割次数为:262.黄金分割法程序:import java.math *;import java util

5、Scanner;public class Value2public static void main(String args)int count=0 ;double yl=O ry2=0,y3=0 ry4=0 ;double xl=O 1 ;double x2=l ;Double x3=(x2-xl)*0 618+xl ;/ 黄金中点double jd=l ;/精度F a=new F() ;/初始化函数Xyl=a Zhi(xl);y2=aZhi(x2);y3=a Zhi(x3);System, out.printin ( 请输入精度);Scanner s=new Scanner (System

6、in) ;/ 获取输入的精度jd=s nextHnt();long startTime=System. nanoTime () ;/ 获取程序开始时间while(Math abs(y3)Math pow(10,(-jd-1)if(y30)xl=x3 ;elsex2=x3 ;x3=(x2-xl)*0618+xl; y3=a Zhi(x3); count+;用黄金中点法向值靠近/获得程序结束时间long endTime=System nanoTime();long sum=endTime-startTime;String x6=x3 . toString () ;/ 截取精度String x7=x

7、6substring(0, (int) (jd+2);System .out. printin (、x 的值为:、+x7);System out printin (y的逼近值为:、+y3);纳纱);System. out. printin (运行程序所用的时间为:、+sum+System, out printin (黄金分割次数为:u+count);class F/计算F(X)的函数double Zhi(double x)double y=0;y=l/x*(1-1/(Mathpow(l+x, 5)-2 ;return y;程序运行结果精度为6时的结果|请输入精度I |x的值为:0.410414

8、丫的遑近值为:5.818277895031088E-7运行程序所用的时间为:125935 纳纱黄金分割次数为:19精度为8时的结果|请输入精度IIk的值为;0.41041496Y的逼近值为:1.600973131843375E-9运行程序所用的时间为;133884 纳纱黄金分割次数为,25二函数的图像及程序1图像程序代码unport javax.swing.*;unport java.awt.*;unport java.lang.Math;public class Value3 extends JFrame public Value3Q add(new X2FunctioiiPanel();p

9、ublic static void niain(Strmg aigs) Value3 flame = new Value3Q;fiaine.setSize(700,400);fiaine.setTitleC,绘制函数”); fiaine.setLocationRelativeTo(null)/ center fiaine.setDefaultCloseOpeiation(JFrame.EXIT_ON_CLOSE); flame. setVisible(tm e);class X2FunctioiiPanel extends JPaiiel protected void pamtComponen

10、t(Graphics g) super.pamtComponent(g);画x轴g.drawLine(20. 150. getWidtliQ - 20. 150);x箭头g.drawLine(getWidtli() 30, 140, getWidthQ - 20, 150);g.drawLine(getWidtli() 30, 160、getWidthQ - 20, 150);/Xg.drawStimg(HXM, getWidthQ - 10, 150);画y轴g.drawLine(200, getHeightQ 20、200. 20);g.drawLine(190, 30, 200, 20)

11、;g.drawLine(210, 30, 200, 20);g.diawString(”Y”, 220, 30);/画函数图像Polygon p = new PolvgonQ; double scaleFactor = 0.02;for (double x = 0; x = 10; x=x+0.01)if(x=0)elsep.addPoiiit(int)(x*500) + 200, 150 - (mt) (scaleFactor * 1000*(1/x*(1 -1/(Math.pow( 1 +x,5)-2);g.drawPolvlme(p.xpomts, p.vpoints. p.npoint

12、s);/* public Dimension getPrefenedSize() 57. 58. return new* Dmiension(200.200); 59. */2函数图像三.二分法与黄金分割法的效分析1二分法效率截图:请输入精度1X的運申:0.4V的逼近值为:0.0034360650517098 6运行程序所用的时间为:57543 纳纱二分分割次数为:4请输入精度2X的苣抄0.41y的 1畐近値为:5.357245898545138E-4运行程序所用的时间为:792M 纳纱二分分割灰数为:9请输入精度匸:k的04丄0y的遑近值为:-1 2424514755249305E-5运行程

13、序所用的时间为:11513 纳纱二分分割次数为:13请输入精度4X的值为:0.4104y的遑近值为: 00740749164884S5E-运行程序所用的时间为:112783纳纱二分分割次数为:17请输入精度5X的卷方:Q. 41041V的逼逅值为:4.1973S85075563S75E-7运行程序所用的时间为:137444 纳纱二分分割次数为:20请输入精度6x的值为:04:L04:L4V的j畐近值为:6.295212928719707E-8运行程序所用的时间为:216687 纳纱二分分割次数为;22请输入精虞请输入精度78x 的磴松0.4104149k 的追为=0.41041496y的這近值

14、为:-3.94537649971507E-9y的逼近值为:2.357175675071049E-10运行程序所用的时间为:160132 纳纱运行程序所用的时间为:179860 纳纱二分分割次数为:26二分分割次数为;30请输入精度请输入椅度9X的追为:0.4104149“V的邁近值为:6.150546738581397E-11运行程序所用的时间为:19198 纳纱二分分割次数为:3310 iK的值为:0.4104149650y的i畐近值为;-3.82 4274230623814E-12运行程序所用的时间为:204521纳纱二分分割次数为:36请输入精度11x的偃为:0 41041496500Y的逼近值为:2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号