>>> Hast du diesen Monat weniger als 16 Bücher gelesen? - Dann klick hier! <<<


Themenbereiche Themenbereiche Profile Hilfe/Anleitungen Help    
Recent Posts Last 1|3|7 Days Suche Suche Tree Tree View  

Sin^-1 ohne Taschenrechner

ZahlReich - Mathematik Hausaufgabenhilfe » ---- Archiv: Klassen 12/13 » Sonstiges » Sin^-1 ohne Taschenrechner « Zurück Vor »

Autor Beitrag
Seitenanfangvoriger Beitragnächster BeitragSeitenende Link zu diesem Beitrag

gilSolo
Suche alle Beiträge dieser Person in dieser Hauptrubrik
Veröffentlicht am Sonntag, den 20. Januar, 2002 - 14:31:   Beitrag drucken

Hallo,

Ich brauche umbedingt eure Hilfe. Ich muss sin^-1 ohne Taschenrechner rechnen. An meinem Schultaschenrechner muss ich nur Shift und dann sin drücken, danach erhalte ich das ergebnis. Ich muss aber einen Taschenrechner für Informatik programmieren und scheitere daran, dass ich nicht weis, wie ich sen "umgekehrten" Sinus berechnen kann.
Ich Danke schon im Voraus

Gil
Seitenanfangvoriger Beitragnächster BeitragSeitenende Link zu diesem Beitrag

Ulf (Silverhawk)
Suche alle Beiträge dieser Person in dieser Hauptrubrik
Veröffentlicht am Montag, den 21. Januar, 2002 - 12:24:   Beitrag drucken

Hi Gil,

die Umkehrfunktion von sin(x) heißt arcsin(x) schau doch einfach mal nach, ob es in der Programmiersprache nicht auch eine solche Funktion gibt ...

Gruß Ulf
Seitenanfangvoriger Beitragnächster BeitragSeitenende Link zu diesem Beitrag

Beach
Suche alle Beiträge dieser Person in dieser Hauptrubrik
Veröffentlicht am Dienstag, den 22. Januar, 2002 - 12:11:   Beitrag drucken

Hallo Gil,
die Funktion arcsin(x) kann durch eine Potenzreihenentwicklung dargestellt werden (auf die Theorie, warum das so ist, möchte ich hier nicht näher zurückgehen):
arcsin(x) = Sn=0oo [ x2n+1/(2n+1) * ( Pm=1n (2m-1)/(2m) ) ]


Die für diesen Zweck umgeformt wird in:
arcsin(x) = Sn=0oo [ x/(2n+1) * ( Pm=1n (2m-1)/(2m) * x² ) ]


was sich dann in der Sprache c etwa durch das ausdrücken lässt, was nicht blau ist:


#include <iostream.h>

// Funktion Arcsin(x) errechnen
/////////////////////////////////////////////////////////////////////

float arcsin(float x)
{
float z,y=0;
int m,n=0;
while(n < 1000) // hiermit wird festgelegt, wieviel Summationen gemacht werden, d.h. wie genau das Ergebnis wird, je größer n werden darf, um so länger dauert natürlich die Rechnung

{
m=1;
z=1;
while( m < n+1 )

{
z = z * ( 2*m-1 )/( 2*m ) *x *x;
m++;
}

z=z*x/(2*n+1);
y=y+z;
n++;
}

return y;
}
/////////////////////////////////////////////////////////////////////


void main(void)
{
float x,y;
cout << "Dieses Programm kann Näherungswerte von arcsin(x) bestimmen, und" << endl
<< "solange die Werte von x kleiner als 0.99 sind, sogar auf 10^-6 genau." << endl << endl;
cout << "bitte das x eingeben, von dem arcsin(x) berechnet werden soll: " << endl;
cin >> x;

y=arcsin(x);
cout << "arcsin(" << x << ") = " << y << endl;
}


Da die Reihe nur für x £ 1 konvergiert und für x>1 rasch divergiert, und demnach für x=1 nur sehr langsam konvergiert, erfordert die Näherung an den Funktionswert um so mehr Summationen, je näher das x an 1 liegt.
Für den Fall, dass z.B. |1-x| < 0.05 gilt, würde ich empfehlen, zu "pfuschen" und eine Abfrage einzubauen, die bei dieser Situation einfach p/2 als Funktionswert ausgibt.


Und wie gehts weiter? Klick hier!
Learn-in! Mathematik Soforthilfe. Klick jetzt! Hier könnte Ihre Werbung erscheinen. Kontakt: werbung@zahlreich.de Sprachreisen. Hier kostenlosen Katalog bestellen!

ad
>>> Willst du die besten Proben und Gutscheine? - Dann klick hier! <<<

Informationen: Sin^-1 ohne Taschenrechner |  Soforthilfe Mathematik |  Online Mathebuch |  Bronstein

Administration Administration Abmelden Abmelden   Previous Page Previous Page Next Page Next Page