📄 polyevl.m
字号:
function [array,key] = polyevl(string)
%POLYEVL is a MATLAB function which can be used to get the poly-
% nomial within a string which does not contain the brackets.
% This function is only called by TFMODEL.m
% Author: Ole Barup Sorensen, Rapid Data Ltd
% Copyright (c) 1989-94 by Rapid Data Ltd
% Revision 10:29 07/02/94
str = string(2:length(string));
is = find(str=='+'|str=='-'); is = is+ones(size(1,length(is)));
array = []; key = 1; i0 = 1; is0 = [];
for i=1:length(is)
if (string(is(i)-1)~='e'), is0 = [is0 is(i)]; end
end, is0 = [is0 length(string)+1];
for i=1:length(is0),
if (i0>1), if (string(i0-1)=='-'), i0=i0-1; end, end
substr = string(i0:is0(i)-1); i0 = is0(i)+1;
is = find(substr=='s'|substr=='S');
if length(is) == 0,
k0 = 0; v1 = str2num(substr);
if isempty(v1)==1, key=0; end
if key==0, return; end
elseif length(is)==1,
if (is==1), v1 = 1;
elseif (is==2&substr(1)=='-'), v1=-1;
else, v1 = str2num(substr(1:is-1));
if isempty(v1)==1, key=0; end
if key==0, return; end
end,
if is==length(substr), k0 = 1;
else, k0 = str2num(substr(is+1:length(substr)));
if isempty(k0)==1, key=0; end
if key==0, return; end
k0 = floor(k0);
end
else, disp('Too many s'''); return; end
if (length(array)<k0+1), array(k0+1) = v1;
else, array(k0+1) = array(k0+1)+v1;
end, key = 1;
end
array = array(length(array):-1:1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -