Hallo ist es möglich mit einem Mega 128 eine Winkelfunktion wie sin cos oder tan auszurechnen? Wenn ja wie ist dies Möglich. oder benötige ich hierfür irgendwelche Tabellen?
Ja. Mit der avr-libc (genauer: der libm.a). Nein. p.s.: Es funktioniert ganz einfach so, wie das in C auch sonst funktioniert.
Danke für die Antwort. wie kann ich die libm.a einbinden? schreibe ich dann im code dann nur noch zB. a = cos(90)?
#include <math.h> nicht vergessen. Dann kannst Du cos(...) und sin(...) direkt im Programm aufrufen. Beim Compilieren und Linken dann das -libm nicht vergessen, sonst gibts Fehlermeldungen.
>schreibe ich dann im code dann nur noch zB. a = cos(90)?
Das braucht gar keinen Code. Das ist eine eher triviale Tonstante. Die
anderen Konstanten sollte der PC auch rechnen koennen.
Z
Gibts diese funktionen nicht in Grad. Bogenmaß hilft mir weniger. wenn ich include <libm.a> schreibe dann bringt mir AVRStudio einen Fehler.
Hi, zur Umrechnung von Grad in Bogenmaß: Pi/180 * Winkel = Winkel in Bogenmaß Gruss Johnjoe
irgendwie komm ich nicht auf das Ergebnis. Ich habe eine Hypotenuse von 30 cm und einen Winkel von 45 Grad. Nun möchte ich mir die Gegenkathete berechnen. Ich komm aber mit dem Bogenmaßfunktion nicht aufs richtige Ergebnis von 21,21 Grad.
warum soll diese nicht 21,21 haben? sin(45) * 30 = 21,21 was soll daran falsch sein?
>was soll daran falsch sein?
Die Einheiten. Und die sind auch das Problem, weshalb du mit dem
Bogenmaß nicht klar kommst.
warum die Einheit. Ich habe halt mal eine Hypotenuse von 30 cm was soll daran Falsch sein? und nun will ich die Gegenkathete ausrechnen. Im Einheitskreis ist die Gegenkathete 0,707 aber das nützt mir auch nichts.
Dass die Gegenkathete nich in Grad angegeben sein soll sondern in cm ist ja klar. Ich möchte diese aber nur ausrechnen.
Ja die 21,21 habe ich mit meinem Taschenrechner und der Grad funktion ausgerechnet. die AVRs können aber nur Bogenmaß. Ich will dies aber mit einem AVR ausrechnen.
> die AVRs können aber nur Bogenmaß. Die AVRs können nur Integer-Zahlen berechnen. Den Rest macht eine Bibliothek. Du solltest dich aber wirklich bitteschön sowohl mit den notwendigen Grundlagen der Mathematik als auch der Programmiersprache C vertraut machen. Das geht auf einem PC besser als auf einem AVR.
Mir geht es in diesem Beitrag eigentlich nicht um die Programmiersprache C. sonder um die Winkelfunktionen. Also ist es nach deiner Meinung nach nicht möglich mit einem AVR die Gegenkatete auszurechnen. Weil mit dem Bogenmaß kann ich eigentlich nichts anfangen.
wenn ich das richtig überflogen habe, musst du für 45° nicht 45° eingeben sondern 0.25*PI (weil 1*PI 180° entspricht). ...die frage ist natürlich, ob du einen integerwert oder einen float oder was auch immer der sin-/cos-funktion übergeben musst (habe keine ahnung weil ich mit C18 (PICs) arbeite)
>Weil mit dem Bogenmaß kann ich eigentlich nichts anfangen. ?! http://de.wikipedia.org/wiki/Bogenma%C3%9F ob der Winkel 45° oder Pi/4 hat ist aber ziemlich wurschd, und die Umrechnungsformel wurde oben schon gepostet --> die Formel kann man als präprozessor-makro nutzen, um Kontanten als Gradzahlen einzugeben
1 | #define PI 3.14159 ......(geht genauer, hab ich aber nicht im Kopf ;) )
|
2 | #define DEG_TO_RAD((x)) x * PI / 180.0
|
Ich (als PIC-Nutzer) muß zugeben, daß man mit dem AVR einen Cosinus ausrechnen kann. Punktum ! Wie C das macht, sollte Dir egal sein. Und die Umrechnung von Grad auf Rad ist trivial und stellt keinerlei Hürde für die Mathematik dar. Wo ist das Problem wirklich ? Kannst Du nicht Grad in Radiant umrechnen, oder bist Du zu bequem fürs Programmieren ? Falls Du Probleme mit den Radianten hast solltest Du evtl. bei Deinem Taschenrechner beiben...
>Falls Du Probleme mit den Radianten hast solltest Du evtl. bei Deinem >Taschenrechner beiben... Vorsicht, der kann auch in Radianten rechnen. ;-) Winkelfunktionen sind 9. oder 10. Klasse Mathelehrstoff, schau einfach mal ins Tafelwerk oder frag deinen Mathelehrer.
> Mir geht es in diesem Beitrag eigentlich nicht um die > Programmiersprache C. Die definiert aber, was die Funktion sin() macht. Das hat mit AVR genau gar nichts zu tun. > Also ist es nach deiner Meinung nach nicht möglich mit einem AVR die > Gegenkatete auszurechnen. Wie kommst du auf den Unsinn? > Weil mit dem Bogenmaß kann ich eigentlich nichts anfangen. Du hast offensichtlich noch nicht kapiert, daß es möglich (und ziemlich einfach) ist, zwischen Winkel und Bogenmaß umzurechnen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.