C语言用牛顿迭代法和二分法递归求解三元一次方程

2023-11-17

求解方程(2x^3) +(4x^2)+3x-6=0

牛顿迭代法

牛顿迭代法公式:(以下图片均来源于百度)
在这里插入图片描述
牛顿迭代法用递归实现解三元一次方程:

#include<stdio.h>
#include<math.h>

int main(){
  int fx(double x1)double x1=1.5;
  printf("%.2f",fx(x1));
  return 0;
}

int fx(double x1)
{
	//X0为公式中的Xn,f表示f(Xn),fl表示f(Xn)的导数
	double x0, f, fl;
	//将求出的新X1赋值给X0
	x0 = x1;
	f = (2 * pow(x0, 3) - 4 * pow(x0, 2) + 3 * x0 - 6);
	fl = (6 * pow(x0, 2) - 8 * x0 + 3);
	x1 = x0 - f / fl;
	//调自己实现迭代(即递归),当等于0时,求出值
	if(fx(x1)==0)return x1;
}

二分法解方程

在这里插入图片描述
二分法用递归实现解三元一次方程:

#include <stdio.h>
#include <math.h>
double fun(double low, double high);

int main()
{
	printf("%.2f", fun(-10, 10));
	return 0;
}

double fun(double low, double high)
{
	double mid,fm;
	mid = (low + high) / 2;
	fm = 2 * pow(mid, 3) - 4 * pow(mid, 2) + 3 * mid - 6;
	if ((high-low)>1e-5)
	{		
		if (fm < 0)
			low = mid;
		else if (fm > 0)
			high = mid;
		else return mid;
		return fun(low, high);
	}
	return mid;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言用牛顿迭代法和二分法递归求解三元一次方程 的相关文章

随机推荐

  • 使用WIFI模块AT指令进行HTTP交互

    超文本传输协议 HTTP HyperText Transfer Protocol 是互联网上应用最为广泛的一种网络协议 所有的WWW文件都必须遵守这个标准 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法 用户通过M0M1系
  • linux cd命令怎么用

    在Linux中 cd命令是用来改变当前工作目录的 具体使用方法如下 打开终端 输入cd命令 后面跟上要进入的目录的路径 例如 如果要进入home目录 可以输入cd home 按下回车键即可进入指定目录 如果要返回上一级目录 可以使用 cd
  • Arudio项目实战——003 TracKingTheCar(循迹小车)

    Arudio项目实战 003 TracKingTheCar 循迹小车 Cblock源码 Cblock转Arduino源代码 include
  • 信息学奥赛一本通C++语言——1111:不高兴的津津

    题目描述 津津上初中了 妈妈认为津津应该更加用功学习 所以津津除了上学之外 还要参加妈妈为她报名的各科复习班 另外每周妈妈还会送她去学习朗诵 舞蹈和钢琴 但是津津如果一天上课超过八个小时就会不高兴 而且上得越久就会越不高兴 假设津津不会因为
  • echart常用图表配置

    echart常用图表配置 柱状图 3D柱状图 效果 代码 排行榜柱状图 效果 代码 排行榜反转柱状图 效果 代码 柱状图 3D柱状图 效果 代码 import graphic from echarts const VALUE Array f
  • STM32滴答定时器与UCOS时钟系统,以及心跳和延时函数的实现.

    Systick就是一个定时器而已 只是它放在了NVIC中 主要的目的是为了给操作系统提供一个硬件上的中断 号称滴答中断 滴答中断 这里来简单地解释一下 操作系统进行运转的时候 也会有 心跳 它会根据 心跳 的节拍来工作 把整个时间段分成很多
  • 牛客-中等及基础难度python

    5进制转换 写出一个程序 接受一个十六进制的数 输出该数值的十进制表示 coding utf 8 def main nums 16进制对照字典 num dict 0 0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9
  • AntV可视化图表G2-柱状图

    文章目录 前言 快速上手 特性 安装 浏览器引入 npm 安装 开始使用 浏览器引入方式 1 创建 div 图表容器 2 编写图表绘制代码 完整代码 在线代码 前言 G2 是一套基于可视化编码的图形语法 以数据驱动 具有高度的易用性和扩展性
  • 《Real-Time Rendering 3rd》提炼总结 RTR3读书笔记

    Real Time Rendering 3rd 提炼总结 毛星云 https zhuanlan zhihu com p 34207965 2 5 几何着色器 The Geometry Shader 几何着色器可以改变新传递进来的图元的拓扑结
  • npm 查看安装了哪些包的相关指令

    npm 查看安装了哪些包 指令1 npm list depth 0 depth 表示深度 我们使用的模块会有依赖 深度为零的时候 不会显示依赖模块 这个指令可以用来 显示 出我们的项目中安装了哪些模块 其实就是 package json 文
  • Linux网络服务:部署YUM仓库与NFS服务

    目录 一 理论 1 部署YUM仓库服务 2 NFS共享存储服务 二 实验 1 通过httpd服务建立yum仓库 2 通过vsftpd服务建立yum仓库 3 搭建NFS实现2台或3台服务器共享一个目录 一 理论 1 部署YUM仓库服务 1 Y
  • JdbcTemplate使用in条件查询sql

    在使用条件in的sql的时候 使用NamedParameterJdbcTemplat public Object getXXX String roleAuth long roleId NamedParameterJdbcTemplate n
  • Python基础(if条件判断)

    if条件判断的第一种情形 纯if if语句的语法规则 if 条件 代码 意思是如果条件成立就执行该代码 如果不成立 就不执行 money 100 if money gt 50 print 吃饭 print 回家 此处输出 吃饭 回家 若mo
  • SQLi LABS Less-4 联合注入+报错注入

    第四关是双引号 括号的字符型注入 推荐使用联合注入 报错注入 方式一 联合注入 参考文章 联合注入使用详解 原理 步骤 实战教程 第一步 判断注入类型 地址栏输入 id 1 and 1 a 页面正常显示 地址栏输入 id 1 and 0 a
  • OceanBase-一款功能无敌的多模数据库

    点击上方 小强的进阶之路 选择 星标 公众号 优质文章 及时送达 预计阅读时间 5分钟 NoSQL历史 KV型NoSql 代表 Redis 解决快速的读写问题 但是会丢失数据 搜索型NoSql 代表 ElasticSearch 支持快速的全
  • 拷贝构造函数和赋值构造函数声明为私有的作用

    转贴地址 http blog csdn net winer632 archive 2009 01 12 3762292 aspx 每个类只有一个赋值函数 由于并非所有的对象都会使用拷贝构造函数和赋值函数 程序员可能对这两个函数有些轻视 请先
  • 多线程练习之数字加减

    数字加减 题目 设计 4 个线程对象 两个线程执行减操作 两个线程执行加操作 使其返回结果为0 1 0 1 或为0 1 0 1 public class ThreadTest public static void main String a
  • 学生如何免费激活JetBrain所有产品(PyCharm,IDEA......)

    前提 版权意识的重要性不言而喻 抛去法律等的规则来说 可以近似理解为一种对别人付出的尊重 本文为学生免费激活JetBrain所有产品 PyCharm IDEA https www jetbrains com 进入jetBrains的官网 点
  • 雷军22年前写的代码 你见过吗?

    作为小米科技的创始人 董事长和首席执行官 雷军的名字如雷贯耳 网上出现一篇 刘强东的代码水平如何 的文章 有网友在下面回复 代码只服雷军 这个回复吸引了小编的注意 雷军的代码水平真的很牛吗 原来雷军年轻的时候 也是一名程序员 而且一干就是1
  • C语言用牛顿迭代法和二分法递归求解三元一次方程

    求解方程 2x 3 4x 2 3x 6 0 牛顿迭代法 牛顿迭代法公式 以下图片均来源于百度 牛顿迭代法用递归实现解三元一次方程 include