⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rootnewtonhilldown.cpp

📁 何光渝所著《计算机常用数值算法与程序(C++版)》的随书源代码。 是想学习C++科学计算的人士的必看代码。
💻 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 + -