Portál AbcLinuxu, 14. května 2025 04:22

Dotaz: Metoda nejmensich ctvercu v Octave?

14.5.2007 02:40 RAM | skóre: 1
Metoda nejmensich ctvercu v Octave?
Přečteno: 943×
Odpovědět | Admin

Zdravim,

potreboval bych v Octave nasledujici vec: Nactu si ze souboru sadu dat a tuto sadu bych potreboval prolozit krivkou tak aby soucet ctvercu byl minimalni. V GNU PLotu na to existuje takova fukce, ze si proste zvolim zvolim funkci, napr.:

f(x) = a + b * 2.71**(-x/c)

a pak zadam napr.:

fit f(x) "data.dat" using 1:2:3 via a,b,c

a GNU Plot mi pak vyhodi hodnoty parametru a, b a c. Neslo by neco takoveho i v Octave?

Predem diky za odpoved


Roman

Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.5.2007 12:12 ---
Rozbalit Rozbalit vše Re: Metoda nejmensich ctvercu v Octave?
Odpovědět | | Sbalit | Link | Blokovat | Admin
V octave-forge je funkce leasqr. Nezkousel jsem. Nebo zkuste obecnejsi funkci sqp (je v Octave2.9, debian etch):
function y = model(p, x)
  a = p(1);
  b = p(2);
  c = p(3);
  y = a + b * exp(- x / c);
endfunction

function rsq = reziduum(p, x, y)
  r = model(p, x) - y;
  rsq = r' * r;
endfunction

function p = datafit(x, y)
  p0 = [0;1;1];
  [p,obj,info,iter,nf,lambda] = sqp(p0, @(p) reziduum(p, x, y), [], [])
endfunction
15.5.2007 10:30 RAM | skóre: 1
Rozbalit Rozbalit vše Re: Metoda nejmensich ctvercu v Octave?
Diky, testoval jsem to a funguje to tak, jak jsem si predstavoval.

Roman
14.5.2007 15:10 huhu
Rozbalit Rozbalit vše Re: Metoda nejmensich ctvercu v Octave?
Odpovědět | | Sbalit | Link | Blokovat | Admin
pokud si dobre vzpominam, zalezi na predpokladech o typu fce, ktera je daty reprezentovana. Pro data, ktera neodpovidaji 1/(x+a)^j muzete pouzit treba aproximaci aproximacnim polynomem, fce polyfit. Pokud mi sem date email, poslu Vam prikladek, ktery jsem kdysi v ramci numericke matematiky na aproximaci delal.
15.5.2007 10:31 RAM | skóre: 1
Rozbalit Rozbalit vše Re: Metoda nejmensich ctvercu v Octave?
Je sice pravda, ze ten predchozi priklad funguje, ale pokud byste byl tak hodny a poslal mi i ten vas, rad jej otestuju a priucim se zase neco noveho. Mail je: astro_x [zavinac] post.cz

Roman

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.