现在是设计一个把多项式的字符串转换成行向量表示的函数,错误如图所示(非法使用关键字 else)。
贴上源码,原谅我后面的没写注释,就别看后面的了。
代码:
%str2poly.m
%把多项式的字符串转换成行向量表示
function Y=str2poly(X)
if (ischar(X)==0)%格式检查
disp('输入错误,输入X必须是一个字符串!');
end;
index=regexp(X,'\+|\-');%用正则表达式寻找+或-的下标位置,|表示或
L=length(index);%多项式的项数
term=cell(1,L+1);%用于储存多项式每一项信息的单元字符串矩阵,cell(1,L+1)表示创建1行,L+1列的空矩阵。
term(1)=cellstr(X(1:(index(1)-1)));
for i=1:L-1
term(i+1)=cellstr(X(index(i):(index(i+1)-1)));
if (isempty(char(term(1)))) %如果第一项为空,则删除第一项
term(1)=[];
L=L-1;
end;
coefficient=[];%多项式系数矩阵
power=[]; %多项式幂次矩阵,它与多项式系数矩阵一一对应
for i=1:L+1
substring=char(term