当前位置: 首页 > news >正文

网站设计优秀作品/快速网站推广公司

网站设计优秀作品,快速网站推广公司,网站优化内容,wordpress主题备份与恢复先看一下斐波那契数列 这个很容易理解,就是当前的值等于前两个值的和 斐波那契法的递归结构如下 步骤一:我们首先要知道需要精确到的区间长度,例如要在[1, 10]之间搜索极小值点,希望精确到0.5之间,那么也就是我最后要求…

先看一下斐波那契数列

这个很容易理解,就是当前的值等于前两个值的和

斐波那契法的递归结构如下


步骤一:我们首先要知道需要精确到的区间长度,例如要在[1, 10]之间搜索极小值点,希望精确到0.5之间,那么也就是我最后要求得的Ln的长度要小于等于0.5。所以这个时候就能知道经过几轮计算可以达到这个精度,斐波那契数列指的是:Fn=F(n-1)+F(n-2)。上图可知Ln与Fn是有关系的,所以可以求得满足Ln小于等于0.5的Fn,也就知道了可以迭代几轮。

步骤二:求出L2,L2=L1*F(n-1)/F(n),这个式子可以由上图得到,就是要确定最开始的t1、t2点,然后比较t1、t2点对应的函数值得大小,缩小区间,缩小区间的方法跟通用方法一致,如果t1的函数值f1大于t2的函数值f2,那么区间缩小为[t1, 10],否则区间缩小为[1, t2]

步骤三:如果区间缩小为[t1, 10],这个时候t1=t2,而t2的值等于t1在这个区间内的对称值。其实我们可以看到只有第一步需要计算两个点的函数值,其他步都只要计算一个点的函数值就行,因为另外一个点的函数值由上一步遗留下来

代码实现如下

[java] view plaincopy在CODE上查看代码片派生到我的代码片
  1. private static void fibonacci(float start, float end, float eps) {  
  2.           
  3.         float Fn_1, Fn;  
  4.         int n;  
  5.         float L1 = end - start;  
  6.         float Ln = eps;  
  7.         n = 2;  
  8.         Fn = F(n);  
  9.         //求要经过几轮区间长度才可以小于eps  
  10.         while(Fn <= L1 / Ln) {  
  11.             n ++;  
  12.             Fn = F(n);  
  13.         }  
  14.         Fn_1 = F(n - 1);  
  15.           
  16.         float t1, t2, f1, f2;  
  17.         float a = Math.min(start, end);  
  18.         float b = Math.max(start, end);  
  19.           
  20.         t1 = b - (b - a) * Fn_1 / Fn;  
  21.         t2 = a + b - t1;  
  22.         f1 = fun(t1);  
  23.         f2 = fun(t2);  
  24.           
  25.         while(b - a >= Ln) {  
  26.             if(f2 < f1) {  
  27.                 a = t1;  
  28.                 t1 = t2;  
  29.                 t2 = a + b - t1;  
  30.                 f1 = f2;  
  31.                 f2 = fun(t2);  
  32.             } else {  
  33.                 b = t2;  
  34.                 t2 = t1;  
  35.                 t1 = a + b - t2;  
  36.                 f2 = f1;  
  37.                 f1 = fun(t1);  
  38.             }  
  39.         }  
  40.           
  41.         System.out.println((b + a) / 2);  
  42.     }  
  43.       
  44.     private static float F(int n) {  
  45.           
  46.         if(n == 0 || n == 1return 1;  
  47.         return F(n - 1) + F(n - 2);  
  48.     }  
  49.       
  50.     private static float fun(float x) {  
  51.         return (float) Math.sin(x);  
  52.     }  

http://www.jmfq.cn/news/5206501.html

相关文章:

  • 西安专业做网站/做网站的费用
  • 电子商务网站建设新闻/建站系统
  • 哈尔滨网站建设排行/西安自助建站
  • 山东政务网站建设/站长统计 网站统计
  • 有什么样的网站开发/十大免费软文推广平台
  • 映射做网站/2022年最火文案
  • 做购物网站赚钱吗/站长联盟
  • 网站建设互联网 政府系统/百度关键词搜索次数
  • 网站说建设中/百度关键词推广方案
  • 怎么做交易平台网站/谷歌站长平台
  • 做招聘网站需要什么资质/广告推广平台网站
  • 新闻播报最新/优化设计答案五年级上册
  • 网站名称与主办单位/厦门百度快速优化排名
  • 自己如何做外贸公司网站/知道百度
  • 网站地图导出怎么做/网页优化seo公司
  • 买个域名自己做网站吗/如何免费做视频二维码永久
  • 代理登录网站/爱站关键词挖掘查询工具
  • 企业seo顾问公司/深圳关键词优化公司哪家好
  • 武汉汉口做网站公司/网络营销培训机构
  • 做会员卡的网站在线制作/seo搜索引擎专员
  • 网站建设项目的工作分解/网络营销的工具和方法
  • 硬盘做网站空间/网站推广优化教程
  • 在线网站开发/博客推广的方法与技巧
  • 深圳市手机网站建设/北京seo排名优化网站
  • 北京网站建设求职简历/大一网页设计作业成品
  • 西安网站开发建/谷歌推广平台
  • wordpress十大表格插件/衡阳seo快速排名
  • 南山商城网站建设/长尾关键词爱站网
  • 英文网站的首页怎么做/学校教育培训机构
  • 网站首页怎么用dw做/观看b站的广告网站平台