0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 function pzm = fromPolesAndZeros(pzm, pli)
0017
0018 VERSION = '$Id: fromPolesAndZeros.m,v 1.6 2008/08/08 13:34:56 anneke Exp $';
0019
0020
0021
0022 ii = pzmodel.getInfo('pzmodel', 'From Poles/Zeros');
0023
0024
0025 ii.setMversion([VERSION '-->' ii.mversion]);
0026
0027
0028 pl = combine(pli, ii.plists(strcmp(ii.sets, 'From Poles/Zeros')));
0029
0030
0031 pzm.gain = find(pl, 'gain');
0032 ps = find(pl, 'poles');
0033 zs = find(pl, 'zeros');
0034
0035
0036 pzm.poles = [];
0037 for kk = 1:length(ps)
0038 if ~isnan(ps(kk).f)
0039 pzm.poles = [pzm.poles ps(kk)];
0040 end
0041 end
0042
0043
0044 pzm.zeros = [];
0045 for kk = 1:length(zs)
0046 if ~isnan(zs(kk).f)
0047 pzm.zeros = [pzm.zeros zs(kk)];
0048 end
0049 end
0050
0051 name = find(pl, 'name');
0052 if ~isempty(name)
0053 pzm.name = name;
0054 end
0055
0056
0057
0058 pzm.addHistory(ii, pli, [], []);
0059
0060
0061 pl = combine(pli, ii.plists(strcmp(ii.sets, 'From Poles/Zeros')));
0062
0063
0064 pzm.gain = find(pl, 'gain');
0065 ps = find(pl, 'poles');
0066 zs = find(pl, 'zeros');
0067
0068
0069 pzm.poles = [];
0070 for kk = 1:length(ps)
0071 if ~isnan(ps(kk).f)
0072 pzm.poles = [pzm.poles ps(kk)];
0073 end
0074 end
0075
0076
0077 pzm.zeros = [];
0078 for kk = 1:length(zs)
0079 if ~isnan(zs(kk).f)
0080 pzm.zeros = [pzm.zeros zs(kk)];
0081 end
0082 end
0083
0084 name = find(pl, 'name');
0085 if ~isempty(name)
0086 pzm.name = name;
0087 end
0088
0089
0090
0091 pzm.addHistory(ii, pli, [], []);
0092
0093
0094 end