ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:96.71KB ,
资源ID:4591635      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4591635.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机辅助分析与设计c语言 二分法牛顿迭代法求方程解.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机辅助分析与设计c语言 二分法牛顿迭代法求方程解.docx

1、计算机辅助分析与设计c语言 二分法牛顿迭代法求方程解计算机辅助分析与设计实验报告实验一:编程作业1:用二分法求方程 的一个正的近似解(精确到0.1)。程序:#include#include#define F(x) (x)*(x)*(x)-3*(x)+1) /*宏定义F(x)为方程式的左边*/ void main() int k=0; float a,b,c,m; printf(input a,b,c:); scanf(%f,%f,%f,&a,&b,&c); /*输入a,b的值以及精确度c的值*/ while(F(a)*F(b)0) /*输入的a,b的值直到满足F(a)F(b)0为止*/ pri

2、ntf(input a,b again:); scanf(%f,%f,&a,&b); for(;F(a)*F(b)=0;k+) /*二分法开始求方程的根*/ if(F(a)*F(b)=0) /*若F(a)F(b)=0,则方程的解在a,b两者中,并找出其根*/ if(F(a)=0) printf(A root of equation is:%f k=%dn,a,k); else printf(A root of equation is;%f k=%dn,b,k);break; else m=(a+b)/2; /*取a,b的中点*/ if(fabs(a-b)0) /*找出二分后区间两端点值异号的区

3、间,并赋给a,b*/ a=m; else b=m; 程序运行结果如下图编程作业2: 用牛顿迭代法求方程 在附近的根(精确到0.001)。程序:#include#includefloat f(float x) /*定义函数f返回的值(其中f(x)为方程式的左边)*/ float y; y=(x*x*x-x-1)/(3*x*x-1); return(y); void main() float x1,x2,x0,c; printf(input x0,c:); scanf(%f,%f,&x0,&c); /*输入x0及精确度c的值*/ x2=x0; do /*牛顿迭代法开始求方程的根*/ x1=x2;

4、x2=x1-f(x1); while(fabs(f(x1)c); /*若不满足精度要求执行循环,反之则得到方程的根就是x2*/ printf(A root of equation is:%fn,x2);程序运行结果如下图:实验二:编程作业1: 用梯形法计算定积分 ( 取 n=100)。程序:#include#includefloat f(float x) /*定义函数f返回1/(1+)*/float y; y=1/(x*x+1); return(y);void main() float a,b,h,F=0; int n,k; printf(Input a,b,n:); scanf(%f,%f,

5、%d,&a,&b,&n); /*输入积分上下限a,b及n的值*/ F=(f(a)+f(b)/2.0; h=fabs(b-a)/n; /*计算每一个小梯形的高度h*/ for(k=1;kn;k+) /*求n等分后所有小梯形上下底之和并减半*/ F+=f(a+k*h); F=F*h; printf(The integral of 1/(1+x*x) is:%fn,F); getch();程序运行结果如下图:编程作业2:用抛物线法计算定积分 ( 取 n=100)。程序:#includefloat f(float x) /*定义函数f返回1/(1+)*/ float y; y=1/(1+x*x); r

6、eturn(y);void main() float a,b,h,F; int n,k; printf(input a,b,n:); scanf(%f,%f,%d,&a,&b,&n); /*输入积分下上限a,b及n的值*/ h=(b-a)/(4*n); F=f(a)+f(b); for(k=0;k(2*n);k+) /*求的和*/ F+=4*f(2*k+1)*h+a); /*求的和*/for(k=1;k(2*n);k+) F+=2*f(2*k*h+a); F=F*h/3; printf(The integral of 1/(1+x*x) is:%fn,F); getch();程序运行结果如下图

7、:实验三:编程作业1: 用欧拉法求初值问题 在处的近似值。程序:#includefloat f(float x,float y) /*定义函数f返回y-(2x/y)的值*/ float z; z=y-(2*x/y); return(z);void main() int i=0,N; float x0,y0,h,x,y; printf(input x0,y0,h,N:); scanf(%f,%f,%f,%d,&x0,&y0,&h,&N); /*输入起始点x0、y0及步长h、步数N的值*/for(;iN;i+) /*用欧拉法求出每步的x以及对应的y的值*/ y=y0+f(x0,y0)*h; /*用

8、欧拉公式y=y0+hf(x0,y0)求y的值*/ x=x0+h; x0=x; y0=y; printf(n x=%4.2f, y=%f,x,y); /*输出运算到第i+1步时x、y的值*/ getch();_程序运行结果如下图:编程作业2: 用改进欧拉法求初值问题 在处的近似值。程序:#includefloat f(float x,float y) /*定义函数f返回y-(2x/y)的值*/ float z; z=y-(2*x/y); return(z);void main() int i=0,N; float x0,y0,h,x1,y1; printf(ninput x0,y0,h,N:);

9、 scanf(%f,%f,%f,%d,&x0,&y0,&h,&N); /*输入起始点x0、y0及步长h、步数N的值*/ for(;iN;i+) /*用改进欧拉法求出每步的x以及对应的y的值*/ x1=x0+h; y1=y0+f(x0,y0)*h; /*求预报值y1=y0+hf(x0,y0)的值*/ y1=y0+(f(x0,y0)+f(x1,y1)*h/2; /*求校正值y1=y0+hf(x0,y0)+f(x1,y1)/2的值*/ x0=x1; y0=y1; printf(n x=%4.2f, y=%f,x1,y1); /*输出运算到第i+1步时x、y的值*/ getch();程序运行结果如下图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1