首页 > 编程语言 >牛顿迭代法求方程根(递归算法)

牛顿迭代法求方程根(递归算法)

时间:2023-04-21 14:25:32浏览次数:30  
标签:return 递归 double after 算法 newx pow 迭代法 origianal

#include<iostream>
#include<cmath>
using namespace std;
double f_origianal(double a, double b, double c, double d, double newx)
{
return a * pow(newx, 3) + pow(newx, 2) * b + c * newx + d;
}
double f_after_or(double a, double b, double c, double d, double newx)
{
return 3.0 * a * pow(newx, 2) + b * 2 * newx + c;
}
double f(double a, double b, double c, double d, double newx)
{
//cout << f_origianal(a, b, c, d, newx) / f_after_or(a, b, c, d, newx) << endl;
if (abs(f_origianal(a, b, c, d, newx) / f_after_or(a, b, c, d, newx)) <= 1e-5)
return newx;
newx = newx - f_origianal(a, b, c, d, newx) / f_after_or(a, b, c, d, newx);
return f(a, b, c, d, newx);
}
int main()
{
double a, b, c, d;
cin >> a >> b >> c >> d;
cout << f(a, b, c, d, 1.0);
return 0;
}

 

 

标签:return,递归,double,after,算法,newx,pow,迭代法,origianal
From: https://www.cnblogs.com/atrue/p/17340170.html

相关文章

  • 十级NLPer才能笑出声的算法梗!
    文|付奶茶近期小编整理出了一些非常好笑的梗图,与各位NLPer共赏,希望与大家一起评选出本期最好笑的梗图选手!【1号选手:非常擅长讲笑话的NLM】前排评论区:(1)Ienjoyedyourjokeaboutjokeaboutjokeaboutjokeaboutjokeaboutjokeaboutjokeaboutjokeaboutjokeaboutlanguag......
  • 几何算法
    C++常用计算几何算法-小四的海市蜃楼-C++博客(cppblog.com)(59条消息)C++常用计算几何算法_计算几何常用算法c++_Belial_2010的博客-CSDN博客......
  • SQL JOIN的常见连接算法(转载)
    原文:https://zhuanlan.zhihu.com/p/495442432在数据库和大数据领域,通过SQL中的JOIN连接将两个及两个以上的表(或中间表、视图、物化视图)中的数据按指定的连接条件关联起来,是很常用也很方便的操作。我们前面学习了JOIN有多种常见连接方式如内连接INNERJOIN、左外连接LEFTJOIN等......
  • QuHai互联科技 算法题部分
    11、实现计算第n个斐波那契数12、给定一个字符串编码规则,如输入字符串”Y3E12S!3”,字母后面的数字表示该字符重复几次,如果字符后没有数字则表示一个字符,最终输出转码后的字符串’YYYEEEEEEEEEEEES!!!’。试写出转码的函数,编程语言不限。13、简述你所了解的两种或以上排序算法......
  • 扎实打牢数据结构算法根基,从此不怕算法面试系列之week01 02-09 测试算法时间复杂度性
    1、数组生成器测试算法性能肯定不能自己手动声明创建数组了,在现代计算机上,对于O(n)级别的算法,都需要10W级别以上的数据才能看到性能,我们肯定不能手动声明10W个元素的数组吧?所以,创建数组生成器。这里,自己创建一个数组生成器——ArrayGenerator。packagecom.mosesmin.datastruc......
  • 学习十大排序算法(1)——选择排序【实现方法c语言】
    十大排序算法第一节——选择排序复制代码直接滑到最后!!!选择排序就是找到(最大或者)最小元素,放到最开始的位置,然后就是在没有排序的序列中找到最小的排在已经排好的序列之后,直至没有排数列排完。(自己的理解)大概解释代码其中的细节:第6行中的sizeof的用法是求出括号里面......
  • 福特-富克森算法
    福特-富克森(Ford-Fulkerson)算法是一种求解最大流问题的经典算法,它的基本思想是通过不断地增广路径来找到最大流。最大流问题通常是指在网络中找到从源点到汇点的最大流量,其中网络由若干条有向边组成,每条边都有一个容量,表示该边可以通过的最大流量。最大流问题的目标是找到一个流,......
  • Dijkstra的算法
    Dijkstra算法是一种单源最短路径算法,用于在带有非负权重的图中,找到一个源节点到所有其他节点的最短路径。该算法的基本思想是通过贪心的方式逐步扩展当前已知的最短路径集合,直到找到源节点到所有其他节点的最短路径。Dijkstra算法的具体步骤如下:初始化:设置源节点到自己的距离......
  • 兔子产子问题(递归算法)
    #include<iostream>usingnamespacestd;intf(intn){ if(n==1||n==2) return1; returnf(n-1)+f(n-2);}intmain(){ inti; for(i=0;i<30;i++) { if((i+1)%5==0) cout<<endl; cout<<f(i+1); cout<<&q......
  • 《算法竞赛进阶指南》 第五章 237. 程序自动分析
    地址https://www.acwing.com/problem/content/239/在实现程序自动分析的过程中,常常需要判定一些约束条件是否能被同时满足。考虑一个约束满足问题的简化版本:假设x1,x2,x3,…代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分......