哈尔滨工程大学机电工程学院。
综合实践大作业。
2023年 7 月 10 日。
作业名称: 非线性方程求根完成日期: 15 年 6月 1日。
已知方程,请分别用二分法、牛顿法和割线法求此方程的根。误差限取:。注意先确定出方程的有根区间。
f(0)=0+0-1<0
f(1)=1+2-e>0
所以在区间[0,1]内有根。
2、程序流程图。
三、完整的程序及简要的注释。
#include <>
#include <>
* f(x)函数 */
double f(double x)
return x*x*x + 2*x*x -exp(x);
* f(x)的导数 */
double fd(double x)
return 3*x*x + 4*x - exp(x);
* 二分法 */
* 输入参数:区间[a,b]、区间精度ex、函数精度ey */
void bipartition(double a, double b, double ex, double ey)
printf("二分法求根");
double x, fx; /中间点及其函数值
int k = 1计数器
while(1)k++;
* 牛顿迭代法 */
* 输入参数:初值x0、区间精度ex、函数精度ey */
void newtonroot(double x0, double ex, double ey)
double x1, fx1, fdx0;
int k = 1;
printf("牛顿法求根");
while(1)k++;
* 割线法 */
* 输入参数:初值x1,x2、区间精度ex、函数精度ey */
void gexian(double x1,double x2,double ex, double ey) while(fabs(x2-x1)>ex&fabs(f(x2))>ey);
printf("n3=%d",n3);
* 在主函数中运行各种求解方法 */
int main(void)
// 二分法计算
/ bipartition(0,1,0.000000000001,0.000000000001);
// 牛顿法
newtonroot(1,0.000000000001,0.000000000001);
//割线法。
gexian(0.5,1,0.000000000001,0.000000000001);
return 0;
四、程序运行结果。
1、计算公式及计算方法(手写在作业最后即可。
五、对不同实现方法的运行结果进行比较。
从收敛速度,精度比较即可】
六、问题与总结(必须给出自评成绩a/b/c/d)
【写出简要总结】
自评成绩:】
《工程常用算法》综合实践作业一
完成日期 2010年11月15日。小组成员 学号姓名。学号姓名。学号姓名。已知方程,请用二分法 牛顿法和割线法求此方程实根的近似值,使误差不超过0.0001。注意先确定出方程的有根区间。完成二分法 牛顿法 割线法 二 程序流程图。三 完整的程序。1 二分法 include include doubl...
工程常用算法综合实践作业
工程常用算法 综合实践作业三。完成日期 年月日。一 作业题目。用复化simpson 复化cotes和复化romberg公式计算,精确到小数点后12位,比较不同方法的计算结果。二 程序流程图。sinpson法。科斯特法。龙贝格法。三 完整的程序及简要的注释。辛普森法。function simpson ...
《工程常用算法》综合实践作业七
完成日期 2010年12月20日。小组成员 学号姓名。学号姓名。学号姓名。常微分初值问题如下 请用euler方法 四阶经典runge kutta格式和四阶adams方法求解。要求 任选一种方法,但希望得到 优秀 成绩的小组必须完成后两种求解方法。完成四阶经典runge kutta 四阶adams 二...