求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法)

这篇具有很好参考价值的文章主要介绍了求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        首先可以将方程两边同时加上x,求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法),C语言程序设计,算法,c语言,这时候两边同时再除以1+x,就得到了求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法),C语言程序设计,算法,c语言,变形为求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法),C语言程序设计,算法,c语言。(变性后的迭代式不唯一,这里随便选取一个)

        当x是准确值的时候,两边应该是相等的,如果x是近似值,x误差很小很小,我们变可以认为x是可接受的近似解。 

 因此可以构造迭代式:

                                        求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法),C语言程序设计,算法,c语言

根据上面的迭代式,可以得到一个x值的序列:,这个序列中的每一个值都应该比前面的值更加接近x的精确值, 关于什么是不动点迭代法这里大致介绍一下:

求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法),C语言程序设计,算法,c语言

求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法),C语言程序设计,算法,c语言

 详细请参考:第四章:方程求根的迭代法 - 简书 (jianshu.com)中的4.2

#include<stdio.h>
#include<math.h>
#define PRECISION 0.000001 
int main()
{
	//用迭代法计算方程x^2=a的解,即计算根号a的值(不用库函数)
	float a,x=1.0,temp;
	int count=0;
	printf("请输入一个非负数初始迭代值a:");
	scanf("%f",&a);
	do
	{
		temp=x;
		x=1+(a-1)/(x+1);
		count++; 
	}while(fabs(x-temp)>=PRECISION);
	printf("\t方程的近似解为:%f,迭代次数为%d\n",x,count); 
	return 0;
}

求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法),C语言程序设计,算法,c语言

 文章来源地址https://www.toymoban.com/news/detail-618810.html

到了这里,关于求解方程x^2=a的根,不使用库函数直接求解(不动点迭代法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 线性代数的学习和整理14: 线性方程组求解的3种方法,重点讲矩阵函数求解

    目录 0 写在前面的一些内容 0.1 学习心得: 0.2 参考其他书籍总结的知识点,对照学习 1 线性方程组求解 1.1 常见的线性方程组如下 1.2 记住常见的 矩阵函数的维数的关系 1.3  需要求解的方程组和矩阵的对应关系,需要先厘清 1.3.1 如果只需要求解x,是类 Ax=b的形式 1.3.2   如

    2024年02月05日
    浏览(58)
  • 伴侣矩阵求解多项式的根

    已知方程 P ( x ) = ∑ i = 0 n a i x n = 0 P(x) = sum_{i=0}^{n}a_ix^n = 0 P ( x ) = ∑ i = 0 n ​ a i ​ x n = 0 ,通过伴侣矩阵求解该方程的根。 此处参考百度知道,就可以大概知道伴侣矩阵的构建。具体如下, 设 f ( t ) = t n + a 1 t n − 1 + … + a n − 1 t + a n . f(t)=t^n+a_1 t^{n-1}+ldots+a_{n-1} t+a_n .

    2024年02月21日
    浏览(42)
  • PTA( 求一元二次方程的根)——C语言)细解

    本题目要求一元二次方程ax2+bx+c=0的根,结果保留2位小数。(注意:0.00会在gcc下被输出为-0.00,需要做特殊处理,输出正确的0.00。) 输入格式: 输入在一行中给出3个浮点系数a、b、c,中间用空格分开。 输出格式: 根据系数情况,输出不同结果: 1)如果方程有两个不相等的

    2024年02月06日
    浏览(49)
  • Python调用二分法和牛顿法求方程的根

    二分法是最简单的求根算法。 对于方程 f ( x ) = 0 f(x)=0 f ( x ) = 0 ,如果 f ( a ) ⋅ f ( b ) 0 f(a)cdot f(b)0 f ( a ) ⋅ f ( b ) 0 ,则说明 a , b a,b a , b 之间必有根,如果按照某个步长对其进行搜索,那么最终一定能够不断缩小根的取值范围,不断精确化。 二分法就是基于这种思想的一种

    2024年02月02日
    浏览(70)
  • 矩阵方程的计算求解:使用 MATLAB

    矩阵方程的计算求解:使用 MATLAB 矩阵方程是数学中一类重要的方程,它以矩阵的形式表示,并涉及到矩阵的乘法、加法和逆运算等。在 MATLAB 中,我们可以使用多种方法来求解矩阵方程,包括直接求解、迭代法和数值方法等。本文将介绍几种常见的方法,并给出相应的 MATL

    2024年02月08日
    浏览(54)
  • matlab使用教程(6)—线性方程组的求解

            进行科学计算时,最重要的一个问题是对联立线性方程组求解。在矩阵表示法中,常见问题采用以下形式:给定两个矩阵 A 和 b,是否存在一个唯一矩阵 x 使 Ax = b 或 xA = b?         考虑一维示例具有指导意义。例如,方程         7x = 21         是否具

    2024年02月14日
    浏览(43)
  • matlab使用教程(27)—微分代数方程(DAE)求解

            微分代数方程是一类微分方程,其中一个或多个因变量导数未出现在方程中。方程中出现的未包含其导数的变量称为代数变量,代数变量的存在意味着您不能将这些方程记为显式形式 y ′ = f t , y 。相反,您可以解算下列形式的 DAE:         • ode15s 和 ode23t

    2024年02月11日
    浏览(47)
  • matlab使用教程(28)—微分方程(ODE)求解常见问题

            本博客说明如何将 ODE 解约束为非负解。施加非负约束不一定总是可有可无,在某些情况下,由于方程的物理解释或解性质的原因,可能有必要施加非负约束。仅在必要时对解施加此约束,例如不这样做积分就会失败或者解将不适用的情况。         如果解的

    2024年02月11日
    浏览(55)
  • C语言:从键盘任意输入a,b,c的值,编程计算并输出一元二次方程ax2+bx+c=0的根

    C语言实战题目:【if-else条件分支语句】 从键盘任意输入a,b,c的值,编程计算并输出一元二次方程ax2+bx+c=0的根,当a=0时,输出“该方程不是一元二次方程”,当a≠0时,分b2−4ac0、b2−4ac=0、b2−4ac0三种情况计算并输出方程的根。 **输入格式要求:\\\"%f,%f,%f\\\" 提示信息:“Ple

    2023年04月26日
    浏览(70)
  • MATLAB 之 非线性方程数值求解、最优化问题求解和常微分方程初值问题的数值求解

    非线性方程的求根方法很多,常用的有牛顿迭代法,但该方法需要求原方程的导数,而在实际运算中这一条件有时 是不能满足的,所以又出现了弦截法、二分法等其他方法。 在 MATLAB 中,非线性方程的求解和最优化问题往往需要调用最优化工具箱来解决。优化工具箱提供了一

    2024年02月08日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包