牛顿迭代法(大白话)
创作时间:
作者:
@小白创作中心
牛顿迭代法(大白话)
引用
1
来源
1.
https://www.cnblogs.com/handsometaoa/articles/16200674.html
解释:
首先看图:曲线与X轴(横坐标)的切点就是曲线的根
经过无数次取切线,就会发现,慢慢靠近曲线的根。
这就是牛顿迭代法,大致思路理解了吧。
公式
[\chi_{n+1}=\chi_{n}-\frac {f(\chi_{n})}{f\prime{}(\chi_{n})} ]
那么根据该公式可以按以下步骤求解一元方程的任意次的根
(1) 选一个方程的近似根,赋给变量X0,x1是根据牛顿迭代公式计算
(2) 将x1的值保存于变量x0,然后牛顿迭代公式计算并将结果存于变量x1;
(3) 当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。
若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就认为是方程的根。
Java代码
public class Main {
//表示原式子 F(x)
static double f(double x){
return 2*x*x*x-4*x*x+3*x-6;
}
//表示导函数 f(x)
static double fd(double x){
return 6*x*x-8*x+3;
}
public static void main(String[] args){
double x0=1.5;
double x1=1.5;
//套入公式
do{
x0=x1;
x1=x0-f(x0)/fd(x0);
}
while(Math.abs(x1-x0)>=1e-5);
//输出结果
System.out.println(x1);
}
}
python代码
# 表示原函数 F(x)
def f(x):
return 2*x*x*x-4*x*x+3*x-6
# 表示导函数 f(x)
def fd(x):
return 6*x*x-8*x+3
def cal():
# 可以取任意值,只是循环次数不同而已
x0=100
x1=x0-f(x0)/fd(x0)
while abs(x1-x0)>=1e-5:
x0=x1
x1=x0-f(x0)/fd(x0)
return x1
print(cal())
leetcode练习题
热门推荐
《相思蛊》:一场跨越千年的虐恋情深
《相思蛊》:一场跨越千年的虐恋情深
冬日望仙谷:弋阳年糕必打卡!
金融机构应用 AI 技术的风险剖析及法律关联
王祖贤同款黑长直:优雅背后的秘密
宫水三叶的黑长直魅力大揭秘!
周也同款黑长直发型解析:如何打造淡淡感?
坐高铁游广元:剑门关门票7折!
剑门关:一夫当关,万夫莫开的天下雄关
中金报告:中国社会财富790万亿元,富人阶层掌握近七成
合肥模式:从30亿投资到千亿产业的蝶变
2024 ESMO|张频教授:科学管理恶心呕吐,确保T-DXd治疗最大化获益
胰腺癌患者术后不能饮食如何给予营养支持
解码合肥模式:从京东方到蔚来,资本招商如何助力产业升级?
合肥模式:如何成就京东方和蔚来的逆袭?
合肥文化创新:抖音大赛引爆全城
合肥模式:从工业小城到现代都市的蜕变之路
AI预测模型揭秘福彩3D和尾:原理、应用与风险
福彩3D和尾分析:你真的掌握了吗?
福彩3D和尾最新走势揭秘!
《延禧攻略》里的愉贵妃:历史真相与艺术形象的双重解读
《如懿传》:愉妃如何逆袭成后宫赢家?
奇妙磷虾油:天然营养源,护心养脑,强健体魄
最新研究:油电混动汽车碳排放竟是纯电动车2.5倍
混动车车主必看:如何延长爱车寿命?
曲靖麒麟区新圩社区:200亩智能蓝莓大棚里的冬日采摘乐趣
曲靖麒麟区:冬季蓝莓产业助力乡村振兴
曲靖麒麟区:冬季蓝莓抢鲜上市,品质安全双保障
Nature子刊:四重纳米笼疫苗可引发广谱抗冠状病毒免疫反应
大侠立志传最强三人组攻略:曲忘忧、庖春秋、郡主