📄 main.cpp
字号:
//数值分析编程主函数
//该主函数中包括全部算法的示例,示例中所用的函数请在各个.cpp文件中修改
//梁霄(C) 11/27/2005
#include"Algorithm.h"
#include"DifEquation.h"
#include"DifValue.h"
#include"LinearApprox.h"
#include"Integral.h"
#include"Insert.h"
void main()
{
//二分法求根
BiSect::Root(1,1.5,0.0005);
//拉格朗日插值法
GivenPoint input[3];
double inroot;
input[0].X=100;
input[0].Y=10;
input[1].X=121;
input[1].Y=11;
input[2].X=144;
input[2].Y=12;
inroot=115;
Lagrange La(input,inroot,3);
cout<<"Result:"<<La.DoIt()<<endl;
//分段线性插值法
cout<<"--------Separate Linear Insert Method--------"<<endl;
double a[5]={1,2,3,4,5};
double b[5]={2,4,6,8,10};
SepLinear::Separate(a,b,5,2.5);
//直线拟合
double x[5]={165,123,150,123,141};
double y[5]={187,126,172,125,148};
LinearApprox::Approx(x,y,5);
//一般积分法:梯形法
cout<<"--------Common Integral:Trapezoid Method--------"<<endl;
cout<<CommonIntegral::Trapezoid(0,1)<<endl;
//一般积分法:辛普森法
cout<<"--------Common Integral:Simpson Method--------"<<endl;
cout<<CommonIntegral::Simpson(0,1)<<endl;
//一般积分法:牛顿-科特斯法
cout<<"--------Common Integral:Newton-Cotes Method--------"<<endl;
cout<<CommonIntegral::Newton_Cotes(0,1)<<endl;
//复化积分法:梯形法
cout<<"--------Complex Integral:Trapezoid Method--------"<<endl;
cout<<ComplexIntegral::ComplexTrapezoid(0,1,4)<<endl;
//复化积分法:辛普森法
cout<<"--------Complex Integral:Simpson Method--------"<<endl;
cout<<ComplexIntegral::ComplexSimpson(0,1,4)<<endl;
//复化积分法:牛顿-科特斯法
cout<<"--------Complex Integral:Newton-Cotes Method--------"<<endl;
cout<<ComplexIntegral::ComplexNewton_Cotes(0,1,4)<<endl;
//变步长积分法:梯形法
cout<<"--------Alternate Increment Integral:Trapezoid Method--------"<<endl;
cout<<AltIncrementIntegral::AltIncrementTrapezoid(0,1,4)<<endl;
//欧拉方法
Euler::CommonEuler(0,1,0.1);
//改进欧拉方法
Euler::ImprEuler(0,1,0.1);
//四阶龙格库塔方法
RongeKutta::RongeKutta4(0,1,0.2);
//牛顿法
Newton::CommonNewton(0.5);
//快速弦截法
ChordCut::Chord(0.5,0.6);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -