数值分析实验报告 实验五实验六

发布 2019-07-29 09:53:35 阅读 6562

《数值分析》

实验报告 姓名。

学号。专业。

年级。实验五。

一、实验名称。

方程求根 二、实验目的与要求:

通过对二分法和牛顿迭代法作编程练习和上机运算,进一步体会它们在方程求根中的不同特点;

比较二者的计算速度和计算精度。

三、实验内容:

通过对二分法和牛顿迭代法作编程练习和上机运算,进一步体会它们在方程求根中的不同特点 。

一)二分法

算法:给定区间[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 ...

网络营销实验报告案例分析

实验目的 了解各种销售 对比各种网络营销方式的优缺点,提出改进意见。实验内容 比较 当当 一号店的不同,论述其优缺点。实验步骤 登陆 当当 一号店 在这三个 中寻找渔具界面 论述这三个页面内容的区别及优缺点。实验 当当。一号店。实验结果及其分析 较其他两个 优势在于除单卖商品外,还提供各种 选择,服...

实验1二极管实验报告

北京物资学院信息学院实验报告。课程名 电子技术实验名称二极管半波整流实验。实验日期 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...