太原理工大学计算机数值方法实验报告,太原理工大学计算机数值方法实验报告.doc...

本文档是一份关于计算机数值方法实验的报告,重点是使用不同的数值方法,包括增值寻根法、二分法、牛顿法和割线法,求解方程f(x)=x*x*x+4*x*x-10=0在[1,2]内的根。实验要求精度达到|x*-xn|<0.001。实验结果表明各种方法的有效性,并对比了它们的计算效率和精度。通过C语言实现的源代码展示了每种方法的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

太原理工大学计算机数值方法实验报告

本科实验报告

课程名称: 计算机数值方法

实验地点:

专业班级: 学号:

学生姓名:

指导教师:

成 绩:

年 月 日

太原理工大学学生实验报告

学院名称计算机科学与技术学院专业班级学号学生姓名实验日期成绩课程名称计算机数值方法实验题目实验一 方程求根实验目的和要求:

(1)实验目的: 熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。求方程:f(x)=x*x*x+4*x*x-10=0在[1,2]内的一个实根,且要求满足精度|x*-xn|<0.001

(2)实验要求:

1.应用C,C++或JAVA编出通用程序,源程序要有详细的注释和说明;

2.比较计算结果,对不同方法进行比较分析;

3.实验完成,提交实验结果并写出报告,分析计算结果是否符合问题的要求,找出计算成功的原因或计算失败的教训。

实验内容和原理:

(1) 增值寻根法:基本思想为:从初始值x0开始,按规定的一个初始步长h来增值。令x(n+1)=x(n)+h,(n=0,1,2...),同时计算f(x(n+1)).在增值过程中会遇到三种情况:1. f(x(n+1))=0,此时x(n+1)即为方程根。

f(x(n))和f(x(n+1))同号,说明区间内无根。

f(x(n))和f(x(n+1))同号,说明区间内有根,则把步长缩小,直至满足精度要求为止,x(n)或x(n+1)就是满足精度的近似根。

(2) 二分法:基本思想为:设f(x)在[a,b]内连续,且f(a)*f(b)<0,则方程f(x)=0在(a,b)内有实根x*.然后逐步对分区间[a,b],通过判断两端点函数值乘积的符号,进一步缩小有根区间从而求出满足精度要求的近似值。

(3) 牛顿迭代法:基本思想为给定一个初始值由牛顿法的迭代公式:x(n+1)=x(n)-f(x(n))/f’(x(n)) (n=0,1,2...)逐步求出x(n),直至(x(n+1)-x(n))的绝对值小于给定精度,则x(n+1)即可作为近似值。

(4) 双点割线法:由给出的两个初始近似值,再根据双点割线法迭代公式:x(n+1)=x(n)-(f(x(n))/(f(x(n))-f(x(n-1)))*(x(n)-x(n-1)),(n=1,2,3...)逐步求出x(n),直至x(n+1)-x(n)的绝对值满足精度,则x(n+1)即可作为近似值。

(5) 单点割线法:由给出的两个初始近似值,再根据双点割线法迭代公式:x(n+1)=x(n)-(f(x(n))/(f(x(n))-f(x(0)))*(x(n)-x(0)),(n=1,2,3...)逐步求出x(n),直至x(n+1)-x(n)的绝对值满足精度,则x(n+1)即可作为近似值。

主要仪器设备:笔记本电脑

操作方法:

源代码:

(1)增值寻根法:

#include

double fun(double x){ //原函数

return(x*x*x+4*x*x-10);//求解方程f(x)=x*x*x+4*x*x-10=0的根,精度为10-3.

}

int main(){

double a=1.25,h=1,x=a;

printf("初始近似值为:%lf\n",a);

do{

if(fun(x)==0){printf("根为:%f",x);return 0;} /*如果初始值函数值为0,则初始值即为根*/

else if(fun(x)*fun(x+h)>0) /*如果fun(x)和fun(x+h)同号则使X加h并跳出本次循环执行下一次*/

{x=x+h;continue;}

else if(fun(x)*fun(x+h)<0) //若异号则说明在X和X+h之间存在函数根,则缩//短步长继续寻根

{h=h/10.0;}

}while(h>0.001);//当不满足精度要求时继续执行循环体

printf("根为:%f\n",x);//跳出循环说明满足精度要求则x可近似作为方程根

return 0;

}

(2)二分法:

#include

#include

#define esp 1e-3 //精度

double f(double x) //原函数

{

return (x*

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值