MATLAB求多项式系数及次数

 

多项式的次数

之前在网上找关于求多项式系数及次数的算法,发现只有系数可以找到,但是对于下面这种函数

f=t^5+t^3-2,利用Matlab自带的coeffs(f,t)函数只能得到看得到的此时的系数,即[ -2, 1, 1],而对于t^4,t^2,t前面的系数则直接省略了,这样会对多项式次数的判断起到误导作用,所以下面的程序是对原MATLAB自带命令的一种补充,同时输出各项系数及多项式的次数

代码

function [s1,n]=polydegree(p,x)

init=0;

p0=p;

while ~isreal(p)|p~=0

p=diff(p,x);

init=init+1;

end

init=init-1;

s=sym([]);

for i=1:1:init

s(i)=diff(p0,x,init-i+1)/(factorial(init-i+1));

p0=p0-s(i)*x^(init-i+1);

end

s1=[s p0];

s1=collect(s1,x);

n=length(s1)-1;

end

测试(关于t的次数):

当f=t^5+t^3-2;

当f=2*s*t^4+s*t-2;

相关阅读

Matlab中自定义函数(一)

作为一个程序员出生的Matlab学习者,不能定义函数那简直是受不了!! 最重要的一点! 定义函数的时候,很多时候都会很迷的一般,使用不了

matlab数字图像处理(一) 基本操作

1.1  MATLAB图像处理基本操作 本文中对于大多数的操作,是对数字图像处理领域中最为著名的“lena”图片进行操作的。原图如下(Figur

matlab中contour 函数的用法(绘制等高线)

原文contour矩阵的等高线图全页折叠语法contour(Z)contour(Z,n)contour(Z,v)contour(X,Y,Z)contour(X,Y,Z,n)contour(X,Y,Z,v)con

Matlab中regionprops的使用示例

有这样一幅图, 我们想获取其中的连通区域,可以使用以下代码: src_img_name = ‘blue_sky_white_clound_002594.jpg’;img = imread(src

Matlab绘图-很详细,很全面

Matlab绘图强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参

发表评论