B
BAT_MAN
Guest
Voisiko joku selittää minulle logiikka toimintoa tiedoston, vaikka kommentteja on esitetty, mutta en voinut ymmärtää
toiminto tekijät = factorize (polyn)
format long tekijät = [];
% Käyttää kynnys 1e-8 sijaan 0 tilille
% Tarkkuudella vaikutukset
Piestä = 1e-8;
%
proots = juuret (polyn),% saada nollilla ja polynomin
len = length (proots),% saat määrä nollia
%
while (len> 1)
if (abs (imag (proots (1))) <piestä)%, jos nolla on todellinen nolla
FAC = [1-real (proots (1))];
% Rakentaa tekijä proots (1) nolla
Tekijät = [tekijät; [FAC 0]];
else%, jos nolla on imaginaariosa saat kaikki nollia, joiden
% Imag osa-ve on kuvitteellista osa proots (1)
negimag = imag (proots) imag (proots (1));
% Saada kaikki nollia, jotka ovat samalla todella osittain proot (1)
samereal = real (proots)-real (proots (1));
% löytää Kompleksikonjugaatti nolla
indeksi = find (abs (negimag) <selkään & abs (samereal) <piestä);
jos (index)%, jos Kompleksikonjugaatti olemassa
FAC = [1 -2 * real (proots (1)) abs (proots (1)) ^ 2];
% muodossa 2nd jotta tekijä
Tekijät = [tekijät; FAC];
else%, jos Kompleksikonjugaatti ei ole
FAC = [1-proots (1)];
Tekijät = [tekijät; [FAC 0]];
loppu
loppu
polyn = deconv (polyn, FAC);
% deconvolve 1st/2nd järjestyksessä kertoimella polyn
proots = juuret (polyn),% määritellä uuden nollilla
len = length (polyn),% määrittää määrä nollia
loppu
toiminto tekijät = factorize (polyn)
format long tekijät = [];
% Käyttää kynnys 1e-8 sijaan 0 tilille
% Tarkkuudella vaikutukset
Piestä = 1e-8;
%
proots = juuret (polyn),% saada nollilla ja polynomin
len = length (proots),% saat määrä nollia
%
while (len> 1)
if (abs (imag (proots (1))) <piestä)%, jos nolla on todellinen nolla
FAC = [1-real (proots (1))];
% Rakentaa tekijä proots (1) nolla
Tekijät = [tekijät; [FAC 0]];
else%, jos nolla on imaginaariosa saat kaikki nollia, joiden
% Imag osa-ve on kuvitteellista osa proots (1)
negimag = imag (proots) imag (proots (1));
% Saada kaikki nollia, jotka ovat samalla todella osittain proot (1)
samereal = real (proots)-real (proots (1));
% löytää Kompleksikonjugaatti nolla
indeksi = find (abs (negimag) <selkään & abs (samereal) <piestä);
jos (index)%, jos Kompleksikonjugaatti olemassa
FAC = [1 -2 * real (proots (1)) abs (proots (1)) ^ 2];
% muodossa 2nd jotta tekijä
Tekijät = [tekijät; FAC];
else%, jos Kompleksikonjugaatti ei ole
FAC = [1-proots (1)];
Tekijät = [tekijät; [FAC 0]];
loppu
loppu
polyn = deconv (polyn, FAC);
% deconvolve 1st/2nd järjestyksessä kertoimella polyn
proots = juuret (polyn),% määritellä uuden nollilla
len = length (polyn),% määrittää määrä nollia
loppu