- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一非线性方程组求解实验报告.
计算方法实验报告
专业班级: 姓名: 学号: 实验成绩:
1.【实验题目】
非线性方程组求解
2.【实验目的】
(1).掌握二分法、迭代法、牛顿迭代法求方程近似根的基本思想与原理。
(2).掌握常用迭代算法的程序实现。
3.【实验内容】
迭代法是求解非线性方程的基本方法,其构造方法可以有多种多样,但关键
是怎样才能使迭代收敛且有较快的收敛速度。
考虑一个简单的代数方程 ,针对该方程,可以构造多种迭
代法,如:
取初始值 ,取 ,分别用以上迭代格式作实验,记录各算法的迭代过程
4. 【实验要求】
(1)取定某个初始值,按方案1~3对非线性方程求根,它们的收敛性如何?
重复选取不同的初始值, 反复实验。 请读者自行设计一种比较形象的记录方式 (如
利用Matlab的图形功能),分析三种迭代法的收敛性与初值选取的关系。
(2)对三个迭代格式的某一种,分别取不同的初始值进行迭代,结果如何?试分析迭代法对不同的初值是否有差异?
(3)对代数方程 ,分别用
方案1 用二分法求解;
方案2 用牛顿法求解;
5. 【算法描述】
二分法算法步骤
计算有根区间的端点a,b及预先给定的精度e。
计算中点(a+b)/2。
若f(x)f(a)0,则xb,转向4);否则,xa,转向4).
若b-ae,则输出满足精度的根x,结束;否则转向2)。
牛顿法迭代法的计算步骤
给出初始近根及精度e。
计算。
若|-|e,则转向4);否则转向2)。
输出满足精度的根,结束。
【源程序(带注释)】
二分法
#includestdio.h
#includemath.h
#includeconio.h
#includewindows.h
float f(float x)
{
float a;
a=x*x*x-x-1;
return a;
} /*求函数值,如果求其它函数,只需改成其它函数即可*/
main()
{
float a,b,e,x; /* a,b 分别表示有根区间的左、右端点, e 是精度要求,x 区间中点值*/
system(CLS);//清屏
printf(对代数方程x^3-x-1=0,分别用\n方案1 用二分法求解\n);
printf( \n please input data a =);
scanf(%f,a);
printf( \n please input data b=);
scanf(%f,b);
if(f(a)*f(b)0)
{
while(f(x)!=0)
{
x=(a+b)/2;
if(f(x)*f(a)0)
{
b=x;
if(fabs(b-a)0.000001)
break;
else
continue;
}
else
{
a=x;
if(fabs(b-a)0.000001)break;
else continue;
}
}
printf(\n);
x=(b+a)/2;
printf(the root of f(x)=0 is x=%f\n,x);
}
else
printf(\ not root! afresh input\n); /*表示 [a,b] 区间无根,重新选择有根区间*/
getch();
return(x);
}
牛顿法
#includestdio.h
#includemath.h
#includeconio.h
#includewindows.h
#define maxrept 1000 /*最大迭代次数*/
float f(float x) {
float a;
a=x*x*x-x-1;
return a; /*函数f(x) */
}
float df(float x) {
return(1+exp(-x)); /* 函数f(x)的导数 ) (x f ′ */
}
float iterate(float x) {
float x1;
x1=x-f(x)/df(x); /* 牛顿迭代函数 iterate(x)=x-f(x) / ) (x f ′ */
return(x1);
}
main() {
float x0,x1,d;
int k=0;
// clrscr();
system(CLS);
printf(对代数方程x^3-x-1=0
您可能关注的文档
- 实验一离散傅里叶变换的性质及应用..doc
- 实验一离散时间信号的时域分析..doc
- 实验一空域图像增强技术..docx
- 实验一空气中甲醛的测定..doc
- 实验一管路流体阻力的测定..doc
- 实验一糖和蛋白质的理化性质检验..docx
- 实验一糖类的颜色反应..doc
- 实验一系统函数幅度相位谱的绘制..doc
- 实验一红外光谱分析实验..doc
- 实验一系统初始化实验报告..doc
- 2025延安宜川中学教师招聘笔试备考试题及答案解析.docx
- 2025西北工业大学机电学院陕西省机电传动与控制工程实验室招聘4人笔试备考题库及答案解析.docx
- 2025西北工业大学机电学院招聘(3-4人)笔试备考题库及答案解析.docx
- 2025新疆石河子西营国有资本运营有限公司市场化选聘管理人员2人笔试备考试题及答案解析.docx
- 2025温州科技职业学院(温州市农业科学研究院)选聘10人笔试备考试题及答案解析.docx
- 2025温州泰顺县公开招聘教师17人笔试备考试题及答案解析.docx
- 2025西安长安区韦曲南街社区卫生服务中心招聘笔试备考题库及答案解析.docx
- 2025西北工业大学党委宣传部非事业编制人员招聘1人(陕西)笔试备考试题及答案解析.docx
- 2025重庆电子科技职业大学考核招聘36人备考题库及答案解析.docx
- 2025重庆大学工业母机创新研究院高薪诚聘科研博士后备考题库及答案解析.docx
文档评论(0)