Zdrawím,
chtěl bych poradit s následujícím příkladem:
% aproximace korenu polynomu pomoci metody Durand-Kernerovou
% vstupní parametr je vektor polynomu (pol)
%výstupní parametr (roots) - koreny polynomu
function roots = dkm(pol)
%pocatecni hodnota
sv = 0.4+0.6i;
l = length(pol) - 1;
% vektor korenu
s = 1:1:l;
t = 0+0i; %promena slouzi k zasteveni iteraci, kdyz uz jsou hodnoty
pol = pol / pol(1); % normalizace polynomu (celý polynom se vydelí prvním koeficientem, aby koeficient byl roven 0)
% nastaveni pocatecnich korenu pro aproximaci
for i = 2:1:l;
s(i) = s(i - 1) * sv;
end
% iteranci promena
i = 0;
while not (t == s(l) && i < 100)% t==s(l) = zastaví cyklus, kdyz hodnata predchozi iterace se opakuji
t = s(l);
i = i + 1;
% algoritnusm výpočtu kořenů
for n = 1:1:l
d = 1+0i;
for m = 1:1:l
if not (m == n)
d = d * (s(n) - s(m));
end
end
r = 0+0i;
for h = 1:1:l
r = (r + pol(h)) * s(n);
end
s(n) = s(n) - (r + pol(l + 1)) / d;
end
end
roots = s;
musím to předělat pomocí funkcí varargin a varargout. A také jak přidělat vstup a výstup do souboru.