C# 一元多次方程求解

private double FindRoot(double a, double b, double c, double d, double target)

{

double x0 = 1.0; // 初始猜测值

double epsilon = 0.0001; // 迭代精度

double f(double t) => a * t * t * t + b * t * t + c * t + d - target; // 定义方程

double df(double t) => 3 * a * t * t + 2 * b * t + c; // 方程的导数

double x1 = x0 - f(x0) / df(x0); // 牛顿迭代公式

while (Math.Abs(x1 - x0) > epsilon)

{

x0 = x1;

x1 = x0 - f(x0) / df(x0);

}

return x1;

}

相关推荐
颖风船5 小时前
锂电池SOC估计的一种算法(改进无迹卡尔曼滤波)
python·算法·信号处理
551只玄猫5 小时前
KNN算法基础 机器学习基础1 python人工智能
人工智能·python·算法·机器学习·机器学习算法·knn·knn算法
charliejohn5 小时前
计算机考研 408 数据结构 哈夫曼
数据结构·考研·算法
POLITE35 小时前
Leetcode 41.缺失的第一个正数 JavaScript (Day 7)
javascript·算法·leetcode
CodeAmaz6 小时前
一致性哈希与Redis哈希槽详解
redis·算法·哈希算法
CreasyChan6 小时前
Unity Shader 入门指南
unity·c#·游戏引擎·shader
POLITE36 小时前
Leetcode 42.接雨水 JavaScript (Day 3)
javascript·算法·leetcode
Tim_106 小时前
【算法专题训练】36、前缀树路径和
算法
好易学·数据结构6 小时前
可视化图解算法76:最大子数组和
数据结构·算法·leetcode·面试·动态规划·力扣·笔试