31. januar 2004 - 15:02Der er
55 kommentarer og 3 løsninger
Kurveparametre til beregning
Jeg har behov for at foretage en beregning i Excel, hvor jeg skal tage værdier fra en kurve, som er tegnet i Excel ud fra nedenstående punkter: X-akse Y-akse 1,063420 1,5 1,098676 1,38 1,188844 1,23 1,290365 1,143 1,523026 1,059 1,875638 1,021 2,310964 1,0077 2,5 1,0 Når der så i et andet felt i et beregningsforløb kommer en værdi, som er en værdi sv.t X-aksen, skal der hentes en værdi på kurven, sv.t. Y-aksen, som skal lægges i et nyt felt, hvor jeg så forstsætter med min beregning. På kurven har jeg kun ovenstående punkter, og hvis der kommer en værdi mellem punkterne skal der alligevel hentes nøjagtig værdi sv.t til kurven
Nåh, ja formlerne kræver jo at du har navngivet et område med x-værdierne "x" og et område med y-værdierne "y".
Du kan selvfølgelig placere formlerne hvor du har lyst, men så husk lige at rette den sidste formel. Det er også i den sidste formel du skal angive den x-værdi som du vil beregne en kurveværdi for (i eksmplet ovenfor er x-værdien placeret i B1).
Jeg har prøvet at placere dine værdier i A3:A10 og B3:B10. Derefter har jeg navngivet disse to områder henholdsvis "x" og "y" (i menuen "Indsæt" og "Navn").
Derefter er formlerne placeret i C1, C2 og C3. Dvs. i celle C1 står der
Jeg kan nu få det til at køre, men mit store problem er at jeg skal have de rigtige tal, så det skal passe helt nøjagtigt med de værdier, som jeg har opgivet. Programmet passer næsten, men specielt på de områder hvor kurven stiger meget skal jeg have det nøjagtigt. Jeg kan godt beregne mig til en del flere værdier på kurven, men det er meget vanskeligt. Kan du måske få grundværdierne ind i beregningen ? Tim
Har du nogen ide om hvilken type ligning, der skal passe til tallene (2. grad, 3. grad, ekponentiel, logaritmisk).
Den 2. gradsligning som du har lige nu, er faktisk den, der ligger nærmest alle værdierne. At de så ikke er helt nøjagtigt som dine værdier, skyldes at de ikke ligger på en perfekt linie.
Med et 4. grads polynomium vil det du har beregnet til 1,5 blive beregnet til 1,476 svarende til en afvigelse på under 2% (og det er i øvrigt langt den største afvigelse).
Hvis du har mod på at prøve med et 4. grads polynomium skal du så indlæse følgende formler (denne gang placeres de i kolonne D, men det er blot for ikke at slette den første):
For det ikke skal være løgn så kan afvigelsen næsten halveres med et 5.grads polynomium - hvis det altså er nødvendigt.
Hvis lignigen SKAL gå gennem alle punkter, så kan du selvfølgelig bare vælge et 7. grads polynomium. Du har 8 datapunkter og et 7. grads polynomium har 8 ubekendte, så det kan lige lade sig gøre.
Hermed så polynomiet, der går gennem alle 8 punkter. Husk dog på at dette ikke er nogen garanti for hvordan kurven så "opfører" sig uden for disse punkter.
jeg har nu sat 7. gradspolynomiet ind. Jeg kan sætte en værdi ind i G1, hvorefter der skulle ske noget. Resultatet i E9 bliver forkert:f.eks værdien fra A6 bliver 3E + 23 ???? hvad går der galt ?
Jeg forsøgte at advare dig. Kurven kan slå nogen helt utrolige krumspring for at komme til at passe til alle punkterne. Og det er lige præcis hvad der sker: for at passe til alle punkterne slår kurven nogen helt gevaldige sving. Jo lavere grad polynomium du vælger, jo mere lige bliver kurven. Det er det gode gamle valg mellem pest eller kolera (som i moderne form kunne hedde fugle influenza eller SARS).
Jeg har lavet et eksempel på et regneark som jeg evt. kan sende til dig, hvis du er interesseret.
Jeg mener, at jeg havde lukket det og givet dig 200 point ?
Jeg er desværre ikke kommet så meget længere. Jeg har dog som du foreslog set på de to kurver, som begge er af afhængig af en anden parameter. Den en kurve fitter med en logaritmisk kurve og den anden med en exponentiel. Jeg har via "prognoseformel" (=PROGNOSE(C10;A2:A8;B2:B8))i excel været i stand til at spørge om hvordan en parameter passer til den anden. Desværre igen med usikkert resultat, hvilket må skyldes at de kurver ikke er liniære men henholdvis logaritmisk og exponentiel ? Her er mine data: I første søjle er den faktor, som de to andre er afhængige af og når de plottes mod den, er de henholdvis logaritmisk og eksponentil form. Jeg ville som tidligere skrevet gerne kunne skrive en værdi i et felt sv.t den ene parameter og i et andet felt få hvad det svarer til i den anden parameter. Håber det er til at forstå ! 10 1,063420 1,5 20 1,098676 1,38 40 1,188844 1,23 60 1,290365 1,143 100 1,523026 1,059 150 1,875638 1,021 200 2,310964 1,0077
Spændende Jeg ville meget gerne kunne direkte via kæde overføre data til et felt, som så bliver beregnet i et andet felt, som jeg så via kæde sender videre. Kan ud konstruere en sådan indeks funktion ?
Formlerne i det følgende gælder, hvis du navngiver dine data således:
x-værdierne kaldes "x" de første y-værdier kaldes "y" de næste y-værdier kaldes "yy"
Så kan du placere følgende beregningsudtryk. Beregning af konstanter i eksponetialfunktion: E2: =EKSP(INDEKS(LINREGR(LN(y);x);1;2)) E3: =INDEKS(LINREGR(LN(y);x);1) Beregning af konstanter i logaritmisk funktion: F2: =INDEKS(LINREGR(yy;LN(x));1) F3: =INDEKS(LINREGR(yy;LN(x));1;2)
Så ha du faktisk alle de konstanter du skal bruge.
Et eller andet sted under denne her tekst kan du acceptere, men INDEN du gør det, skal du markere hvem, der skal have pointene. Det står også et eller andet sted herunder (jeg kan ikke huske præcist hvordan det står, for det er længe siden jeg sidst har oprettet et spørgsmål).
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.