Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Brauche Math. Bergriffe

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] [ 2 ] [ 3 ] [ 4 ] > 5 < [ 6 ] [ 7 ]
040
08.10.2003, 18:57 Uhr
Pablo
Supertux
(Operator)


Ach, das mit der Konevntion von deg zu rad und rad zu deg poste ich gleich.

du weißt, dass sin(45)=cos(45)=0.70710678

mach folgendes

C++:
#include <stdio.h>
#include <math.h>
#define PI 3.141592654

int main()
{
        double x = sin(45);
        double y = cos(45);      
        printf("sin(45) = %f; cos(45) = %f\n", x, y);  
}


Ausgabe: sin(45) = 0.850904; cos(45) = 0.525322
Das ist es aber nicht.

Tu aber folgendes:

C++:
#include <stdio.h>
#include <math.h>
#define PI 3.141592654

int main()
{
        double x = sin(45*PI/180);
        double y = cos(45*PI/180);
        printf("sin(45) = %f; cos(45) = %f\n", x, y);
}



Ausgabe: sin(45) = 0.707107; cos(45) = 0.707107

Siehst du, wie wichtig das ist?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
041
08.10.2003, 18:58 Uhr
Pablo
Supertux
(Operator)



Zitat:
~Fat-Tiger postete
Wo soll das define hin über das int oder unter das int


Guck mal, wie ich in meinem letzten Beispiel gemacht habe.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
042
08.10.2003, 19:01 Uhr
~Fat-Tiger
Gast


Wo für das double
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
043
08.10.2003, 19:08 Uhr
Pablo
Supertux
(Operator)


Das double, weil asin, sin, acos, usw. double zurückgibt. int und long können keine Nachkommastellen. Also,

C++:
int x = 3.1415;


speichert in x nur die 3. Wenn du x als double deklarierst, dann sind die anderen .1415blabla auch noch dabei.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
044
08.10.2003, 19:22 Uhr
~Fat-Tiger
Gast


Mus da nicht der winkel stehen:

double x = sin(45*PI/180); //anstatt x
double y = cos(45*PI/180); //anstatt y
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
045
08.10.2003, 19:28 Uhr
Pablo
Supertux
(Operator)


Was da steht ist eine Variable x die den Winkel speichert. Was meinst du mit anstatt x und y?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
046
08.10.2003, 19:35 Uhr
~Fat-Tiger
Gast


Muß das für länge gemacht werden
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
047
08.10.2003, 19:43 Uhr
~Fat-Tiger
Gast


Gilt das *180/PI auch norm sin,cos,tan
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
048
08.10.2003, 19:57 Uhr
Pablo
Supertux
(Operator)


Was soll für Länge gemacht werden? Die Konvertierung? Ja, aber die Konvertierung nur mit den Winkeln.

Du musst vielleicht das schon gehabt haben. Ein Kreis hat einen Umfang von 2*pi*r. Wenn r=1 ==> 2*pi. Wenn du dich in eine Schneke oder was weiß ich verwandelst und den Umfang eines Kreises mit Radius 1, dann läufst du 2*pi. Du hast dich 360 Grad bewegt, also gilt:

2*pi = 360 Grad.
Da 2*pi nur eine Zahl ist, hat man eine Einheit erfunden, welche (ich weiß nicht wie auf deutsch wirklich genannt wird, aber auf englsich, ich vermute sie heißen gleich) Radian heißt. Radian kannst du dir als eine 1 vorstellen, sie steht nur da, um einen Namen zu geben.

Deshalb gilt: 2*pi Radianen = 360 Grad.
Die meisten Taschenrechner rechnen nur im Grad Modus, aber in den wissenschaftlichen Taschenrechnern, die man im Physik Unterricht verwendet werden, kann man auch in RAD MODUS, d.h. Radial Modus einstellen.

Nun, Die Computer arbeiten mit dieser Einheit Radian. D.h. wenn man sin, cos, tan, usw. benutzt, muss man einen Winkel übergeben. Um man bekommt eine "Länge".
Wenn man mit den Umkehrfunktionen arbeitet, d.h. mit acos, asin, atan, usw. dann bekommen sie eine "Länge" und geben einen Winkel in radian zurück.

Du bist von der Schule nur an Grad gewöhnt. Das heißt, du hörst immer 45 Grad, 180 Grad, 120 Grad, 20 Grad, usw. Der Computer versteht das so nicht, und der Computer versteht die 45 Grad als pi/4, 90 Grad als pi/2, 180 Grad als pi, usw. D.h, du musst nur bei den Winkeln umwandeln.

Wenn du ein Programm schreibst, dann wirst du bestimmt, nach einem Winkel fragen. Dann willst du eine Antwort als 45 oder 180, oder 90 Grad und nicht 0.7853, 0.3926 oder 3.1415. Deshalb musst du für den Computer die 45 Grad in 0.7853blabla umwandeln. Und wenn du acos, asin, usw. benutzt, dann bekommst du 0.7853 aber du willst 45 Grad ausgeben.

Mit Hilfe des 3-Satzes gilt:

360 Grad ----> 2*pi
x Grad ------> x*2*pi/360 = x*pi/180

Und umgekehrt:
2*pi Radian ------> 360
x Radian --------> x*360/(2*pi) = x*180/pi

Also, wenn du von radian zu Grad wechseln willst, dann radian*180/pi
Wenn du von Grad zu Radian wechseln willst, dann grad*pi/180

Dir mussr nur klar sein, was Grad sind und was "Längen" sind, womit du arbeitest und was du sehen willst.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
049
08.10.2003, 20:14 Uhr
~Fat-Tiger
Gast


Wenn ich jetzt in mein Prog. schreibe:

Winkel Alpha=33 Grad
c=8

und der rechner soll:
-a
-b
-hc
-Winkel Beta
-A
//WA=Winkel Alpha

ausgeben.

Oder wie kann ich das sonst machen

kann ich das dann so schreiben:

cout die Ergebnisse sind:
cout << "Die Ergebnisse sind\nWinkel Beta:" << 90-WA <<endl;
cout << "'a':" << c*sin(WA)=a
u.s.w
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] [ 4 ] > 5 < [ 6 ] [ 7 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: