PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : wie kann man diese Formel in bascom einbringen??



RobbyMartin
31.05.2010, 18:07
Diese Thread kommt aus meinem älteren
"Wie kann man dieses Programm kürzen"
Nun nach langem prügeln mit meinem Taschenrechner (Ti 84+)habe ich nun eine funktion dafür gefunden.

-1,8582162093666E-6x^3+0,00516561744256x^2+(-4,9749972391325x)+1672,4837292672

fragt nicht wie ich darauf gekommen bin ;) der Taschenrechner hat es ausgespuckt und es passt nahzu perfekt zu meinen ermittelten werten.

Nun meine Frage wie kann ich das in bascom schreiben ?? einfach so eintippen und dann die variable x im terminal ausgeben odergeht das nicht so einfach??

lg
martin

RobbyMartin
31.05.2010, 18:23
jetzt kommt immer fehler 35 ich habe auch gelesen, dass bascom nur einzelne rechenbefehle verarbeiten kann wegen der umwandlung
in den maschienen code oder so naja jetzt weiß ich nicht wie ich es umschreiben soll...

$regfile "m8def.dat"
$crystal = 1000000
$baud = 1200

Dim Ad As Word
Dim Ergebnis As Word

Config Portb = Output
Config Adc = Single , Prescaler = Auto , Reference = Avcc

Start Adc

Do
Ad = Getadc(0)

Ergebnis =(( -1 , 8582162093666 * 10 ^ -6) * Ad ^ 3 +(0 , 00516561744256 * Ad ^ 2) +( -4 , 9749972391325 * Ad) + 1672 , 4837292672)
Print Ergebnis

Loop

lg
martin

peterfido
31.05.2010, 19:03
Probiere es so:


Dummy = Ad * Ad
Dummy = Dummy * Ad
Ergebnis = -0.000001858216209366 * Dummy
Dummy = Ad * Ad
Dummy = 0.0051651744256 * Dummy
Ergebnis = Ergebnis + Dummy
Dummy = -4.9749972391325 * Ad
Ergebnis = Ergebnis + Dummy
Ergebnis = Ergebnis + 1672.4837292672

Ich bezweifel, dass er alle Stellen nimmt...

RobbyMartin
31.05.2010, 19:15
schade so funktionier es leider nicht da komme irgendwelche kryptischen werte wie zb 20567 raus wobei der wert zwischen 100 und 0 liegen sollte

hat noch jemand eine idee??

lg
martin

peterfido
31.05.2010, 19:34
Evtl ist mir da ein Fehler unterlaufen. Einfach mal selbst drüber schauen. Evtl auch mal den Stack erhöhen.

Zwischen 100 und 0 ist doch einfach. möglicher Minwert ist 0, möglicher Maxwert 100. Dreisatz rein und Ergebnis=100-Ergebnis

RobbyMartin
31.05.2010, 19:47
hmm das verstehe ich jetzt nicht ganz das ist keine gerade gerade sondern eine kurve und ich habe versucht den text so kurz wie möglich zu halten.

kann es sein das ich dim ergebnis as word geschrieben habe word kann ja keine kommazahlen ausschreiben was nehme ich stattdessen??

lg
martin

chr-mt
31.05.2010, 20:23
word kann ja keine kommazahlen ausschreiben was nehme ich stattdessen??
single oder double, je nach Bedarf.
Eine Übersicht findest du hier:
http://halvar.at/elektronik/kleiner_bascom_avr_kurs/variablen/

Gruß
Christopher

RobbyMartin
01.06.2010, 12:06
Vielen Dank für die Tipps.
habe grade das Programm in einer Freistunde fertiggeschrieben und es kommen auch werte raus die durchaus passen könnten. Nun muss ich es nur noch in der Endgültigen Schaltung ausprobieren.

Werde mein Projekt wenn es dann auch Fertig ist vorstellen.

Lg
Martin