数值分析实验报告
…… …… 余下全文
实验报告一
题目: 非线性方程求解
摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。
前言:(目的和意义)
掌握二分法与Newton法的基本原理和应用。
数学原理:
对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。
对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。
Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式
xk?1?xk?f(xk) 'f(xk)
产生逼近解x*的迭代数列{xk},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为
…… …… 余下全文
《数值分析》报告
运用Matlab求解非线性方程的根
学 院:
专 业:
班 级:
姓 名:
学 号:
1. 目的
掌握非线性方程求根的方法,并选取实例运用MATLAB软件进行算法的实现,分别用牛顿法、弦截法和抛物线法求非线性方程的根。
2. 报告选题
报告选取《数值分析(第四版)》290页习题7作为研究对象,即求在附近的根。根的准确值,要求结果准确到四位有效数字。
(1) 用牛顿法;
(2) 用弦截法,取,;
(3) 用抛物线法,取,,。
3. 理论基础
(1) 牛顿迭代法
牛顿迭代法是一种特殊的不动点迭代法,其计算公式为
其迭代函数为
…… …… 余下全文
实验2.1 多项式插值的振荡现象
实验目的:
在一个固定的区间上用插值逼近一个函数,显然Lagrange插值中使用的节点越多,插值多项式的次数就越高。我们自然关心插值多项式的次数增加时,Ln(x)是否也更加靠近被逼近的函数。Runge给出的一个例子是极著名并富有启发性的。
实验内容:
设区间[-1,1]上函数 f(x)=1/(1+25x2)。
考虑区间[-1,1]的一个等距划分,分点为 xi= -1 + 2i/n,i=0,1,2,…,n,
则拉格朗日插值多项式为
.
其中,li(x),i=0,1,2,…,n是n次Lagrange插值基函数。
实验步骤与结果分析:
实验源程序
function Chap2Interpolation
% 数值实验二:“实验2.1:多项式插值的震荡现象”
% 输入:函数式选择,插值结点数
% 输出:拟合函数及原函数的图形
promps = {'请选择实验函数,若选f(x),请输入f,若选h(x),请输入h,若选g(x),请输入g:'};
…… …… 余下全文
一、Newton插值法
#include<stdio.h>
#define MAX_N 20
typedef struct tagPOINT
{double x;
double y;
}POINT;
int main()
{int n,i,j;
POINT points[MAX_N+1];double diff[MAX_N+1];
double x,tmp,newton=0;
printf("\nInput n value:");
scanf("%d",&n);
printf("Now input the (x_i,y_i),....,%d:\n",n);
for(i=0;i<=n;i++)
scanf("%lf%lf",&points[i].x,&points[i].y);
printf("Now input the x value:");
scanf("%lf",&x);
for(i=0;i<=n;i++) diff[i]=points[i].y;
…… …… 余下全文