ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:176.27KB ,
资源ID:7515039      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7515039.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(二分法与黄金分割法的比较.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、二分法与黄金分割法的比较题目:计算函数 的值并画出图像并分析各种算法的效率一.二分法及黄金分割法计算函数的程序1.二分法程序:import java.math.*;import java.util.Scanner;public class Value1 public static void main(String args) int count=0; double y1=0,y2=0,y3=0,y4=0; double x1=0.1; double x2=1; Double x3=(x2-x1)*0.5+x1; / 二分中点 double jd=1; /精度 F a=new F(); /初始化

2、函数 y1=a.Zhi(x1); y2=a.Zhi(x2); y3=a.Zhi(x3); System.out.println(“请输入精度“); Scanner s=new Scanner(System.in); / 获取输入的精度 jd=s.nextInt(); long startTime=System.nanoTime(); / 获取程序开始时间 while(Math.abs(y3)Math.pow(10,( -jd-1) if(y30) x1=x3; else x2=x3; x3=(x2-x1)*0.5+x1; /用二分中点法向值靠近 y3=a.Zhi(x3); count+; lo

3、ng endTime=System.nanoTime(); / 获得程序结束时间 long sum=endTime-startTime; String x6=x3.toString(); / 截取精度 String x7=x6.substring(0, (int) (jd+2); System.out.println(“x的值为: “+x7); System.out.println(“y的逼近值为: “+y3); System.out.println(“运行程序所用的时间为: “+sum+” 纳纱”); System.out.println(“二分分割次数为: “+count); class

4、F / 计算F(X)的函数 double Zhi(double x) double y=0; y=1/x*(1-1/(Math.pow(1+x, 5)-2; return y; 程序运行结果:精度为6时的结果精度为8时的结果2.黄金分割法程序:import java.math.*;import java.util.Scanner;public class Value2 public static void main(String args) int count=0; double y1=0,y2=0,y3=0,y4=0; double x1=0.1; double x2=1; Double x

5、3=(x2-x1)*0.618+x1; / 黄金中点 double jd=1; /精度 F a=new F(); /初始化函数X y1=a.Zhi(x1); y2=a.Zhi(x2); y3=a.Zhi(x3); System.out.println(请输入精度); Scanner s=new Scanner(System.in); / 获取输入的精度 jd=s.nextInt(); long startTime=System.nanoTime(); / 获取程序开始时间 while(Math.abs(y3)Math.pow(10, (-jd-1) if(y30) x1=x3; else x2

6、=x3; x3=(x2-x1)*0.618+x1; /用黄金中点法向值靠近 y3=a.Zhi(x3); count+; long endTime=System.nanoTime(); / 获得程序结束时间 long sum=endTime-startTime; String x6=x3.toString(); / 截取精度 String x7=x6.substring(0, (int) (jd+2); System.out.println(“x的值为: “+x7); System.out.println(“y的逼近值为: “+y3); System.out.println(“运行程序所用的时间

7、为: “+sum+” 纳纱”); System.out.println(“黄金分割次数为: “+count); class F / 计算F(X)的函数 double Zhi(double x) double y=0; y=1/x*(1-1/(Math.pow(1+x, 5)-2; return y; 程序运行结果精度为6时的结果精度为8时的结果 二.函数的图像及程序1.图像程序代码import javax.swing.*;import java.awt.*;import java.lang.Math;public class Value3 extends JFrame public Value

8、3() add(new X2FunctionPanel(); public static void main(String args) Value3 frame = new Value3(); frame.setSize(700, 400); frame.setTitle(绘制函数); frame.setLocationRelativeTo(null);/ center frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); class X2FunctionPanel extends JPane

9、l protected void paintComponent(Graphics g) super.paintComponent(g); / 画x轴 g.drawLine(20, 150, getWidth() - 20, 150); / x箭头 g.drawLine(getWidth() - 30, 140, getWidth() - 20, 150); g.drawLine(getWidth() - 30, 160, getWidth() - 20, 150); / “x” g.drawString(X, getWidth() - 10, 150); / 画y轴 g.drawLine(20

10、0, getHeight() - 20, 200, 20); g.drawLine(190, 30, 200, 20); g.drawLine(210, 30, 200, 20); g.drawString(Y, 220, 30); / 画函数图像 Polygon p = new Polygon(); double scaleFactor = 0.02; for (double x = 0; x v2 v1v2和v1v3可以看出有时候二分法算法快,有时候黄金分割法快,这是因为黄金分割法的速度是波动的,在前面三个精度中可以看出二分法比黄金分割法快,但后面黄金分割法比前面的要快 ,对于数据范围在n以内的数,有二分法的算法最慢速度log2(n)和黄金分割算法最慢速度log1/0.618(n)。计算得log2(n)=log1/0.618(n),所以二分法的最慢速度在前面的时候较快,黄金分割法的所以二分法的稳定性更高

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1