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

📄 polydiv.cpp

📁 计算机常用数值算法与程序(C++版) 压缩包解压时没有密码
💻 CPP
字号:
//PolyDiv.cpp				一维多项式除法示例

#include <iostream>			//输入输出流头文件
#include <polynomials.h>	//多项式头文件
using namespace std;		//名字空间

void main()
{
	cout << "PolyDiv()" << endl << endl;

	//多项式系数为实数
	cout << "Coefficients are real. Result is real: " << endl;

	double dCoffP[5] = {8.0,-5.0,-3.0,6.0,3.0};
    double dCoffQ[3] = {1.0,-1.0,2.0};

    valarray<double> vdCoffP(dCoffP,5), vdCoffQ(dCoffQ,3);
	valarray<double> vdCoffS(3), vdCoffR(2);

	cout.setf(ios::fixed|ios::left);	//输出数据为定点法,靠左对齐
	cout.precision(4);					//精度4位
	
    if(PolyDiv(vdCoffP, vdCoffQ, vdCoffS, vdCoffR) > 0)
	{
		for(size_t st = 0; st < 3; st++)
			cout << "dCoffS(" << st << ") = " << vdCoffS[st] << endl;
		
		cout << endl;
	
		for(st = 0; st < 2; st++)
			cout << "dCoffR(" << st << ") = " << vdCoffR[st] << endl;
	}
	
	cout << endl;

	//多项式系数为复数
	cout << "Coefficients are complex. Result is complex: " << endl;

	complex<double> cdCoffP[5] = 
	{
		complex<double>( 8.0,  3.0), 
		complex<double>(-5.0,  4.0), complex<double>(-3.0,  4.0),
		complex<double>( 6.0, -5.0), complex<double>( 3.0, -1.0)
	};

	complex<double> cdCoffQ[3] = 
	{
		complex<double>( 1.0,  2.0), 
		complex<double>(-1.0, -3.0), complex<double>(2.0, 2.0)
	};

	valarray<complex<double> > vcdCoffP(cdCoffP,5), vcdCoffQ(cdCoffQ,3);
	valarray<complex<double> > vcdCoffS(3), vcdCoffR(2);
	
	
    if(PolyDiv(vcdCoffP, vcdCoffQ, vcdCoffS, vcdCoffR) > 0)
	{
	    for (size_t st = 0; st < 3; st++)
			cout << "cdCoffS(" << st << ") = " << vcdCoffS[st] << endl;
	
		cout << endl;
	
		for (st = 0; st < 2; st++)
			cout << "cdCoffR(" << st << ") = " << vcdCoffR[st] << endl;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -