第一范文网 - 专业文章范例文档资料分享平台

数值计算方法编程作业C语言版精编WORD版

来源:用户分享 时间:2026/8/28 18:33:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

数值计算方法编程作业C语言版精编WORD

IBM system office room 【A0816H-A0912AAAHH-GX8Q8-GNTHHJ8】

1:第二章

(1)二分法求解非线性方程:

#include

#include

#define f(x) ((x*x-1)*x-1)

void main()

{ float a,b,x,eps;

int k=0;

printf(\容许误差 */

scanf(\

printf(\

for(;;)

{scanf(\

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(\

}

运行结果:

intput eps

0.00001

a,b=

2,-5

The root is x=1.324721, k=20

Press any key to continue

总结:本题关键在于两个端点的取值和误差的判断,此程序较容易。二分法收敛速度较快,但缺点是只能求解单根。

(2)牛顿法求解非线性方程:

#include

#include

float f(float x) /* 定义函数f(x) */

{ return((-3*x+4)*x-5)*x+6; }

float f1(float x) /* 定义函数f(x)的导数 */

{ return (-9*x+8)*x-5; }

void main()

{ float eps,x0,x1=1.0;

printf(\

scanf(\输入容许误差 */

do

{ x0=x1; /* 准备下一次迭代的初值 */

x1=x0-f(x0)/f1(x0); /* 牛顿迭代 */

}while(fabs(x1-x0)>eps); /*当满足精度,输出近似根*/

printf(\

}

程序运行结果:

x=1.265328

总结:关键是牛顿迭代的应用,程序中最大缺点是函数及其导数已唯一给出确定不可求的随意函数的根,牛顿法比二分法收敛快,可以求重根。 2:第三章

(1)列主元素消去法求解线性方程:

#include

数值计算方法编程作业C语言版精编WORD版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6ofc19rwav44s0w0d4ij47hq70zb7d011uo_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top