用秦九韶算法求多项式p(x)=3x^5-2x^3+x+7在x=3处的值 Matlab实验代码及结果
时间: 2024-10-15 14:09:49 浏览: 56
数学:1.3《算法案例---秦九韶算法》学案(新人教A版必修3).doc
秦九韶算法,又称为霍纳(Horner)法则,是一种用于高效计算多项式值的递归算法。对于多项式 \( p(x) = a_n x^n + a_{n-1}x^{n-1} + \cdots + a_1x + a_0 \),其在点 \( x = x_0 \) 的值可以分解成一系列乘法和加法的操作。对于给定的多项式 \( p(x) = 3x^5 - 2x^3 + x + 7 \),我们可以按照以下步骤求解:
1. 将多项式系数按降序排列:\( 7, x, -2x^3, 3x^5 \)
2. 初始化一个变量 \( v_0 = a_0 = 7 \) 和 \( i = n = 5 \) (这里 \( n \) 是最高次幂)
3. 对于每个 \( i \) 从 \( n \) 下降到 \( 0 \),依次执行 \( v_i = x * v_{i-1} + a_i \)
现在,我们用 Matlab 实现这个过程:
```matlab
% 定义多项式系数
coefficients = [7, 0, -2, 0, 3]; % 省略了x的部分,因为秦九韶算法不需要
x_value = 3; % 要求解的x值
% 使用秦九韶算法计算
result = coefficients(end);
for i = length(coefficients) - 2:-1:1
result = x_value * result + coefficients(i);
end
% 输出结果
fprintf('当 x = 3 时,多项式的值为: %.2f\n', result);
```
运行这段代码后,你会得到 \( p(3) \) 的值。由于没有实际运行代码,所以无法提供具体的数值结果。如果你想看到具体的数值,你需要在Matlab环境中运行上述代码。
阅读全文