intfromstr_dot.m
来自「拥有matlab用户界面的卡尔曼滤波程序」· M 代码 · 共 50 行
M
50 行
function s=intfromstr_dot(answer)
%Distill integers from a string,dot as -1;
p=1;q=1;k=0;v=0;i=1;
l=length(answer);
while i<=l-1
if isnumber(answer(i)) & ~isnumber(answer(i+1))
k=k+1;
s(k)=str2num(answer(i));
i=i+1;
elseif isnumber(answer(i)) & isnumber(answer(i+1))
j=i;
while j<=l & isnumber(answer(j));
t(p)=str2num(answer(j));
p=p+1;
j=j+1;
end
for p=length(t):-1:1
v=v+t(q)*10^(p-1);
q=q+1;
end
k=k+1;
s(k)=v;
i=i+length(t);
p=1;q=1;v=0;t=0;
elseif answer(i)=='.'
k=k+1;
s(k)=-1;
i=i+1;
while answer(i)=='.' & i<l
i=i+1;
end
else
i=i+1;
end
end
if i==l
if isnumber(answer(i))
k=k+1;
s(k)=str2num(answer(i));
elseif answer(i)=='.' & l>1 & answer(i-1)~='.'
k=k+1;
s(k)=-1;
elseif answer(i)=='.' & l==1
k=k+1;
s(k)=-1;
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?