匿名用户

1级

2012-03-21 回答

这是高次方程是没有解析解的,但可以用逼近法求解。

关于这类题最经典的是二分法:

问题二分法解决方程求解问题

利用二分法,求方程 的实根,精确到两位小数。

分析二分法是一种典型的迭代问题,前面已经介绍了二分法定义,这里为了便于计算函数值 编制函数float function(float x)。在主函数中首先给出了有根区间 ,在程序中用[x1,x2]表示。由于不确定函数需要执行的次数,因此使用do-while循环,循环条件为区间中点的函数值小于 ,当函数值小于 时,近似认为当前的值为方程根。

实现

#include "stdio.h"

#include "math.h"

float function(float x)

{

float f;

f= x*x*(x-A)-B;

return f;

}

void main()

{

float x1,x2,x0,fx1,fx2,fx0;

x1=10;x2=-10;

fx1=function(x1);

fx2=function(x2);

do

{

x0=(x1+x2)/2.0;/*计算中点*/

fx0=function(x0);/*计算中点处的函数值*/

if(fx0*fx1<0)/*计算新的区间*/

{/*区间中点的函数值与x1的函数值正负号相反*/

/*区间中点的y坐标与x1点的y坐标在不同y半轴上*/

x2=x0;/*新区间为[x1,x0]*/

fx2=fx0;

}

else

{/*区间中点的y坐标与x1点的y坐标在相同y半轴上*/

x1=x0;/*新区间为[x0,x2]*/

fx1=fx0;

}

}while(fabs(fx0)>=1e-6); /*常量1e – 6为精度,可根据需要修改*/

printf("The root is %f",x0);

}

——————————————————————————————————————————

使用时,你直接把A,B换做常数即可,比如你取A=1,B=2,

那么就会输出:The root is 2.000000

这是个精确解,很多这种高次方程求不出精确解的只能得到近似解,你可以试试。

追问:

不可以,要的结果是x,不是f,我改成了x,但是还不对,你再帮帮忙看看哪里是不是编写错了

追答:

程序没错。你仔细看看,这里面涉及到一个式子变形,求x²(x-A)=B的根x,就是求使得f= x*x*(x-A)-B=0的x的值,你把f改成了x干嘛,只替换A,B程序输出就是x的解。

另外需要注意的一点是,二分法需要给定有根区间(解区间)即程序中的(x1,x2)=(10,-10),这个要根据函数的不同有所变化,具体判断方法可用函数求导和特殊值代入法。

把x带入方程的c语言,C语言编程,用C语言编写下面这个方程。方程:x²(x-A)=B 注:A和B都是已知常数,x是待求未知数。...相关推荐

  1. c 语言已知两点求第三点,已知3点座标,求第一点到第二点和第三点构成的直线的距离。...

    已知3点座标,求第一点到第二点和第三点构成的直线的距离.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 已知3点座标,求 ...

  2. 已知三点空间直角坐标求空间平面方程

    已知三点p1(x1,y1,z1),p2(x2,y2,z2),p3(x3,y3,z3),要求确定的平面方程 关键在于求出平面的一个法向量,为此做向量p1p2(x2-x1,y2-y1,z2-z1), p1 ...

  3. 已知基础解系反求有效方程(矩阵)

    已知基础解系反求有效方程(矩阵) @(数学) 这个是很有趣的推导过程,原理需要弄清楚. 即:已知Ax = 0的基础解系,由Ax = 0的系数行向量与解向量的关系可以反过来求解A. 具体推导如下: 齐次 ...

  4. c语言编程 遍历字符串,请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789......

    导航:网站首页 > 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789... 请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如 ...

  5. 输入半径r求圆的面积java_已知圆的半径r,求圆的面积S_学小易找答案

    [简答题]编写一个程序实现交换两个变量的数值. [简答题]编制密码器,实现给友军发送加密电报,报文由字母a~n组成,每输入一个字母,输出与其相邻的字母. [简答题]任意输入两个数,完成加法.减法.乘法 ...

  6. 转 已知两点坐标和半径求圆心坐标程序C++

    数学思想:利用圆方程和直线方程 已知两点坐标和半径求圆心坐标程序 #include <iostream> #include <fstream> #include <cma ...

  7. python求平行四边形面积_python 已知平行四边形三个点,求第四个点的案例

    我就废话不多说了,大家还是直接看代码吧! import numpy as np #已知平行四边形三个点,求第四个点 #计算两点之间的距离 def CalcEuclideanDistance(point ...

  8. 天文观测理论——已知像素大小、焦距,求像素分辨率

    一.已知像素大小.焦距,求像素分辨率 1. 计算 像素分辨率为 Pix, 单位:角秒/像素 像素大小为 d2d^2d2, 单位:平方毫米 焦距为 fff, 单位:毫米 总像素为 rerere, 单位: ...

  9. 【目标检测】已知top, left, bottom, right 求 xmin,ymin,xmax,ymax

    前段时间在项目实践过程中遇到xmin,ymin,width,height 和 xmin,ymin,xmax,ymax相互转换的问题,请看https://blog.csdn.net/AugustMe/a ...

最新文章

  1. 【Go】Go基础(九):接口(Interfaces)与反射(reflection)
  2. 八百客CRM:微信提现收费,仅仅用户钱包受了伤?
  3. C++ “::” 作用域符 双冒号 实力解释
  4. 语言4位bcd码怎么加加_S7300400如何使用SCL语言调用SFC1(READ_CLK)读取日期和时间?...
  5. oracle数据库匿名快,pl/sql分匿名块和命名块
  6. java string字节大小_Java中char[] 和 String 类型占用字节大小问题
  7. 将ostream 对象转换成字符串流输出
  8. 思科路由器与windows建立L2L ipsec×××
  9. TensorRT 环境搭建记录
  10. samba服务器的设置
  11. HFSS19 官方中文教程系列 L05
  12. graphx项目实战 — 航班飞行网图分析
  13. Excel 常用函数——关联匹配函数
  14. 苹果手机调用H5字体转换问题
  15. php ppt read_PHP生成PPT
  16. linux查询服务器品牌命令,查看linux服务器的品牌和型号
  17. 擦除Mac上所有内容和设置的最快方法
  18. 简述select语句的完整语法_SELECT语句的完整语法较复杂,但至少包括的部分是(    )...
  19. 爬取大众点评页面数据教程,图片文字如何爬取
  20. 【Visual c++】+【EasyX】游戏组件1 移动的小人

热门文章

  1. python中right是什么意思_Python turtle.right方法代码示例
  2. 设备如何使用go sdk轻松连接华为云IoT平台
  3. python抓取京东的商品信息
  4. 对 c\c++ char类型的理解
  5. 人类高质量 Java 学习路线【一条龙版】
  6. EXCEL之如何批量把文本型数字转化为数字
  7. C语言中,再对文件的操作模式中,a和a+、w和w+、r和r+有什么区别?
  8. sap docking 简单分屏alv
  9. Vue v-for详细使用
  10. Qt5与PyQt5UI设计界面出现控件文字显示不完全的问题