题目
编写程序,使用 <code>polyder()</code> 计算多项式 $f(x) = 4x^3 - 3x^2 + 2x - 5$ 的一阶导数多项式,并演示求两多项式乘积导数及商式导数的语法。
输入格式:无需外部输入。
输出格式:输出原多项式与求导后的各项系数。
数据范围与约定:多项式求导。
思路与算法
1. polyder 单输入dp = polyder(p) 自动根据幂函数求导法则 $k \cdot a_k x^{k-1}$ 输出导数多项式系数。
2. 乘积求导dp = polyder(a, b) 计算 $(A(x)B(x))'$ 的导数。
3. 商式求导[num, den] = polyder(a, b) 计算 $(\frac{A(x)}{B(x)})'$ 的分子多项式与分母多项式。
完整程序
% Octave / MATLAB 第84题:多项式解析求导 polyder
p = [4, -3, 2, -5]; % 4x^3 - 3x^2 + 2x - 5
% 1. 一阶导数 (理论: 12x^2 - 6x + 2)
p_der = polyder(p);
% 2. 二阶导数
p_der2 = polyder(p_der);
fprintf("原多项式: 4x^3 - 3x^2 + 2x - 5\n");
fprintf("一阶导数 polyder(p): %s (对应 12x^2 - 6x + 2)\n", mat2str(p_der));
fprintf("二阶导数 polyder(p_der): %s (对应 24x - 6)\n", mat2str(p_der2));运行示例
输出:
原多项式: 4x^3 - 3x^2 + 2x - 5
一阶导数 polyder(p): [12 -6 2] (对应 12x^2 - 6x + 2)
二阶导数 polyder(p_der): [24 -6] (对应 24x - 6)