1. “二分法解方程”

  在二分法中,从区间[a,b]开始,用函数值f(a)与f(b)拥有相反的符号。如果f在这个区间连续,则f的图像至少在x=a,x=b之间穿越x轴一次,因此方程f(x)=0在[a,b]之间至少有一个解,通过逐步对[a,b]区间进行二分处理,选取在那一部分改变了符号,逐步缩小方程解的更小区域。

 /************************************************************************/
/*二分法 解方程 */
/************************************************************************/
double fun001(double x);
int main()
{
double acurace;
cout << "请输入精度:eg(0.00001)";
cin >> acurace;
double left, right;
do
{
cout << "请输入有效的预期值的边界:";
cin >> left >> right;
} while (fun001(left) * fun001(right) >= 0.0);
double width = right - left,
midPt,funMidVal; //求解
while (width/ > acurace)
{
midPt = (left + right) / 2.0;
funMidVal = fun001(midPt);
if (fun001(left) * funMidVal < 0.0)
{
right = midPt;
}
else
{
left = midPt;
}
width /= 2.0;
} cout << "二分法获取的方程的值是:" << midPt << endl; }

  还可以使用Newton-Raphson(牛顿-拉弗森)方法,对方程问题进行求解;

2.“逼近区域的面积”求数值积分问题

  一个常用的方法是,使用n-1个等距离的点x1、x2··· xn-1将区间[a,b]划分为n个等间隔的子区域,每个子区域的匡杜dealtaX = (b-a)/n。则对于曲线上的相应的点,使用线段链接相邻的点行程n个梯形。

  这些梯形的面积之和约定于曲线f(x)在区间[a,b]下的积分,使用梯形面积公式可以计算第i个梯形的面积为:((f(xi-1) + f(xi))* dealtaX)/2;

  将这些值相加整理的:dealtaX * (( y0 + yn)/2 + y1 + y2 + y3 ... + yn-1);

 /************************************************************************/
/* 近似积分梯形法求解积分问题 */
/************************************************************************/ double funJiFen(double x);
int main()
{
int n;
cout << "enter 需要对所积分的曲线划分成多少份 (n)";
cin >> n;
double a,b,deltaX, x,y,sum;
cout << "请输入所要积分的边界:(a)(b)";
cin >> a >> b;
deltaX = (b - a)/n;
sum = ;
x = a;
for (int i = ; i <= n - ; i++)
{
x += deltaX;
y = funJiFen(x);
sum += y;
}
sum = deltaX * ((funJiFen(a) + funJiFen(b))/ + sum);
cout << "在分成" << n << "等分的积分面积"<< sum << endl; }

  还可以使用:Simpson方法,这种方法思想是使用“抛物线代替梯形”求取面积;

3. 求解微分方程求解问题

  微分方程的定义:包含导数或者微分的方程称为微分方程;

  使用Euler(欧拉)方法求解微分方程

  给定一阶微分方程:y' = f(x,y);

  初始条件:y(x0) = y;

  在某个区间[a,b]且a = x0; (1) 选择x的增量dealtaX,(2)对n= 0,1,2,3...完成以下步骤:

    (i) 设xn+1 = xn + dealtaX;

    (ii) 通过点Pn(xn, yn),斜率为 f(xn,yn)的直线上找到点P(xn+1, yn+1),即求出下一点的横坐标yn+1,可以作为点xn+1在原函数的近似值;

    (iii)重复以上操作,知道在特定点即可获取微分方程问题;

  还可以利用更精确的方法求解微分方程问题,这里仅仅提供一种最简单的求解思路!

三种初步简易的方法求解数值问题 of C++的更多相关文章

  1. iOS 三种收起键盘的方法

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...

  2. 【读书笔记】iOS-开发技巧-三种收起键盘的方法

    - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typica ...

  3. File类三种得到路径的方法

    转: File类三种得到路径的方法 2010年11月29日 20:37:00 ssyan 阅读数:27123 标签: filemicrosoftstringexceptionwindowsunix   ...

  4. 【转】python 三种遍历list的方法

    [转]python 三种遍历list的方法 #!/usr/bin/env python # -*- coding: utf-8 -*- if __name__ == '__main__': list ...

  5. 【Java 线程的深入研究1】Java 提供了三种创建线程的方法

    Java 提供了三种创建线程的方法: 通过实现 Runnable 接口: 通过继承 Thread 类本身: 通过 Callable 和 Future 创建线程. 1.通过实现 Runnable 接口来 ...

  6. Oracle数据库三种标准的备份方法

    Oracle数据库的三种标准的备份方法: 1.导出/导入(EXP/IMP). 2.热备份. 3.冷备份. 注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一.导出/导入(Export/Imp ...

  7. iOS用三种途径实现一方法有多个返回值

    以前觉得这种标题有点偏向于理论,实际开发中怎么会有这种诡异的需求,但是真正遇到了这种硬需求时觉得还是有那么点价值的,理论付诸了实践在此也就做了个整理. 以我私下开发中的一处代码为例,本意是希望有这么一 ...

  8. Java Web开发Tomcat中三种部署项目的方法

    第一种方法:在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加: <Context path="/hello" docBase ...

  9. nodejs Express 4.x req.body req.query req.params 三种获取参数的方法

    第一种情况:http://localhost:3000/1,我们可以用req.params.(应该是跟路由有关,待) 第二种情况:http://localhost:3000/?id=1,用req.qu ...

随机推荐

  1. Linux netstat

    一.简介   二.语法   三.实例 1)查看TCP连接数 netstat -n | awk '/^tcp/ {++S[$NF]} END {for (a in S) print a, S[a]}'

  2. 8.Mysql数据类型选择

    8.选择合适的数据类型8.1 CHAR与VARCHAR CHAR固定长度的字符类型,char(n) 当输入长度不足n时将用空格补齐,char(n)占用n个字节,CHAR类型输出时会截断尾部的空格,即使 ...

  3. Oracle_PL/SQL(6) 触发器(序列、视图)

    序列1.创建序列create sequence seq_alog start with 1 increment by 1 maxvalue 999999999999999999999999999 mi ...

  4. 探索未知种族之osg类生物---器官初始化三

    当判断到viewer中没有一个graphicContext可用时,osg就会默认的进行一次对viewer的实现操作,这样可以保证osg以后可以安心的在屏幕上进行作画.那我们就来看看这个osgViewe ...

  5. Python Json模块中dumps、loads、dump、load函数介绍

    1.json.dumps() json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数. import ...

  6. NOIP2017普及组T1题解

    神奇的链接 上面时题目. 其实不得不说,这一题很水,比2015年的第一题水多了. 直接按题目套公式就行了,当然你也可以像我一样化简一下. 直接看代码: #include<cstdio> # ...

  7. Java第2章笔记

    1.什么是变量:在程序运行过程中它的值是允许改变的量 2.java中常用的数据类型分为四类八种  第一类:整型   int(整数类型)     byte(字节类型)    short(短整形)     ...

  8. Magpie

    https://github.com/LLNL/magpie Magpie contains a number of scripts for running Big Data software in ...

  9. AOP (切点表达式讲解)

    Spring EL表达式:: 1.execution 表达式 语法格式: execution(返回类型.包名.类名.方法名(参数表)) exection(*.com.xxx.AService.*(.. ...

  10. 2018.10.31 bzoj3339&&3585mex(主席树)

    传送门 双倍经验 直接上主席树,每个叶节点维护这个值出现的最右区间,非叶子节点维护当前值域内所有最右区间的最小值. 查询的时候只用在以root[qr]root[qr]root[qr]为根的树上面二分. ...