
数值分析
陌意随影
软件工程技术男
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数值分析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 · 2998 阅读 · 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 · 2685 阅读 · 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 · 11822 阅读 · 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 · 5884 阅读 · 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,y3 2.3 x0=x1;y0 = y1; 源程序代码及运行结果截图 #include<...原创 2020-05-05 14:21:13 · 3278 阅读 · 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 · 3464 阅读 · 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 · 2940 阅读 · 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-1 2.2求得Yk 的累加和,其中k=0,1,2…m-1 2.3 求得 Xk2 ...原创 2020-05-05 14:22:03 · 1863 阅读 · 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 · 5601 阅读 · 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 · 4510 阅读 · 0 评论