» »

Funkcija iz števil

Funkcija iz števil

japol ::

Kako bi dobil funkcijo npr.: y=...x^4+...x^3...+..... iz podanih števil?
Imam to v Excell-u pa ni dovolj natančno, ne glede na izbrano funkcijo zato iščem nekaj drugega.

gzibret ::

Vse je za neki dobr!

švrk ::

japol je izjavil:

Kako bi dobil funkcijo npr.: y=...x^4+...x^3...+..... iz podanih števil?
Imam to v Excell-u pa ni dovolj natančno, ne glede na izbrano funkcijo zato iščem nekaj drugega.


Zadevo aproksimiraj z polinomom čim višje stopnje.
Primer:
denimo da imaš podane izmerjene vrednosti(x,y): (1,1),(2,3),(3,2),(4,5)
izhajaš iz ax^3+bx^2+cx+d=e in zapišeš:
a+b+c+d=1
8a+4b+2c+d=3
27a+9b+3c+d=2
64a+16b+4c+d=5
Zapišeš matriko A in vektor desnih strani b, ki je:
A=[1 1 1 1; 8 4 2 1; 27 9 3 1; 64 15 4 1] , b=[1 3 2 5]'
rešiš sistem A*x=b oziroma x=A\b in dobiš vektor x, ki predstavlja vrednosti [a,b,c,d].

Najbolje, da zadevo vržeš v kak matlab ali wolfram pa klik in je rezultat:)
lp

steev ::

Origin pro zna ...
:|

japol ::

Super, hvala, že delam na tem. Do sedaj imam natančnost do 6 polinoma, a funkcija ne poda čisto točnih vrednosti.

Imam primer:
A 1 1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 2
B 0,026 0,026 0,027 0,027 0,026 0,025 0,024 0,024 0,022 0,022 0,021

in iz tega dobim funkcijo:
B = -0,096*A^5 + 0,718*A^4 - 2,099*A^3 + 2,991*A^2 - 2,073*A + 0,585
ampak npr za A=1,5 (glej tabelo) bi moral dobiti 0,025, po enačbi dobim pa 0,026 in zato iščem nove programe, da mi bo napisal čim bolj natančno enačbo, da bom dobil vrednost enako kot v tabeli. Ker v tem primeru:
0,025 * 144 = 3,6 (po tabeli)
0,026 * 144 = 3,74 (po enačbi)
kar pa je, za to kar rabim, kar velika razlika.

Fave ::

f(A) = 0.00075923384 + (1.491168*sin(1.8341968/x) + (0.0051963395*sin(207.4601/x) + 0.13724345*sin(65.946663/x)*sin(207.4601/x))/(x*x))/(57.986752 - sin(108.51958/(0.0052853962 + x)))

če ti to kaj pomaga?
My mind's a hyper tool that fixes everything.

japol ::

Kako si to dobil?

Fave ::

f(A) = 0.00076873443 + (1.4925476*sin(1.8351113/x) + (0.017091054*sin(207.39081/x) + 0.12440284*sin(207.39081/x)*sin(66.049561/x))/(x*x + sin(66.049561/x)))/(58.066975 - sin(108.07304/x))

Tale je še boljša. CPU čas in eureqa. Nič drugega.
My mind's a hyper tool that fixes everything.

Fave ::

f(A) = 0.0011885344 + (1.4889636*sin(1.8243421/x) + 0.12888438*sin(207.4563/x)*sin(65.23304/(x - 0.015340609))/(x*x - 0.12888438*sin(207.4563/x) - 0.11876435))/(58.844875 - sin(108.0183/x))

Še ena. Lepo bi bilo, če bi vsaj približno povedal zakaj rabiš, ker če se lahko podatki "zgladijo", bi se najbrž dalo dobiti enostavnejšo funkcijo.
My mind's a hyper tool that fixes everything.

japol ::

Kako se to nardi v wolframu?
Mi lahko napišeš navodila za eureqo?

Zgodovina sprememb…

  • spremenil: japol ()


Vredno ogleda ...

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

T-2 DNS problem

Oddelek: Omrežja in internet
81784 (1379) Ghost007
»

Integriranje

Oddelek: Šola
61422 (924) Unknown_001
»

Matematika, again :)

Oddelek: Šola
132453 (1907) tinkatinca
»

[Topologija] Pomoč pri nalogah

Oddelek: Šola
122465 (2262) marsovcek
»

Limitiranje

Oddelek: Znanost in tehnologija
313142 (2332) CHAOS

Več podobnih tem