秦九韶算法

数值分析实验报告
实验序号:1 班级 实验名称 实验所用软件及版本 10 应数 A 班 姓名 秦九韶算法 Maltab 2008 梁光佐 日期:2013 年 10 月 24 日 学号 201005050110

1、实验目的 进一步理解秦九韶算法的设计思路和算法流程,培养动手实践能力和分析能力。 2、实验内容 用秦九韶算法求多项式 p( x) ? 3x 5 ? 2 x 3 ? x ? 7 在 x ? 3 处的值。

3、详细设计 (1)用(4.1)式及(4.2)式构造出下列计算表格 常数项

x 5 系数

x 4 系数

x 3 系数

x 2 系数

x1 系数

x* ? 3

a0 ? 3

a1 ? 0

a2 ? ?2

a3 ? 0 b2 x* ? 75

a4 ? 1

a5 ? 7

b0 x* ? 9

b1 x* ? 27

b3 x* ? 225 b4 x* ? 678

x* ? 3

b0 ? 3

b1 ? 9

b2 ? 25

b3 ? 75 c2 x* ? 237

b4 ? 226

b5 ? 685

c0 x* ? 9
c0 ? 3
c1 ? 18

c1 x* ? 54
c2 ? 79

c3 x* ? 936
c4 ? 1162

c3 ? 312

此处 b5

? p(3) ? 685 c4 ? q(3) ? p ' (3) ? 1162

秦九韶程序: function [p_x0,dp_x0]=qinjiushao(A,x0) %A 表示多项式系数矩阵,x0 为所求多项值点。 n=size(A,2); %n 求出多项式系数个数 B=zeros(n); B(1)=A(1); C(1)=A(1); for i=1:n-1 B(i+1)=B(i)*x0+A(i+1); end for i=1:n-2 C(i+1)=C(i)*x0+B(i+1); end

p_x=poly2sym(A,'x') %输出原多项式 p_x_1=horner(p_x) %输出嵌套的多项式 disp('-----------------------------------------------'); p_x0=B(n) %返回 p(x0)的值 dp_x0=C(n-1) %返回 p(x)的一阶导数在 x0 处的值 计算: clear A=input('给出多项式 p(x)从高次到低次的所有系数构成矩阵,缺项系数 0 补齐\nA='); disp('-----------------------------------------------'); x0=input('给出要求解的 p(x0)的点\nx0='); disp('-----------------------------------------------'); tic qinjiushao(A,x0); toc 4、实验结果与分析 给出多项式 p(x)从高次到低次的所有系数构成矩阵,缺项系数 0 补齐 A=[3 0 -2 0 1 7] ----------------------------------------------给出要求解的 p(x0)的点 x0=3 ----------------------------------------------p_x = 3*x^5 - 2*x^3 + x + 7 p_x_1 = x*(x^2*(3*x^2 - 2) + 1) + 7 ----------------------------------------------p_x0 = 685 dp_x0 = 1162 Elapsed time is 0.101758 seconds.

5、实验总结 通过实验让我更了解了秦九韶算法的步骤和流程,通过编程减少了运算步骤的繁琐,大 大提高了工作效率和运算速度。

6、教师评语及评分


相关文档

秦九韶算法和进位制
秦九韶法
1.3 算法案例2---秦九韶算法9
高中数学:1.3《算法案例---秦九韶算法》测试(新人教A版必修3)
高二数学秦九韶算法
高一数学秦九韶算法课件
高一数学ppt 课件秦九韶算法
关于“秦九韶算法”教学的一些思考-精选教育文档
数学:1.3.2《算法案例》(秦九韶算法)课件(人教A版必修3)
高中数学 1.3《算法案例---秦九韶算法》同步测试 新人教版必修3
电脑版