三.多项式运用
%多项式表示
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
对于最后一个求在某个值附近求零点的问题,有时候可能会出现在你想要求得那个值的附近没有零点,这个时候可以先把它的图形画出来,然后就可以大致看到零点在哪个值附近,进而再求零点即可