Portál AbcLinuxu, 13. května 2025 03:18

Dotaz: Proložení grafu křivkou v gnuplot

stativ avatar 1.2.2007 15:43 stativ | skóre: 54 | blog: SlaNé roury
Proložení grafu křivkou v gnuplot
Přečteno: 1759×
Odpovědět | Admin
Takže potřeboval bych v gnuplotu proložit body křivkou. Nejlepší je IMHO použít bezierovu (ostatní typy mají tendenci být různě "zprohýbány" mezi jednotlivými body). Ovšem ta kapku ujíždí. A já bych právě potřeboval poradit, jestli je možno nějak upravit její parametry tak, aby byla proložena všemi body(v pravé části grafu evidentně nebere body moc v potaz). Vzhledem k jejím vlastnostem by to možné být mělo (alespoň z pohledu grafika).

data mám v souboru data.dat:
0.417 2.3
0.441 3.44
0.521 10.95
0.54 16.5
0.554 19.4
0.587 27.9
0.6 37
0.627 45.7
0.659 67.8
0.697 107.2
0.76 234
0.83 814
a vykreslení grafu provádím příkazem plot 'data.dat' with points, 'data.dat' smooth bezier. Ovšem výsledkem je takovéto "ujeté proložení grafu". Díky za nápady.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.2.2007 16:40 Petr Zelenka | skóre: 24 | Semice/Stuttgart (Sindelfingen)
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
Odpovědět | | Sbalit | Link | Blokovat | Admin

Hmm, tak popravdě nevím, jestli lze proložení beziérovou křivkou nějak ovlivnit a narychlo jsem nic takového neobjevil. Ale mohl byste si zkusit pohrát s fit (v gnuplotu help fit). Zkusil bych prokládat buď posunutou exponencielou nebo něčím jako x na n-tou.

A teď si uvědomte, jaký je vztah mezi krychlí a motýlem.
stativ avatar 1.2.2007 17:31 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
na fit nemam tak dobry matematický aparát, abych byl schopen zjistit, jaká rovnice je schopna vyjádřit voltampérovou charakteristiku diody (je to laborka z fyziky, sice bych to mohl nakreslit ručně...ale už z principu mně to zajímá). Mimochodem kvadratická to není (včera jsem s ní strávil u tohohle dost času).
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
1.2.2007 18:00 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
na fit nemam tak dobry matematický aparát, abych byl schopen zjistit, jaká rovnice je schopna vyjádřit voltampérovou charakteristiku diody (je to laborka z fyziky,

Taky nemám potřebný matematický aparát na odvození, ale Shockleyho rovnici diody uvádí každá učebnice elektroniky. Takže ano, kvadratická funkce nebude ideální - grafem uvedené funkce je zcela zřejmě exponenciála.

Každý má právo na můj názor!
masomlejn avatar 1.2.2007 18:13 masomlejn | skóre: 16
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
Zkusil sem si to vykreslit nasledovne:
  plot 'data.dat' u (1/$1):(log($2)) 
Vyleze z toho priblizne linearni zavislost. Potom sem definoval funkci
  f(x)=a*x + b  
a pomoci fit jsem spachal regresi:
 fit f(x) 'data.dat' u (1/$1):(log($2)) via a,b 
Dostal sem parametry a,b. No a pak sem definoval novou fci:
  f2(x) = exp(a*(1/x)+b) 
a vykreslil:
 replot f2(x) 
...no...ehm...vysledek nic moc. Nemam zadnou paru o voltamperovych charakteristikach diod, sem chemik a tadyto je oblibena metoda jak provadet regresi pri vypoctu ruznych termodynamickych velicin v zavislosti na teplote, treba tenze par, parcialni molarni dotatkova gibbsova energie v nekonecnem zredeni (to je zverstvo co:-)). Sou to veliciny exponencielne zavisle na teplote. Jinak se tomu taky rika zobrazeni ve van't Hoff souradnicich.
masomlejn avatar 1.2.2007 18:34 masomlejn | skóre: 16
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
Vysledkem "nic moc" mam namysli ten visuelni. Objektivne se to da samozrejme vyhodnotit z vazene sumy ctvercu rezidualnich odchylek (WSSR). Pokud se tato hodnota bude vyskytovat v intervalu chi-kvadrat rozdeleni (pro dany pocet stupnu volnosti) tak lze rict ze z hlediska statistiky je ten fit "OK". To je vse velmi zjednodiuseno! Nejsem matematik takze necht me povolani kdyztak opravi.
stativ avatar 1.2.2007 18:44 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
Diky za snahu, ale tohle nepotrebuji, potrebuji body tak jak jsou na vem miste, bez nejakeho presouvani. Akorat jimi prolozit tu krivku...zrovna zkousim tu Shockleyho rovnici ale moc se nedari...
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
1.2.2007 18:44 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot

Jako funkci f2(x) bych zvolil:

y = a*exp(bx)

kde b=1/(25*10^-3) a a=nějaký hodně malý číslo (10^-14) ;-)

Každý má právo na můj názor!
1.2.2007 19:33 Martin Tůma | skóre: 39 | blog: RTFM | Praha
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot

Tak při parametrech: a = 1e-14; b = 40e-3 a funkci y = a*exp(x/b) vznikne proložením pomocí fit zcela odpovídající graf.

Každý má právo na můj názor!
stativ avatar 2.2.2007 09:53 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
tyyy jo hustý...díky moc. Akorát že se mi stále nedaří :-(
a = 1e-14; b = 40e-3
f(x)=a*exp(x/b)
fit f(x) 'data.dat' via a,b
plot 'data.dat', f(x)
A graf fce je úplně mimo, začíná někde kolem x=10
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
2.2.2007 10:06 ams | skóre: 10
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
Tak toto je divne, ponevadz u me to generuje spravny obrazek. A co toto:
f(x)=0.00138451*exp(15.9964*x)
plot 'data.dat', f(x)
stativ avatar 2.2.2007 10:12 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
tak toto opravdu funguje, děkuji moc.
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk
stativ avatar 1.2.2007 19:12 stativ | skóre: 54 | blog: SlaNé roury
Rozbalit Rozbalit vše Re: Proložení grafu křivkou v gnuplot
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díky všem za snahu poradit, problém vyřešen. Sic nijak elegantně jako pomocí fit, ale funguje to ;-). Graf jsem exportoval do svg a upravil v inkscape :-)
Ať sežeru elfa i s chlupama!!! ljirkovsky.wordpress.com stativ.tk

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.