FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Klarade millennium-buggen
|
Hej,
Är väldigt dålig på matematik/fysik och måste rita en bell-kurva (tror jag det heter). Frågan är om det redan finns en simpel formel för det eller måste man ta en kvarts sinusvåg och pussla ihop med en annan kvarts kosinusvåg för att erhålla formen av en "klocka"? Jag frågar för att jag har lite problem med mina koordinater och att pussla ihop sinusvågsbitarna så det blir rätt. |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Flitig postare
|
Menar du kurvan för (täthetsfunktionen för) en normalfördelning? Den har funktionsformen f(x)=exp(-x^2). Plottar du den för x mellan -3 och 3 så får du en klassisk normalfördelningskurva.
|
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Klarade millennium-buggen
|
Oj, vet inte vad du pratar om...
![]() Jag menar en kurva som börjar vågrätt och sedan blir en kulle för att sen sluta vågrätt. Amplituden ska givetvis gå att ange. Bell = klocka (som en kyrkklocka) |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Klarade millennium-buggen
|
nicclas: Japp, kollade upp normalfördelning och de kurvorna ser ganska bra ut. Nu gäller det bara att veta hur jag jag ska använda mig av den. Jag har en x-axel med variabelt start- och slutvärde. Jag vill att kurvan alltid ska se ut som en fin kurva som sträcker sig från grafens vänstra kant till dess högra oavsett start och stoppvärdet... Kurvans topp ska också gå i taket.
Hela kurvan är alltså inte bara kosmetisk; jag ska kunna skicka in ett värde (som existerar längs x-axeln) och få ut y-värdet för kurvan på just den positionen. |
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Har WN som tidsfördriv
|
||||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Klarade millennium-buggen
|
Citat:
|
|||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Har WN som tidsfördriv
|
Okej, följande förklaring kanske kan vara till lite hjälp då:
|
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Medlem
|
Har inte min egen dator tillgänglig, så jag har inte provkört koden, men följande (php-)funktion ger y-värdet för en variant av kurva som förhoppningsvis är vad du söker. Argumenten är x-värdet, x-koordinaterna för ändpunkterna samt amplituden.
Kod:
function y($x, $x_left, $x_right, $amplitud) { $t = 10 * ($x - $x_left)/($x_right - $x_left) - 5; $y = $amplitud * exp(-$t^2 / 2); return $y; } |
||
![]() |
![]() |
![]() |
#9 | ||
|
|||
Medlem
|
Såg att jag i hastigheten råkade skriva ^ i föregående inlägg för "upphöjt till" som man gör i t.ex. Matlab. Det funkar ju inte i php...
Här är ett enkelt litet test av min funktion. Kod:
<? function y($x, $x_left, $x_right, $amplitud) { $t = 10 * ($x - $x_left)/($x_right - $x_left) - 5; $y = $amplitud * exp(-$t * $t / 2); return $y; } ?> <html> <head> <title>"Bell-kurva"</title> </head> <body> <? $x_left = 200; $x_right = 600; $amplitud = 180; for ($x = $x_left; $x <= $x_right; $x++) { $y = round(y($x, $x_left, $x_right, $amplitud)); echo "<div style=\"position: absolute; top: " . ($amplitud - $y) . "px; left: " . $x . "px; font-weight: bold;\"> . </div>\n"; } ?> </body> </html> |
||
![]() |
![]() |
Svara |
|
|