




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
作业:已知二元函数试以(0,0)为初始点,分别使用Newton法和最速下降法求函数f(x)的极小点,要求编写计算程序求解(编程语言不限),并给出计算结果。注:(1)程序及计算结果需要用A4纸打印。 (2)作业在11月22日上交。(3)自己独立完成,严禁互相抄袭。若发现抄袭,平时成绩按照零分计算。用Newton法和最速下降法求函数f(x)的极小点 java实现编程2010-11-14 11:28同学让帮忙做数值分析,要求用编码实现Newton法和最速下降法,觉得对不少朋友应该有用,所以代码写完之后贴到这里,供大家参考。题目如下:已知二元函数试以(0,0)为初始点,分别使用Newton法和最速下降法求函数f(x)的极小点,要求编写计算程序求解(编程语言不限),并给出计算结果。算法描述如下:用java实现的算法代码如下:1.牛顿法:package Test_Math;public class NewTon_way /* param args* 这是牛顿法求极值* author 竹下听箫* date 2010.11.13*/* Old_fun()是原函数*/public double Old_fun(int coeff, double x) return (double)coeff0*Math.pow(x0,2)+coeff1*Math.pow(x1,2)+coeff2*x0*x1+coeff3*x0+coeff4*x1;/*grads()是求得的导函数*/public void grads(int coeff, double x,double grads_x) grads_x0 = (double)2*coeff0*x0+coeff2*x1+coeff3; grads_x1 = (double)2*coeff1*x1+coeff2*x0+coeff4;/*求矩阵*/public void Matrix(int coeff, double temp_matrix) temp_matrix0 = (double)2.0*coeff0; temp_matrix1 = (double)coeff2; temp_matrix2 = (double)coeff2; temp_matrix3 = (double)2.0*coeff1;/*对应的逆矩阵*/public void invertH(double temp_matrix, double invert) double deter; deter = temp_matrix0*temp_matrix3-temp_matrix1*temp_matrix2; invert0 = temp_matrix3/deter; invert1 = -temp_matrix1/deter; invert2 = -temp_matrix2/deter; invert3 = temp_matrix0/deter; public static void main(String args) / TODO Auto-generated method stub double eps = 0.00001 ; /精度值 int coeff = new int5;/这是初始函数的系数值数组,可以自己设定 coeff0 =2; coeff1 =1; coeff2 =2; coeff3 =1; coeff4 =-1; double x = new double2;/初始的值 x0 = 0; x1 = 0; double grads_x = new double2; double matrix = new double4; double invert = new double4; double last_val = 0; NewTon_way newTon = new NewTon_way(); newTon.grads(coeff, x, grads_x);/求导函数 while(Math.sqrt(Math.pow(grads_x0,2)+Math.pow(grads_x1,2)eps) newTon.Matrix(coeff, matrix);/求矩阵 newTon.invertH(matrix, invert); x0 = x0-(invert0*grads_x0+invert1*grads_x1); x1 = x1-(invert2*grads_x0+invert3*grads_x1); newTon.grads(coeff, x, grads_x); last_val = newTon.Old_fun(coeff, x); System.out.println(最优解为:); for(int i=0;ieps); return init_Step;public static void main(String args) / TODO Auto-generated method stub double eps = 0.00001 ; /精度值 int coeff = new int5;/这是初始函数的系数值数组,可以自己设定 coeff0 =2; coeff1 =1; coeff2 =2; coeff3 =1; coeff4 =-1; double x = new double2;/初始的值 x0 = 0; x1 = 0; double grads_x = new double2; double init_Step; double last_val = 0; Fast_way fast_way = new Fast_way(); fast_way.grads(coeff, x, grads_x);/求导函数 while(Math.sqrt(Math.pow(grads_x0,2)+Math.pow(grads_x1,2)eps) init_Step = fast_way.by_Step(coeff, x, grads_x, eps); x0 = x0 - init_Step*grads_x0; x1 = x1 - init_Step*grads_x1; fast_way.grads(coeff, x, grads_x); last_val = fast_way.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年金融行业数据分析师考试模拟题及参考答案
- 2025年法律顾问招聘面试模拟题及法律实务解答
- 2025年销售主管竞聘考试模拟题集及解析
- 申报校级品牌专业课件
- 管网维护管理制度
- 甲状腺学习课件
- 甲流病人护理课件
- 14课母鸡教学课件
- 办公室教学课件
- 黑龙江省鸡西市虎林市2024-2025学年七年级下学期期末语文试题(含答案)
- 人教版高中(水平五)《体育与健康》全一册《篮球基本战术-策应战术配合》教学设计
- YY/T 0196-2005一次性使用心电电极
- LY/T 2497-2015防护林体系生态效益监测技术规程
- GB/T 29790-2020即时检验质量和能力的要求
- GB/T 26358-2010旅游度假区等级划分
- 2023年版下肢动脉硬化闭塞症诊治指南
- 决奈达隆在心房颤动治疗中的应用培训课件
- 华为IPD流程管理全部课件
- 涂料行业企业风险分级管控体系实施指南+生产安全事故隐患排查治理体系实施指南
- 2021年唐山迁安市教师进城考试笔试试题及答案解析
- 2020进口关税税率表
评论
0/150
提交评论