最优化方法之牛顿法(Java)
2021/7/19 22:34:53
本文主要是介绍最优化方法之牛顿法(Java),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
最优化方法之牛顿法(Java)
算法原理
题目
试用Newton法求函数f(x)=x^4-4*x^3-6*x^2-16*x+4
的最优化解。(x0=6,sgm=10^-2)
代码
主类
package Newton; public class main { public static void main(String []args) { double x=6; double miu=0.01; newton f=new newton(x,miu); f.N_ton(); } }
子类1
package Newton; import java.nio.DoubleBuffer; public class newton { double x1; double miu; public newton(double x1,double miu) { this.x1=x1; this.miu=miu; } public void N_ton() { fun f=new fun(); int k=0; while(true) { k++; double f1=f.F1(x1); double f2=f.F2(x1); if(f1<miu) break; else { x1=x1-f1/f2; } } double f3=f.F3(x1); System.out.println("极值点为x="+x1+"最优值为f(x)="+f3); } }
子类2
package Newton; public class fun { public double F1(double x) { double a=4*Math.pow(x,3)-12*Math.pow(x,2)-12*x-16; return a; } public double F2(double x) { double b=12*Math.pow(x, 2)-24*x-12; return b; } public double F3(double x) { return Math.pow(x, 4)-4*Math.pow(x, 3)-6*Math.pow(x, 2)-16*x+4; } }
运行结果
这篇关于最优化方法之牛顿法(Java)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南
- 2024-11-16MyBatisX资料:新手入门与初级教程
- 2024-11-16RESTful接口资料详解:新手入门指南