📄 rootnewtonhilldown.cpp
字号:
//RootNewtonHillDown.cpp
//牛顿下山法求解代数方程全部根(实根和复根)
#include <iostream> //输入输出流头文件
#include "NonLinearEquation.h" //非线性方程(组)求解头文件
using namespace std; //名字空间
void main(void)
{
int i, ii;
cout << "RootNewtonHillDown()" << endl << endl;
//验证实系数
valarray< complex<double> > ca(6);
double a[7] = {-20, 7, -7, 1, 3, -5, 1};
valarray<double> va(a, 7);
cout << "Result (Algebra Equation with Real Coefficient): " << endl << endl;
i = RootNewtonHillDown(va, ca);
if (i > 0)
for(ii = 0; ii < 6; ii++)
cout << "ca(" << ii << ") = " << ca[ii] << endl;
//验证复系数
complex<double> ccb[6] =
{
complex<double>(0.1, -100.0), complex<double>(21.33, 0.0),
complex<double>(4.9, -19.0), complex<double>(0.0, -0.01),
complex<double>(3.0, 2.0), complex<double>(1.0, 0.0)
};
valarray< complex<double> > cbb(5);
cout << endl << "Result (Algebra Equation with Complex Coefficient): " << endl << endl;
i = RootNewtonHillDown(ccb, cbb);
if (ii > 0)
for(size_t ii = 0; ii < 5; ii++)
cout << "cb(" << ii << ") = " << cbb[ii] << endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -