Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » C++ Maschinengenauigkeit und Summen » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (5): « erste ... « vorherige 2 3 [4] 5 nächste » Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C++ Maschinengenauigkeit und Summen
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du bist bei Fehlermeldungen immer sehr ungenau. So kann ich nichts damit anfangen.
Du musst noch iostream einbinden. Das Endergebnis hast du nicht ausgegeben. Und Umlaute sind wie gesagt nicht empfehlenswert (der g++hat sie nicht akzeptiert)
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
#include <iostream>

using namespace std;

int main(int argc, const char * argv[]) {
	double zaehler = 1, nenner = 1;
	double sum = 1;
	double x;
	cout << "Geben sie x ein" << endl;
	cin >> x;
	for (int k = 1; k < 100; k++) {
		zaehler *= x;
		nenner *= k;
		sum += zaehler/nenner;
		cout<<"Der Summand ist "<< zaehler/nenner << endl;
	}
	cout<<"Die Summe ist "<< sum <<endl;
	return 0;
}


__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 07:18 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Marcell99
Eroberer


Dabei seit: 14.11.2015
Beiträge: 53

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Jaaa es hat geklappt
Da ist wieder eine Liste gekommen, ist damit die Aufgabe zu Ende oder???

Danke das du mir geholfen hättest, hätte ich alleine nie geschafft
15.11.2015 07:46 Marcell99 ist offline E-Mail an Marcell99 senden Beiträge von Marcell99 suchen Nehmen Sie Marcell99 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du sollst dich noch um die Genauigkeit kümmern.
Wir summieren die Werte bis k=100 auf, weniger würde auch reichen für die geforderten 10^-6

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 07:53 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Marcell99
Eroberer


Dabei seit: 14.11.2015
Beiträge: 53

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Aber das hängt doch davon ab was man für k einsetzt oder ??
15.11.2015 07:55 Marcell99 ist offline E-Mail an Marcell99 senden Beiträge von Marcell99 suchen Nehmen Sie Marcell99 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das maximal nötige k wollen wir bestimmen. Und es hängt vom x ab.

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 07:59 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Marcell99
Eroberer


Dabei seit: 14.11.2015
Beiträge: 53

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Man setzt also die x Werte (1,2,3) ein und schaut ob es ist 10^(-6)
15.11.2015 08:02 Marcell99 ist offline E-Mail an Marcell99 senden Beiträge von Marcell99 suchen Nehmen Sie Marcell99 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Du musst sicherstellen, dass die Summe aller Terme für k=k_max+1 bis unendlich kleiner ist als die geforderte Genauigkeit von 10^-6.

Du sollst eine Taylor - Mac Laurin Reihe bestimmen, das Restglied ist bekannt (siehe Formelsammlung).

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 08:09 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Marcell99
Eroberer


Dabei seit: 14.11.2015
Beiträge: 53

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

So??

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Marcell99: 15.11.2015 08:29.

15.11.2015 08:28 Marcell99 ist offline E-Mail an Marcell99 senden Beiträge von Marcell99 suchen Nehmen Sie Marcell99 in Ihre Freundesliste auf
Marcell99
Eroberer


Dabei seit: 14.11.2015
Beiträge: 53

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Kann es nicht hochladen

(F(0)(1)/0! +f(1)(2)/1! +f(2)(3)/2!) (x-1)^0

Wie programmiere ich das denn

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Marcell99: 15.11.2015 08:39.

15.11.2015 08:34 Marcell99 ist offline E-Mail an Marcell99 senden Beiträge von Marcell99 suchen Nehmen Sie Marcell99 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Das Restglied ist einfach [latex]\frac{x^{k_{max}+1}}{(k_{max}+1)!}[/latex].
Das ist praktisch, da wir das sowieso ausrechnen müssen ist der Summe.

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 08:40 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Marcell99
Eroberer


Dabei seit: 14.11.2015
Beiträge: 53

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

using namespace std;

int main(int argc, const char * argv[]) {


double zähler=1, nenner=1;
double sum =1;

double x;
cout<<"Geben sie x ein"<<endl;
cin>>x;


for (int k=1; k<100; k++) {
zähler *=x;
nenner *=k;

sum += zähler/nenner;
cout<<"Die Summe ist "<<zähler/nenner<<endl;


double rg;
rg *=+1+x/(k+1);



}



return 0;

}
15.11.2015 08:47 Marcell99 ist offline E-Mail an Marcell99 senden Beiträge von Marcell99 suchen Nehmen Sie Marcell99 in Ihre Freundesliste auf
Marcell99
Eroberer


Dabei seit: 14.11.2015
Beiträge: 53

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

oder das in der summe ersetzen ??
15.11.2015 08:47 Marcell99 ist offline E-Mail an Marcell99 senden Beiträge von Marcell99 suchen Nehmen Sie Marcell99 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Warum so kompliziert?
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
#include <iostream>

using namespace std;

int main(int argc, const char * argv[]) {
	double zaehler = 1, nenner = 1;
	double sum = 1;
	double x;
	cout << "Geben sie x ein" << endl;
	cin >> x;
	for (int k = 1; zaehler/nenner > 1e-6; k++) {
		zaehler *= x;
		nenner *= k;
		sum += zaehler/nenner;
		cout<<"Der Summand ist "<< zaehler/nenner << endl;
	}
	cout<<"Die Summe ist "<< sum <<endl;
	return 0;
}

Man beachte das Abbruchkriterium in der Schleife, das nicht mehr auf den Wert von k prüft.
Wenn du das für verschiedene Werte von x testest, wirst du feststellen, dass sich die Zahl der Additionen ändert.

__________________
Syntax Highlighting fürs Board (Link)

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von eulerscheZahl: 15.11.2015 09:16.

15.11.2015 09:15 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Marcell99
Eroberer


Dabei seit: 14.11.2015
Beiträge: 53

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

aber warum denn ausgerechnet 1e-6 ??
15.11.2015 09:18 Marcell99 ist offline E-Mail an Marcell99 senden Beiträge von Marcell99 suchen Nehmen Sie Marcell99 in Ihre Freundesliste auf
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

1e-6 ist das selbe wie 0.000001, also [latex]1 \cdot 10^{-6}[/latex]. Das hat nichts mit [latex]e = 2.718281828450945\dots[/latex] zu tun.

__________________
Syntax Highlighting fürs Board (Link)
15.11.2015 09:19 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
Seiten (5): « erste ... « vorherige 2 3 [4] 5 nächste » Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Praktische Informatik » Algorithmen » C++ Maschinengenauigkeit und Summen