秦九韶算法
数值分析实验报告实验序号:1日期:2013 年 10 月 24 日班级10应数A班姓名梁光佐学号201005050110实验名称秦九韶算法实验所用软件及版本Maltab 20081、实验目的进一步理解秦九韶算法的设计思路和算法流程,培养动手实践能力和分析能力。2、实验内容用秦九韶算法求多项式P(x) - 3x5 -2x3 + x + 7在x - 3处的值。3、详细设计(1)用(4.1)式及(4.2)式构造出下列计算表格x5系数x4系数x3系数x2系数x1系数常数项x * = 3a = 30a = 0ia = 22a = 03a = 14a = 75b x* = 90b x * = 27ib x* = 752b x* = 2253b x* = 6784x * = 3b = 30b = 9ib = 252b = 753b = 2264b = 6855c x * = 90c x* = 54ic x* = 2372c x* = 9363c = 30c = 18ic = 792c = 3123c = 11624此处 b 二 p(3)二 685 c 二 q(3)二 p'(3)二 116254秦九韶程序: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-1B(i+1)=B(i)*x0+A(i+1);endfor i=1:n-2C(i+1)=C(i)*x0+B(i+1);endP_x=poly2sym(A,'x') %输出原多项式 p_x_l二horner(p_x) %输出嵌套的多项式 disp(p_x0=B(n) %返回 p(x0)的值 dp_xO=C(n-l) %返回p(x)的一阶导数在x0处的值');计算:clearA=input('给出多项式p(x)从高次到低次的所有系数构成矩阵,缺项系数0补齐nA=');disp(');x0=input('给出要求解的p(x0)的点nx0=');disp(');ticqinjiushao(A,x0);toe4、实验结果与分析给出多项式p(x)从高次到低次的所有系数构成矩阵,缺项系数0补齐A=3 0 -2 0 1 7给出要求解的p(x0)的点x0=3p_x =3*xA5 - 2*xA3 + x + 7p_x_l=x*(xA2*(3*xA2 - 2) + 1) + 7p_x0 =685dp_x0 =1162Elapsed time is 0.101758 seconds.5、实验总结通过实验让我更了解了秦九韶算法的步骤和流程,通过编程减少了运算步骤的繁琐,大 大提高了工作效率和运算速度。6、教师评语及评分