计算方法-1.1and1.2
来源:互联网 发布:淘宝网有电子吹管吗? 编辑:程序博客网 时间:2024/04/27 06:09
1.1
#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <cmath>using namespace std;const double value = 0.5;double f( double x ){return x * x * x - value;}double f_( double x ){//一次导函数return 3.0 * x * x;}int solve_bisection( double x1, double x2, double exps ){printf( "\nbisection method : \n" );int iteration = 0;double x3;do{iteration++;x3 = ( x1 + x2 ) / 2;printf( "iteration %d : x3: %lf\terror: %lf\n", iteration, x3, f( x3 ) );if( f( x3 ) == 0 ){break;}else if( f( x3 ) * f( x1 ) < 0 ){x2 = x3;}else{x1 = x3;}}while( abs( f( x3 ) ) > exps );printf( "solution : %lf\n", x3 );return 0;}int solve_secant( double x1, double x2, double exps ){printf( "\nLinear interpolation and secant methods : \n" );int iteration = 0;double x3;do{iteration++;x3 = ( x1 * f( x2 ) - x2 * f( x1 ) ) / ( f( x2 ) - f( x1 ) );printf( "iteration %d : x3: %lf\terror: %lf\n", iteration, x3, f( x3 ) );if( f( x3 ) == 0 ){break;}else if( f( x3 ) * f( x1 ) < 0 ){x2 = x3;}else{x1 = x3;}}while( abs( f( x3 ) ) > exps );printf( "solution : %lf\n", x3 );return 0;}int solve_Newton_Raphson( double x0, double exps ){ printf( "\nNewton-Raphson methods : \n" );printf( "starting from : %lf \n", x0 );int iteration = 0;double x = x0;do{iteration++;x = x - f( x ) / f_( x );printf( "iteration %d : x3: %lf\terror: %lf\n", iteration, x, f( x ) );}while( abs( f( x ) ) > exps );printf( "solution : %lf\n", x );return 0;}int main(){solve_bisection( 0, 1, 1e-4 );solve_secant( 0, 1, 1e-4 );solve_Newton_Raphson( 1, 1e-4 );//solve_Newton_Raphson( 0, 1e-4 );solve_Newton_Raphson( 3, 1e-4 );return 0;}
1.2
#include <iostream>#include <cstring>#include <cstdio>#include <cmath>using namespace std;const double PI = 3.1415926;double f( double x ){return sin( x ) - 0.5;}double g( double x ){return x + sin( x ) - 0.5;}int solve_Direct_iteration( double x0, double exps ){double pre = x0 , x = x0;int iteration = 0;do{iteration++;pre = x;x = g( x );printf( "iteration %d : x: %lf\terror: %.7lf\n", iteration, x, f( x ) );}while( abs( x - pre ) > exps );printf( "solution : %lf\n", x );return 0;}int main(){solve_Direct_iteration( PI / 2.0, 1e-6 );return 0;}
0 0
- 计算方法-1.1and1.2
- 计算方法
- 隐马尔可夫模型(HMM) - 2 - 概率计算方法
- 对2-9取余的计算方法
- 博主新软件发布 1and1 Mail 免费邮件群发软件
- 数据挖掘导论中3.2.2的百分位数计算方法
- java 数字精准计算方法,解析公式,类似 3*(1+2)
- 计算方法_拉格朗日插值_C++实现_方法2
- 【农历】计算方法
- 个人所得税计算方法
- CRC16计算方法
- Fibonacci计算方法
- 《计算方法》教学大纲
- IsLevelAchieved 计算方法
- 时间差计算方法
- 企业所得税计算方法
- iphoneMD5计算方法
- 税金计算方法
- 黑马程序员___LinkedList
- java开发者应收藏的41个国外网站
- html5 canvas基本图形绘制
- const总结
- field cannot be modified delphi
- 计算方法-1.1and1.2
- /etc/sysctl.conf 参数说明
- 杭电ACM HDOJ 2206 IP的计算
- 面向对象编程基础 一 匿名对象,函数重载和构造函数
- C++中的类型转换函数
- C++ 堆排序算法(大堆)
- 动态规划-循环数组的最大子数组和
- R cannot be resolved to a variable
- 主流列式数据库评测:InfiniDB和MonetDB