黄金分割法调试程序1.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
黄金分割法求解/ = 8x3-2x:-7x + 3的] =J 小值,区间[-10, 10],精度: 0. 001 C程序: #include stdio.h #include math.h double eq(double x) { double y; y 二0*x *x*x?2.0*x*x ?7.0 * x + 3.0; return y; } void main() { double al,a2,a3,a4,f2,f3,x; al =-10.0; // 左边界 a4= 10.0;// 右边界 Labi: a3 = al + 0.618 *(a4 ?al); f3 = eq(a3); Lab2: a2 = al + 0.382 * (a4 - al); f2 = eq(a2); Lab3: if(fabs(a4-al) 0.001) { x = (al + a4) / 2.0; printf(x=%g fmin=%e \n,x,eq(x)); } else { if (f2 f3) {a4=a3; a3 = a2; f3 = f2; goto Lab2;}; if (f2 == f3) {al=a2; a4=a3; goto Lab 1;}; if(f2 ⑶{al=a2; a2=a3; f2=f3; a3 = al + 0.618*(a4-al); f3=eq(a3); goto Lab3;}; }; } 运行结果: 编程\安装\CYuYan\bin\wtep. exe x=-9.99959 fmin=-8.126OO5e+OO3 Press any key to continue 」 J —— C 0 7 8 / 宙 11 新建 晶 保存 剪切 复制 粘贴 查找 注释睡 撤销 重复 运行 调试 校正 对憑 VC6.0筆试机试教7 c, C/C++程序设计学习与实验系统 文件0)编辑0)运行? 工具? 帮助0) 信 X -我的程序 0. 618c. c +较件应用问题解答 +简单的入门程序实例 + C语言学习方法指导 + C/C卄语法参考 + VC卄错误代码及程序实 +函数查询 +典型源程序 +常用自定义函数算法 +课程设计源程序 Turbo C2. 0常见错误令 Turbo C卄3. 0常见错乍 Visual C++6?0常见惜 C语言常见专业词汇分Z 运算符的优先级别次序 常见控需悖符表(免费) ASCII码宇符对照表(竟 nonameO. c 01 02 03 04 05 06 07 08 09 10 /* Note:Vour choice is C IDE */ ^include i,stdio.h ttinclude ,inath.hii double eq(double x) { double y; y =8.0*x ? x * x - 2.0 ? x return y; uoid nain() 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 cc double a1 = a4 = Labi: a3 - f3 = Lab2: a2 - F2? Lab3: a1 ,a2?a3,a4,F2,f3,x; -10.0; 〃左边界 10.0; //右边界 a1 ? 0.618 ? (a4 - a1); eq(a3); a1 ? 0.382 ? (aU - a1); eq(a2); if (Fabs(a4-a1) 0.001) x ? (a1 ? aU) / 2.0; printf (stx=%g fmin=^e \n,-,x,eq(x)); * x -7.0 ? x ? 3.0; 1 else if if (F2 (F2 (F2 a3 二 F2; goto Lab2;}; F3) a4=a3; a3 = a2; f3 ==F3) a1=a2; a4=a3; goto Labi F3) a1=a2; a2=a3; F2=F3; a1 ? 0.618?(a4 a1); F3-eq(a3); goto Lab3;}; 2黄金分割法求解/ = 8.?-2x:-7x + 3的最小值,区间[-10, 10],精度: 0. 001 Matlab 程序: ? 建立M文件:func.m function f=func (x) f = 8.0*x * x * x - 2.0 * x * x -7.0 * x + 3.0 ? 命令窗口: al =-10; %左边界 a4= 10; %右边界 e = 0.001 ;% 精度 r = (sqrt (5)-1 )/2; %艮卩 0.618 a2 = al + (l?r) * (a4 ? al); a3 = al

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档