
数值分析
陌意随影
软件工程技术男
展开
-
数值分析C++实现用弦截法求f(x)= 0的根
实现用弦截法求f(x)= 0的根弦截法的定义:弦截法的百度百科算法描述(1)任取迭代初始值X0,X1(2)计算x2= x1-(X1-X0)*f(X1)/(f(X1)-f(X0));(3)判断收敛性:如果|x 2-x1|<ε或者|f(x2)<ε则算法收敛,停止计算,输出近似解x2(4)令x0=x1,x1=x2返回第二步源程序代码及运行结果截图#include<io...原创 2020-05-05 14:19:39 · 2946 阅读 · 2 评论 -
数值分析C++实现用牛顿(Newton)迭代法求分f(x)=0在x0附近的根
用牛顿(Newton)迭代法求分f(x)=0在x0附近的根首先引自百度百科的牛顿迭代法的定义:算法描述:(1)任取迭代初始值X0(2)计算x1= x0-f’(x0)/f’(x0);(3)判断收敛性:如果|x1 -x0|<ε或者|f(x1)|<ε则算法收敛,停止计算,输出近似解x1(4)令x0=x1,返回第二步源程序代码及运行结果截图#include<iostr...原创 2020-05-05 14:20:25 · 2665 阅读 · 1 评论 -
数值分析C++实现用二分法求方程f(x)=0的根
问题:用二分法求f(x) = 0的根。首先我们先知道二分法的定义:对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。算法描述算法:(二分法)(1)计算f(a), f(b),若f(a)f(b)>0 ,则算法失效,停止计算(2)令x=(a+ b...原创 2020-05-05 14:19:59 · 11725 阅读 · 0 评论 -
数值分析C++实现用四阶龙格-库塔(Runge-Kutta)方法求解常微分方程初值问题
问题:用四阶龙格-库塔(Runge-Kutta)方法求解常微分方程初值问题。算法描述算法的程序框图:具体算法:(1)读取a,b,n,f(2)计算步长h = (b-a)/n,x0=a,y0=f(3)从i = 1开始每次i++,重复以下操作,直到i=n退出循环3.1 计算x1=x0+h, k1 =f(x0,y0);k2=f(x0+h/2,y0+hk1 /2);k3 =f(x0+h/2...原创 2020-05-05 14:20:53 · 5789 阅读 · 2 评论 -
数值分析C++实现改进的欧拉(Euler)公式求解常微分方程
算法的程序框图:具体的算法:(1)读取x0,y0,h,n,以及给定的f(x,y)(2) 从i = 1开始每次i++,重复以下操作,直到i=n退出循环2.1 计算x1=x0+h, y1 = y0+ h*f(x0,y0);y2=y0+f(x1,y1); y3 =(y1+y2)/2;2.2打印x1,y32.3 x0=x1;y0 = y1;源程序代码及运行结果截图#include<...原创 2020-05-05 14:21:13 · 3227 阅读 · 0 评论 -
数值分析C++实现Romberg积分算法
算法描述其算法的伪代码为:具体的算法:(1)定义一个二维数组R[n][n]用于存储每次积分的值(2)首先计算 R[1][1]=(b-a)*(f(a)+f(b))/2;(3)从j =2开始遍历做以下步骤,直到j=n停止遍历3.1计算步长h =(b-a)/2^(j-1),计算R[j][1]=3.2从i =1开始,每次i自增1直到i = 2^(j-2),计算 f(a+(2i-1)h)的累...原创 2020-05-05 14:21:28 · 3422 阅读 · 0 评论 -
数值分析C++实现用复化梯形公式
算法描述(1)计算步长h =(b-a)/n(2)计算sum1 = f(a)+f(b)(3)从 i =1开始计算 h = a+ih,计算f(a+ih)的累加和直到i = n-1得到累加和 sum2(4)计算 I = h*(sum1+2*sum2)/2,即得出结果积分I源程序代码及运行结果截图#include<iostream>#include<vector>...原创 2020-05-05 14:21:44 · 2920 阅读 · 0 评论 -
数值分析C++实现线性函数p(x)= a+ bx拟合给定数据
问题:用线性函数p(x)= a+ bx拟合给定数据(xi,;yi;).i= 0,1,2,…,m-1。算法描述(1)给已知条件(X0,y0),(X1,y1),(X2,y2),…,(Xn,yn)点进行对应的包装操作和编号处理(2)根据最小二乘问题的正则方程组2.1 求得 Xk 的累加和,其中k=0,1,2,…m-12.2求得Yk 的累加和,其中k=0,1,2…m-12.3 求得 Xk2 ...原创 2020-05-05 14:22:03 · 1842 阅读 · 0 评论 -
数值分析C++实现牛顿(Newton)插值值多项式
问题:已知插值节点序列(xi, yi),i=01,2,…,n, 牛顿(Newton) 插值值多项式Nn(x)计算的函数f(x)在点x0的近似值。首先给出算法步骤:(1)给已知条件(X0,y0),(X1,y1),(X2,y2),…,(Xn,yn)点进行对应的包装操作和编号处理(2)根据已知条件(X0,y0),(X1,y1),(X2,y2),…,(Xn,yn)和要求解的x值计算差商:2.1...原创 2020-05-05 14:22:19 · 5566 阅读 · 0 评论 -
数值分析C++实现拉格朗日(Lagrange)插值多项式
数值分析实验:已知插值节点序列,用拉格朗日(Lagrange)插值多项式计算函数L0(x)计算函数f(x)在点x0的近似值。首先给出算法描述:(1)给已知条件(X0,y0),(X1,y1),(X2,y2),…,(Xn,yn)点进行对应的包装操作和编号处理(2)根据已知条件(X0,y0),(X1,y1),(X2,y2),…,(Xn,yn)和要求解的x值计算拉格朗日基函数:2.1 首先计算每个...原创 2020-05-05 14:22:35 · 4463 阅读 · 0 评论