MATLAB 秦九韶算法求解多项式 y = x^5 + 3x^3 - 2x + 6
MATLAB 秦九韶算法求解多项式 y = x^5 + 3x^3 - 2x + 6
本代码使用 MATLAB 实现秦九韶算法,求解多项式 y = x^5 + 3x^3 - 2x + 6 在 x = 1.1, 1.2, 1.3 时的值。
% 定义多项式系数
a = [1, 0, 3, 0, -2, 6];
% 定义输入的x
x = [1.1, 1.2, 1.3];
% 定义结果矩阵
y = zeros(1, length(x));
% 循环计算每一个x的结果
for i = 1:length(x)
    % 初始值为a_n
    result = a(end);
    % 从高次项开始计算
    for j = length(a)-1:-1:1
        % 使用秦九韶算法计算
        result = result * x(i) + a(j);
    end
    % 将结果保存到结果矩阵
    y(i) = result;
end
% 输出结果
disp(y);
代码解释
a = [1, 0, 3, 0, -2, 6];定义多项式的系数,从最高次项到常数项。x = [1.1, 1.2, 1.3];定义要计算的 x 值。y = zeros(1, length(x));创建一个与 x 值数量相同的数组,用于存储计算结果。for i = 1:length(x)循环遍历每个 x 值。result = a(end);初始化结果变量为多项式常数项。for j = length(a)-1:-1:1这是一个关键循环,用于实现秦九韶算法。循环从多项式系数的倒数第二个元素开始(即length(a)-1),每次递减 1,循环到第一个元素(即 1)。这样就可以从高次项开始计算多项式的值,使用秦九韶算法进行优化。result = result * x(i) + a(j);使用秦九韶算法计算当前 x 值对应多项式的值。y(i) = result;将计算结果保存到结果数组 y 中。disp(y);输出计算结果。
总结
这段代码使用 MATLAB 实现秦九韶算法,可以快速高效地计算多项式在多个 x 值时的值。代码中使用循环语句实现算法,并解释了循环语句的含义和作用。
原文地址: https://www.cveoy.top/t/topic/mkjG 著作权归作者所有。请勿转载和采集!