- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《数值分析》实验报告
成绩:
学号: 班级:
小组成员:
2014年12月25日
广东石油化工学院理学院信息系
目录
第一章 绪论 2
1课题简介 2
第二章 非线性方程的二分法 2
1 二分法 3
2 代码专题 3
3 运用例子 3
4 运行结果截图 4
第三章 高斯消去法 8
1 高斯消去法的定义 8
2 代码专题 8
3 运用例子 10
4 运行结果截图 11
总结 19
1课题简介
运用所学编程知识来处理数值分析这门课程中的一些典型方法。数值分析是计算机科学和应用数学的重要交叉部分,对计算机的发展与应用起着十分重要的作用,实验的目的是通过实验评价各种算法的优劣,用高级语言描述学过的算法并上机调试通过,对结果进行分析,加深对各种典型数值问题计算机求解的数值分析基本概念和原理的理解和掌握,进一步熟练掌握高级程序设计语言的使用以及熟悉相关算法在计算机上的实现过程。
非线性方程的二分法
1、二分法
二分法的思想为:首先确定有根区间,将区间二等分,通过判断F(x)的符号和单调性,逐步将有根区间缩小,直至有根区间在所求范围内,便可求出满足精度要求的近似根。对于在区间{a,b}上连续不断,且满足f(a)f(b)0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间二等分,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫做二分法。
考察有根区间[a,?b],取中点x0=(b+a)/2?将它分为两半,假设中点x0不是f(x)的零点,然后进行根的搜索,即查找f(x0)与f(a)是否同号,如果确系同号,说明所求的根x?
在x0的右侧,这是令a1=?x0,b1=b;否则x?
必在x0的左侧,这是令a1=a,b1=x0,不管出现哪一种情况,新的有根区间[a1,?b1]的长度仅为[a,?b]的一半。.重复以上做法得新近似根x1,…这样不断将区间分半,得到一系列区间[an,?bn],和近似根(区间中点)?nx,n=0,1,2,3…,?nx误差为(b-a)/2n+1.这样的方法称为二分法。
代码专题
求非线性方程的二分法 区间[-3,-2],[1,2],[2,3]
#includestdio.h
#includemath.h
#define f(x)(x*x*x*x*x-7*x*x*x+x*x+2)
void main()
{float a,b,x,eps;
int k=0;
printf(intput eps\n);/*?容许误差?*/
scanf(%f,eps);
printf(a,b=\n);
for(;;)
{scanf(%f,?%f,a,b);
if(f(a)*f(b)=0)/*?判断是否符合二分法使用的条件?*/
printf(二分法不可使用,请重新输入:\n);
else break;
}
do
{x=(a+b)/2;
k++;
if(f(a)*f(x)0)/*?如果f(a)*f(x)0,则根在区间的左半部分?*/
b=x;
else if(f(a)*f(x)0)/*?否则根在区间的右半部分?*/
a=x;
else break;
}
while(fabs(b-a)eps);/*判断是否达到精度要求,若没有达到,继续循环*/
x=(a+b)/2;/*?取最后的小区间中点作为根的近似值?*/
printf(\n The root is x=%f, k=%d \n,x,k);
}
求非线性方程的二分法 区间[-13,-12],[0,1],[5,6]
高斯消去法
1、高斯消去法的定义
数学上,高斯消元法(或译:高斯消去法),是线性代数中的一个算法,可用来为线性方程组求解,求出矩阵的秩,以及求出可逆方阵的逆矩阵。当用于一个矩阵时,高斯消元法会产生出一个“行梯阵式”。高斯消元法可以用在电脑中来解决数千条等式及未知数。不过,如果有过百万条等式时,这个算法会十分费时。一些极大的方程组通常会用迭代法来解决。亦有一些方法特地用来解决一些有特别排列的系数的方程组。如下例子:
高斯消元法可用来找出下列方程组的解或其解的限制:
2x + y - z = 8 (L1)
-3x - y + 2z = -11 (L2)
-2x + y + 2z = -3 (L3)
这个算法的原理是:
首先,要将L1 以下的等式中的x 消除,然后再将L2 以下的等式中的y 消除。这样可使整个方程组变成一个三角形似的格式。之后再将已得出的答案一个个地代入已被简化的等式中的未知数中,就可求出其余的答案了。
代码专题
#include stdio.h
#incl
您可能关注的文档
- 小石潭记整理教案.doc
- 小石潭记综合练习题 (1).doc
- 小石潭记综合练习题[1].doc
- 小学毕业会考语文模拟试卷(二).doc
- 小学生动物优秀作文.doc
- 小学生快乐阅读作文答题技巧[1].doc
- 小学五年级期末语文水平模拟测试卷.doc
- 小学一至四年级所有日积月累、古诗(6).doc
- 小学一至六年级年级数学练习题.doc
- 小学语文第八册(11).doc
- 消费者心理分析,2025年个性化定制服务市场消费者心理研究.docx
- 新能源汽车充电设施2025年布局优化与充电服务效率研究报告.docx
- 2025年图书出版市场生态环保书籍阅读偏好研究报告.docx
- 消费金融在2025年新消费场景中的创新实践与风险防范策略研究报告.docx
- 高铁建设对2025年区域产业链协同发展的研究报告.docx
- 融合发展策略下2025年广播影视行业新媒体内容生态构建报告.docx
- 高校科技成果转化2025:产学研合作模式创新与转化路径创新案例剖析.docx
- 2025年专用设备行业服务化转型面临的挑战与对策报告.docx
- 钢铁产业产能过剩现状及化解路径分析报告.docx
- 智慧港口自动化装卸设备在智能化港口建设中的应用策略.docx
文档评论(0)