]> Creatis software - CreaPhase.git/blob - octave_packages/control-2.3.52/@tfpoly/__remove_leading_zeros__.m
Add a useful package (from Source forge) for octave
[CreaPhase.git] / octave_packages / control-2.3.52 / @tfpoly / __remove_leading_zeros__.m
1 ## Copyright (C) 2009, 2011   Lukas F. Reichlin
2 ##
3 ## This file is part of LTI Syncope.
4 ##
5 ## LTI Syncope is free software: you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation, either version 3 of the License, or
8 ## (at your option) any later version.
9 ##
10 ## LTI Syncope is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 ## GNU General Public License for more details.
14 ##
15 ## You should have received a copy of the GNU General Public License
16 ## along with LTI Syncope.  If not, see <http://www.gnu.org/licenses/>.
17
18 ## -*- texinfo -*-
19 ## Remove leading zeros from a polynomial, except for polynomials
20 ## which are of length 1.  For internal use only.
21
22 ## Author: Lukas Reichlin <lukas.reichlin@gmail.com>
23 ## Created: September 2009
24 ## Version: 0.2
25
26 function p = __remove_leading_zeros__ (p)
27
28   idx = find (p.poly != 0);
29
30   if (isempty (idx))
31     p.poly = 0;
32   else
33     p.poly = p.poly(idx(1) : end);  # p.poly(idx) would remove all zeros
34   endif
35
36 endfunction