多项式及其函数
多项式及其函数
Matlab用一维向量表示多项式
例:创建一个通用的一维向量转化为字符串格式的表达式
function s = pprintf(p) %pprintf 该函数可将一维向量转变为字符串格式的数学表达式 % p:输入参数,格式为一维向量 % s:输出参数,格式为字符串 if nargin>1 %输入参数过多时的判断 error("Too much input arguements"); end while(p(1)==0) %输入向量的元素全为0 p(1)=[]; end L=length(p); %计算向量长度 s=''; for v=1:L if p(v)==0 %当常数项为0 continue; elseif L==1 %当向量长度为1 s=strcat(num2str(p(v))); elseif v==L %当v为向量最后一个值 s=strcat(s,'+',num2str(p(v))); elseif v==1 %当v为向量第一个值 s=strcat(num2str(p(v)),'x^{',num2str(L-v),'}'); elseif p(v)==1 当向量元素的值为1 s=strcat(s,'+','x^{',num2str(L-v),'}'); else s=strcat(s,'+',num2str(p(v)),'x^{',num2str(L-v),'}'); end end end
执行以下脚本(创建一个图形窗口把该函数表达式字符串设置为标题):
p=[5 4 6 1 0 8 7 6];
figure;
title(pprintf(p));
运行结果:
求解多项式的根,对方程 求解
p=[3 -2 -4];
r=roots(p)
解得:
r =
1.5352
-0.8685
r =
roots(
p
)
以列向量的形式返回 p
表示的多项式的根。输入 p
是一个包含 n+1
多项式系数的向量,以 x 系数开头。0
系数表示方程中不存在的中间幂。例如:p = [3 2 -2]
代表多项式 3x2+2x−2。