三.多项式运用
%多项式表示 p = [1 ,0, 3, 4]; %矩阵中的元素表示项的系数,从最高项开始 此处为: x^3 + 3 x + 4 pr = poly2str(p, 'x'); %多项式化为字符串 pr %多项式相加 x^3 + 2 x^2 + x a = [1, 0, 0, 2]; %没有的项系数用0表示 b = [1, 1, 0]; %由于b的项数与a的不一样,少一个,所以需要补项 b = [0, 1, 1, 0]; %补项 q = a + b; pr = poly2str(q, 'x'); pr %多项式相乘 x^3 + 2 x^2 + x a = [1, 0, 0, 2]; %没有的项系数用0表示 b = [1, 1, 0]; q = conv(a, b); %相乘 pr = poly2str(q, 'x'); pr %多项式相除 x^3 + 2 x^2 + x a = [1, 0, 0, 2]; %没有的项系数用0表示 b = [1, 1, 0]; [q, r] = deconv(a, b); %相除,其中q是商,r是余子式 pr = poly2str(q, 'x'); qr = poly2str(r, 'y'); pr, qr %方阵的特征多项式 a = [1 2 3; 3 4 5; 4 5 6]; q = poly(a); %求多项式 pr = poly2str(q, 'x'); pr %求导 x^3 + 2 a = [1, 0, 0, 2]; %没有的项系数用0表示 p = polyder(a); pr = poly2str(p, 'x'); pr %对多项式乘积求导 x^3 + 2 x^2 + x a = [1, 0, 0, 2]; %没有的项系数用0表示 b = [1, 1, 0]; p = polyder(a, b); pr = poly2str(p, 'x'); pr %多项式除以多项式求导 %多项式相除 x^3 + 2 x^2 + x a = [1, 0, 0, 2]; %没有的项系数用0表示 b = [1, 1, 0]; [num, den] = polyder(a, b); %num, den分别保存着多项式相除求导之后的分子与分母 p1 = poly2str(num, 'x'); p2 = poly2str(den, 'x'); p1, p2 %多项式的拟合 x = 0: 0.1: 1; y = [2.1 2.3 2.5 2.9 3.2 3.3 3.8 4.1 4.9 5.4 5.8] ; p = polyfit (x , y , 6) ; pa = poly2str( p, 'x') pa %求多项式的根 x^2 - 1 = 0 a = [1, 0, -1]; r = roots(a) %求多项式在某点附近的零点 求x = sin(x^2)在1附近的零点 x = fzero('x - sin(x).^2', 1); x 对于最后一个求在某个值附近求零点的问题,有时候可能会出现在你想要求得那个值的附近没有零点,这个时候可以先把它的图形画出来,然后就可以大致看到零点在哪个值附近,进而再求零点即可