《数值计算》实验报告 学院:软件学院 专业:软件工程 班级:2班 实验名称 秦九昭算法
姓名 爱上辰 学号 1402120217 成绩
实验报告内容要求:
一.实验目的
编写秦九韶算法程序,并用该程序计算多项式623)(35+-+=x x x x f
在1.1=x ,2.1,3.1的值。
二.实验原理
秦九韶算法实际上就是多项式的化简。
根据秦九昭算法,变换成计算机语言,求多项式的值时,首先计算最内层括号内一次多项式的值,然后由内向外逐层计算一次多项式的值,这样,求n 次多项式f(x)的值就转化为求n 个一次多项式的值。
三.实验环境
Visual Studio 2013,C++语言
四.实验过程(编写的程序)
#include"iostream"
using namespace std;
void main()
{
int n;
float a[100], x, v[100];//存放系数
cout << "请输入项数:" << endl;
cin >> n;
cout << "请输入X 的值:" << endl;
cin >> x;
for (int i = 0; i < n; i++)//对每项系数进行赋值
{
cout << "请输入第" << i + 1 << "项的系数:" << endl;
cin >> a[i];
}
v[0] = a[0];//秦九昭算法第一次赋值
for (int j = 1; j< n;j++)//开始秦九昭算法的循环
v[j] = v[j-1] * x + a[j];
cout << "当x=" << x <<"时,f(x)="<< v[n-1] <<endl;
system("pause");
}
五.实验结果及分析
当X=1.1时,f(x)= 9.4035
当X=1.2时,f(x)= 11.2723
当X=1.3时,f(x)= 13.7039
六.实验反思
1.应该采用链表存贮系数,数组有限制性只能存放100项。
2. 注意项数,有的项系数为0,导致漏输进而导致结果错误。
3.注意变量应该为float型,避免出现强制转换而出现误差。