Forum » Šola » 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.
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
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
- polepsal: Mavrik ()
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.
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
Gigabyte Aorus z690 master; Be Quiet Dark Power 12 1000W
Zgodovina sprememb…
- spremenil: korenje3 ()
mihaelf3 ::
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
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | java[grafi]Oddelek: Programiranje | 648 (530) | Wrop |
» | Napetostni sledilnikOddelek: Elektrotehnika in elektronika | 1942 (1700) | rezator |
» | Freehand v krivuljo - C# ali VBOddelek: Programiranje | 1501 (1372) | PaX_MaN |
» | [Numerične metode]- Pomoč pri nalogiOddelek: Šola | 1371 (1370) | Bojevnik |
» | [C++] Spline/Bezier izracun tockOddelek: Programiranje | 1623 (1377) | Mmm'Aah |