《数值分析》
实验报告 姓名。
学号。专业。
年级。实验五。
一、实验名称。
方程求根 二、实验目的与要求:
通过对二分法和牛顿迭代法作编程练习和上机运算,进一步体会它们在方程求根中的不同特点;
比较二者的计算速度和计算精度。
三、实验内容:
通过对二分法和牛顿迭代法作编程练习和上机运算,进一步体会它们在方程求根中的不同特点 。
一)二分法
算法:给定区间[a,b],并设与符号相反,取为根的容许误差,为的容许误差。
1)令c=(a+b)/2
2)如果(c-a)《或,则输出,结束;否则执行(3)
3)如果,则令;否则则令,重复(1),(2),(3)。
二)牛顿迭代法:给定初值 , 为根的容许误差,为的容许误差,n为迭代次数的容许值。
1)如果 =0或迭代次数大于n,则算法失败,结束;否则执行(2)。
2)计算 =
3)若 < 或 < 则输出 ,程序结束;否则执行(4)。
4)令 = 转向(1)。
四、实验题目:
1、用二分法求方程 f(x)=x^3+4*x*x-10在区间[1,1.5]上的根,要求求出具有3位有效数的近似根。
2、 用牛顿法求方程x^3-3x-1=0在x=2附近的根。
五、程序设计。
1、二分法。
#include <>
#include <>
double f(double x)
return x*x*x+4*x*x-10;
int main()
double a = 0, b = 0, e = 0.0005;
printf("输入 a b: "
scanf("%lf%lf", a, &b);
if (fabs(f(a)) e)
printf("结果为: %0.3f/n", a);
else if (fabs(f(b)) e)
printf("结果为: %0.3f/n", b);
else if (f(a)*f(b) >0)
printf("f(%lf)*f(%lf) >0 不是 <=0 !/n", a, b);
else while (fabs(b-a) >e)
double c = a+b)/2.0;
if (f(a)* f ( c ) 0)
b = c;
else a = c;}
printf("结果为: %0.3f/n", a+b)/2.0);
return 0;
2、牛顿迭代法。
#include<>
#include<>
#define f(x) x*x*x-3*x-1
#define k(x) 3*x*x-3
void main()
double x1,x2,f,k;
x1=2;f=f(x1);
k=k(x1);
x2=x1-f/k;
while((x1-x2)>0.0005)
printf("x=%2.5f",x2);
六、计算结果。
1、二分法。
2、牛顿迭代法。
一、实验名称。
线性方程组数值解法
二、实验目的与要求:
熟悉求解线性方程组的有关理论和方法;
会编制列主元消去法、lu 分解法、雅可比及高斯—塞德尔迭代法德程序;
通过实际计算,进一步了解各种方法的优缺点,选择合适的数值方法。
三、实验内容:
会编制列主元消去法、lu 分解法、雅可比及高斯—塞德尔迭代法德程序,进一步了解各种方法的优缺点。
四、实验题目:
1.用列主元消去法解方程组。
2.用lu分解法求解方程组ax=b
ab= 3.用雅可比迭代法解方程组
4.用高斯-塞尔德迭代法解方程组
五、程序设计。
1、列主消元法解方程。
#include<>
#include<>
#include<>
#include<>
#define n 3
#define precision 1e-16
static double aa[n][n+1]=,1.347,3.712,4.
623,2.137},-2.835,1.
072,5.643,3.035}};
int gaussh(double a[n+2],double x[n+1])
int i,j,k,r;double c;
for(k=1;k<=n-1;k++)
r=k; for(i=k;i<=n;i++)
if(fabs(a[i][k])>fabs(a[r][k]))r=i;
if(fabs(a[r][k])
if(r!=k)
for(j=k;j<=n+1;j++)
c=a[k][j];a[k][j]=a[r][j];a[r][j]=c;}
for(i=k+1;i<=n;i++)
c=a[i][k]/a[k][k];
for(j=k+1;j<=n+1;j++)
a[i][j]=a[i][j]-c*a[k][j];
if(fabs(a[n][n])
for(k=n;k>=1;k--)
x[k]=a[k][n+1];
for(j=k+1;j<=n;j++)
x[k]=x[k]-a[k][j]*x[j];
x[k]=x[k]/a[k][k];
return(1);
void main()
int i,j,det;double a[n+1][n+2],x[n+1];
for(i=1;i<=n;i++)for(j=1;j<=n+1;j++)
a[i][j]=aa[i-1][j-1];
det=gauss(a,x);
if(det!=0)
for(i=1;i<=n;i++)
printf("x[%d]=%f",i,x[i]);printf("");
getch();
2、lu分解法。
#include <>
#include <>
#define max_n 20
int main(int argc, char* ar**)
int n;
int i, j, k;
static double a[max_n][max_n], b[max_n], x[max_n], y[max_n];
static double l[max_n][max_n], u[max_n][max_n];
printf("输入n的值: "
scanf("%d", n);
if(n >max_n)
printf("the input n is larger than max_n, please redefine the max_n.");
return 1;
if(n <=0)
printf("please input a number between 1 and %d.", max_n);
return 1;
printf("now input the matrix a(i, j), i, j = 0,1,2, %d:", n-1);
for (i=0; ifor (j=0; jscanf("%lf", a[i][j]);
printf("now input the matrix b(i), i = 0,1,2, %d:", n-1);
for(i=0; iscanf("%lf", b[i]);
for(i=0; iu[i][i] =1; /
for(k=0; k{
for(i=k; i{
l[i][k] =a[i][k];
for(j=0; j<=k-1; j++)
l[i][k] -l[i][j]*u[j][k]);
for(j=k+1; j{
u[k][j] =a[k][j];
for(i=0; i<=k-1; i++)
u[k][j] -l[k][i]*u[i][j]);
u[k][j] /l[k][k];
for(i=0; i{
y[i] =b[i];
for(j=0; j<=i-1; j++)
y[i] -l[i][j]*y[j]);
y[i] /l[i][i];
for(i=n-1; i>=0; i--)
x[i]=y[i];
for(j=i+1; jx[i] -u[i][j]*x[j]);
printf("solve...x_i = n");
for(i=0; iprintf("%f", x[i]);
return 0;
3、雅克比迭代法。
#include""
#include""
#define n 3
#define m 10
void main()
int i,j,k=1;
float a[n][n],b[n],sum,x[n];
printf("请按行输入原增广矩阵:");
for(i=0;i 实验五差分式放大电路。班级 姓名 学号 2015.12.9 一 实验目的。1.加深对差分式放大电路性能及特点的理解。2 学习差分式放大电路主要性能指标的测试方法。二 实验仪器及器件。三 实验原理。图5 1为差分式放大电路的基本结构。图4 1差分式放大电路。1 静态工作点的估算。典型电路。认为vb1 ... rc正弦波振荡器 姓名 吴媚学号 201208060122 班级 12级信息安全一班。姓名 吴淑珍学号 201208060122 班级 12级信息安全一班。实验内容一 1.1 关闭系统电源。按图1 1连接实验电路,输出端uo接示波器。1.2打开直流开关,调节电位器rw,使输出波形从无到有,从正弦波到... 国家电工电子实验教学中心。模拟电子技术。实验报告。实验题目 放大电路的失真研究。2015年6月16日。目录。实验报告 1 实验题目 放大电路的失真研究 1 1 实验题目及要求 2 2 实验目的与知识背景 3 2.1 实验目的 3 2.2 知识点 3 2.3 非线性失真原理介绍 3 3 实验过程 4 ... 实验目的 了解各种销售 对比各种网络营销方式的优缺点,提出改进意见。实验内容 比较 当当 一号店的不同,论述其优缺点。实验步骤 登陆 当当 一号店 在这三个 中寻找渔具界面 论述这三个页面内容的区别及优缺点。实验 当当。一号店。实验结果及其分析 较其他两个 优势在于除单卖商品外,还提供各种 选择,服... 北京物资学院信息学院实验报告。课程名 电子技术实验名称二极管半波整流实验。实验日期 2012 年 3 月 5 日。实验报告日期 2012 年 3 月 26 日。姓名 曾曦 学号 2010211300 小组成员名称无。一 实验目的。1 熟悉模拟电路实验箱系统硬件电路结构和功能。2 掌握虚拟示波器和万用... 实验。一 戴维南定理。一 实验目的 1 深刻理解和掌握戴维南定理。2 初步掌握用multisim软件绘制电路原理图。3 初步掌握multisim软件中的multimeter voltmeter ammeter等仪表的使用以及dc operating point parameter sweep等spi... 杨氏模量的测定 伸长法 实验目的。1.用伸长法测定金属丝的杨氏模量。2.学习光杠杆原理并掌握使用方法。实验原理。物体在外力作用下或多或少都要发生形变,当形变不超过某一限度时,撤走外力之后形变能随之消失,这种形变叫弹性形变,发生弹性形变时物体内部将产生恢复原状的内应力。设有一截面为s,长度为的均匀棒状... 武汉科技大学。实验报告。课程名称 软件项目策划与管理。班级 软件1101班。姓名 张志会。学号 201113138037 实验地点 教三楼402 指导老师 郑武。计算机科学与技术学院。实验一 microsoft project的基本操作。1 实验目的。熟悉项目管理软件microsoft projec...模电实验五差分式放大电路实验报告
电路实验报告三
模电实验报告
网络营销实验报告案例分析
实验1二极管实验报告
戴维南定理实验报告
杨氏模量实验报告
软件项目管理实验报告