例:某多项式系数p=[1 0 3 5 7 9];,将其转换成字符串的形式
function s=pprintf(p)
if nargin>1
error('Too much input arguments')
end
while p(1)==0
p(1)=[];
end
l=length(p);
if l==0
s='0';
elseif l==1
s=num2str(p(1));
elseif l==2
s=strcat(num2str(p(1)),'x+',num2str(p(2)));
elseif l>2
for i=1:l
if i==1
if p(i)==1
s=strcat('x^{',num2str(l-i),'}');
else
s=strcat(num2str(p(i)),'x^{',num2str(l-i),'}');
end
elseif i==1
s=strcat(s,'+',num2str(p(i)));
elseif i==l-1
s=strcat(s,'+',num2str(p(i)),'x');
else
if p(i)==0
else
s=strcat(s,'+',num2str(p(i)),'x^{',num2str(l-i),'}');
end
end
end
end
在命令行窗口输入:
p=[1 0 3 5 7 9];
figure;title(pprintf(p))
结果如下: