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. mybatis入门--#{}和${}的区别

    我们知道,在mybatis中,sql语句是需要我们自己写的.跟在普通的sql不一样的是,我们在使用mybatis框架的时候,使用的占位符不是 ? 而是 #{} 有时候还会出现这个符号 ${} 这些符号 ...

  2. [Centos] ERROR: Could not find useradd in chroot, maybe the install failed?

    [mockbuild at localhost ~]$ mock -r centos-5-x86_64-testdev.cfg initinitcleanprepThis may take a whi ...

  3. SQL Server 2008重新保存表时出错

    在使用SQL Server 2008时,修改了表的字段名和类型名之后,点击保存按钮之后出现如下对话框:

  4. ICS 组件 for lazarus 1.0.12

    http://files.cnblogs.com/stevenlaz/ICS_for_lazarus_1012.zip RT 需要的下

  5. [Jmeter] Run Command to generate a specific listener’s chart report

    Run Command to generate a specific listener’s chart report: Download cmdrunner-2.0.jar : https://jme ...

  6. Centos 装系统 配置网卡,校准时间

    Vclient -控制台: 1.编辑网卡,第一块为外网,第二块为内网 #vi /etc/sysconfig/network-scripts/ifcfg-ens160 TYPE=Ethernet NAM ...

  7. Java页面中EL的${}与<%= request.getParameter%>有什么区别? el 取不到值

    ${requestScope}操作的是request的作用域,相当于request.getAttribute();不过EL比这个更智能些,它不用强制类型转换就可以拿到了真实对象的值.request.g ...

  8. fabric 安装

    fabric 是一个python的库,fabric可以通过ssh批量管理服务器. 第一步安装依赖包 安装fabric依赖及pip yum install -y python-pip gcc pytho ...

  9. 如何将mysql卸载干净

    一.在控制面板中卸载mysql软件 二.卸载过后删除C:\Program Files (x86)\MySQL该目录下剩余了所有文件,把mysql文件夹也删了 三.windows+R运行“regedit ...

  10. 2019.01.17 bzoj2753: [SCOI2012]滑雪与时间胶囊(最小生成树)

    传送门 最小生成树菜题. 题意:给出一些有向边,问有向的最小生成树. 思路:先dfsdfsdfs一把所有有用的边都存起来,然后按终点点权为第一关键字,边权为第二关键字给边排序保证最小生成树的合法性,排 ...