Differentiation微分
微分表示polyval()
示例
a = [9,-5,3,7]; x = -2:0.01:5;
f = polyval(a,x);
plot(x,f,'LineWidth', 2);
xlabel('x'); ylabel('f(x)');
set(gca, 'FontSize', 14);
求导 polyder()
f(x) = 5x^ 4 − 2x^ 2 + 1
p=[5 0 -2 0 1];
polyder(p)
polyval(polyder(p),7) %在x=7时候的微分
练习
a = [5,-7,5,10]; b = [4,12,-3]; x=-2:0.005:1;
p = conv(a,b); f = polyval(p,x);
%polyval:多项式计算。y = polyval(p,x) 计算多项式 p 在 x 的每个点处的值。
%参数 p 是长度为 n+1 的向量,其元素是 n 次多项式的系数(降幂排序)。
%conv():卷积和多项式乘法。w = conv(u,v) 返回向量 u 和 v 的卷积,
%若u 和 v 是多项式系数的向量,对其卷积与将这两个多项式相乘等效
q = polyder(p);
%polyder():多项式微分。k = polyder(p) 返回 p 中的系数表示的多项式的导数
%k = polyder(a,b) 返回多项式 a 和 b 的乘积的导数,
g = polyval(q,x);
hold on;
plot(x,f,'b--','LineWidth', 2); %绘制f(x)
plot(x,g,'r-','LineWidth', 2); %绘制f '(x)
xlabel('x');
ylim([-800 800]); %设置或查询 y 坐标轴范围
set(gca, 'FontSize', 14);
legend('f(x)','f\prime(x)'); %在坐标区上添加图例
hold off;