Die Ergänzung mit Nullen kann man durch Zusammenhängen von Vektoren erreichen. Der Befehl zeros(1,l) erzeugt einen Zeilenvektor der der Länge für und ein leeres Array für . Dies kann man sich in diesem Fall zu Nutze machen.
Ausserdem eignet sich dieses Beispiel bestens für die Verwendung variabler Inputlisten. Dies hat den Vorteil, dass man dann beliebig viele Polynome mit einem Aufruf addieren kann. Dafür sind die Variablen nargin und varargin bestens geeignet:
function p = polyadd(varargin) p = []; for k = 1:nargin p1 = varargin{k}; p1 = p1(:).'; % k-tes Polynom, Zeilenvektor l = length(p); l1 = length(p1); % Längen p = ... end
Schön ist natürlich auch, wenn man alle führenden Nullen beseitigt, so dass
maximal eine überbleibt, wenn das Ergebnis das Polynom p=[0] ist. Dazu
kann man sich des Befehls find
bedienen und nach dem ersten Element
von suchen, das ungleich Null ist (min(find(p~=0))
).
Winfried Kernbichler 2005-04-26