Exponentialfunktion

Status
Nicht offen für weitere Antworten.
G

g-tec

Gast
Hallo!

Ich möcht ein programm schreiben, dass mir

e^x = 1 + (x/1!) + (x^2/2!) + (x^3/3!) + .....

bis zu einer Fehlerschranke berechnet. Für EIN Glied hab ich das geschafft:

Code:
public class Fakultaet2 {

	public static void main(String[] args) {
		
		double x = 0;

		int n = In.readInt();  // Berechne Fakultät
		Out.println(n + "! = " + fakultaet(n));
		
		for (int i = 0; i <= n; i++) {
			x = Math.pow(n, i);
			Out.println(x);
		
		}
		double y = x / fakultaet(n);
		Out.println(y);
	}
	
	static int fakultaet(int n) {
		int a = 1;  // Enthält später das Ergebnis
		int k = n;  // Zählvariable, die von n runterzählt
		while(k > 0) {
			a = a * k;
			k--;    // Entspricht k = k-1;
		}
		return a;
	}
	
	
}

... doch wie verbinde ich das nun miteinander??

Danke!!
 

dsv fritz

Bekanntes Mitglied
Indem du die Division in der for-Schleife einbindest und den neuen, berechneten Wert mit dem Vorhergehenden addierst.
 
G

g-tec

Gast
Ok, also ich hab jetzt die Division in die for-Schleife eingebaut. Und wie mach ich das mit der Addition der Ergebnisse??

Danke nochmals....

Code:
public class Fakultaet2
{
	public static void main(String[] args) {
		
		double x = 0;

		int n = In.readInt();  // Berechne Fakultät
		Out.println(n + "! = " + fakultaet(n));
		
		for (int i = 0; i <= n; i++) {
			x = Math.pow(n, i);
			Out.println("HochzahlBerechnet : " + "Hochzahl:" + i + " Ergebnis: " + x);
			double y = x / fakultaet(n);
			Out.println("Glied: " + y);
			
		
		}
		
	}
	
	static int fakultaet(int n) {
		int a = 1;  // Enthält später das Ergebnis
		int k = n;  // Zählvariable, die von n runterzählt
		while(k > 0) {
			a = a * k;
			k--;    // Entspricht k = k-1;
		}
		return a;
	}
	
	
}
 

dsv fritz

Bekanntes Mitglied
Code:
       double x = 0; 
       double y = 1;
       int n = In.readInt();  // Berechne Fakultät 
       Out.println(n + "! = " + fakultaet(n)); 
       
       for (int i = 1; i <= n; i++) { 
         x = Math.pow(n, i); 
         Out.println("HochzahlBerechnet : " + "Hochzahl:" + i + " Ergebnis: " + x); 
         y+= x / fakultaet(i);  // y enthält alle aufaddierte Werte
         double m = x/fakultaet(i);
         Out.println(i+". Glied: " + m); 
       }    
       Out.prinln("Endergebnis: "+y);

Kann momentan diesen Code nicht testen, bitte gib ein Feedback, ob's funktioniert.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben