» »

Funkcije

Funkcije

korenje3 ::

Imam neko funkcijo skozi 3 (ali več) točke, pa me zanima kako lahko to funkcijo spreminjam, tako da se recimo spodnjih 10% zviša in zgornjih 10% zniža?
Funkcija je po y od 0 do 1, po x pa poljubno.
Iz praktičnega vidika je zadeva taka, da tipam senzor svetlobe, ki ima digitalno vrednost od 0 do 1, realno pa je to od 0 do 10 lux. Pri 100 lux mi gre vrednost na 0, 7. Na kakšen način lahko to stabiliziram. Sem probal s polinomsko interpolacijo pa ne dobim ok rezultata.
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
  • polepsal: Mavrik ()

lebdim ::

Za kateri predmet to govoriš? Mogoče govoriš za računalniško grafiko?

korenje3 ::

To ni za predmet, je za moj osebni projekt.

V glavnem rad bi naredil konverzijo enot. Analogni signal je shranjen v podatkih 0 do 1. 0 predstavlja recimo 0°C, 1 pa 100°C. Kako lahko naredim to pretvorbo, če funkcija ni linearna? S tem da vem podatke kakšna je temperatura pri 0, pri 0,5 in pa pri 1.
Prav bi mi prišla tudi opcija če vem 4 točke.


Rabim matematični zapis funkcije. nekaj takega: http://stackoverflow.com/questions/1689...
Samo da mi ta rešitev daja čudne rezultate.
i9-12900k; 32GB DDR5-6000 CL36; Nvidia RTX 3080 ti;
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W

Zgodovina sprememb…

  • spremenil: korenje3 ()

mihaelf3 ::

korenje3 je izjavil:

To ni za predmet, je za moj osebni projekt.

V glavnem rad bi naredil konverzijo enot. Analogni signal je shranjen v podatkih 0 do 1. 0 predstavlja recimo 0°C, 1 pa 100°C. Kako lahko naredim to pretvorbo, če funkcija ni linearna? S tem da vem podatke kakšna je temperatura pri 0, pri 0,5 in pa pri 1.
Prav bi mi prišla tudi opcija če vem 4 točke.


Rabim matematični zapis funkcije. nekaj takega: http://stackoverflow.com/questions/1689...
Samo da mi ta rešitev daja čudne rezultate.


Privzemimo najprej da poznaš kakšna je funkcija v resnici (kvadratna, nek polinom, bilokaj), sepravi veš vrednosti za vse točke. Recimo. V tem primeru moraš samo pomnožiti. Če hočeš 0 do 1 spraviti na 0 do 100 samo pomnožiš s 100. (Pustimo razne primere)

Ampak ti praviš da ne poznaš svoje funkcije. Poznaš samo 4 točke. Ja lej, tu je pa jeba. Jaz si za te štiri točke lahko izmislim poljubno funkcijo ki gre skozi njih. Tudi če imaš točke postavljene v ravni črti, se lahko med tistim točkami s funkcijo dogaja marsikaj. Ne moreš vedet.

Kaj lahko narediš?
To iskanje kako se funkcija obnaša pri tem da poznaš samo nekaj meritev je v računalništvu cela veda. Reče se ji strojno učenje. Na voljo imaš vrsto programskih knjižnjic in materjala ki ti pomagajo na tvoje podatke fittat najbolj verjeten model. Ni pa magične rešitve--če ne veš, ne veš. Kvečjem lahko ugibaš.
S tem da je tole mogoče overkill zate: glede na to da hočeš pretvarjat enote (iz nekega senzorja?) bo mogoče dovolj da si prebereš kakšna je funkcija v resnici in se držiš prvega odstavka.
torch it

Isotropic ::

dobi par točk več

Yacked2 ::

Aproksimiraj funkcijo glede na točke, potem pa lohka po želji premikaš funkcijo.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

java[grafi]

Oddelek: Programiranje
5618 (500) Wrop
»

Napetostni sledilnik

Oddelek: Elektrotehnika in elektronika
111849 (1607) rezator
»

Freehand v krivuljo - C# ali VB

Oddelek: Programiranje
101445 (1316) PaX_MaN
»

[Numerične metode]- Pomoč pri nalogi

Oddelek: Šola
51329 (1328) Bojevnik
»

[C++] Spline/Bezier izracun tock

Oddelek: Programiranje
181590 (1344) Mmm'Aah

Več podobnih tem