WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Exp-funktion mittels taylor-reihe selbst erzeugen

 

DonCorleone
Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 19.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2015, 15:14     Titel: Exp-funktion mittels taylor-reihe selbst erzeugen
  Antworten mit Zitat      
Hallo liebes Forum!

Ich bräuchte mal eine kleine Hilfestellung, da ich hier bei einem Problem nicht weiterkomme:

Ich möchte mittels Taylor-Reihen meine eigene exp-Funktion erstellen. Das klappt aber nur teilweise...

Ich versuche die exp-Funktion für 20 Werte mittels einer for-schleife zu berechnen:

Code:

x = [1:20];
n = [1:20];

expo = zeros(length(n),1);
xvar = zeros(length(x),1);

for n = 1:length(n)
    expo(n,1) = x.^(n)/factorial(n);
end
xvar = 1+sum(expo)
 


Wenn ich nun für 'x' einen Wert zwischen 1 und 20 einsetze berechnet er mir einen Wert, der recht nahe an den Wert herankommt, würde ich ihn mit der Matlab eigenen 'exp-Funktion' berechnen.

Natürlich würde ich das ganze nun in einer weitere Schleife packen, damit er alle x von 1 bis 20 durchläuft - so in etwa:

Code:

x = [1:20];
n = [1:20];

expo = zeros(length(n),1);
xvar = zeros(length(x),1);
for x = 1:length(x)
   for n = 1:length(n)
       expo(n,1) = x.^(n)/factorial(n);
   end
   xvar = 1+sum(expo)
end
 


Allerdings kriege ich dabei nicht die korrekten Ergebnisse heraus... Irgendwie stehe ich da etwas auf dem Schauch... Shocked
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 07.11.2015, 17:22     Titel:
  Antworten mit Zitat      
Zitat:
Allerdings kriege ich dabei nicht die korrekten Ergebnisse heraus.

welche ergebnisse erwartest du denn? vielleicht sind deine erwartungen ja falsch. das lässt sich aber schwer sagen wenn du es nicht angibst.
du entwickelst ja um die stelle 0. je weiter du davon weg rückst desdo schlechter werden ja die ergebnisse.
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 07.11.2015, 17:23     Titel:
  Antworten mit Zitat      
Hallo,

du verwendest x und n außerhalb der Schleife und als Schleifenvariable. Das ist keine gute Idee.
Code:

X = [1:20];
N = [1:20];

expo = zeros(length(N),1);
xvar = zeros(length(X),1);
for I = 1:length(X)
   x = X(I);
   for J = 1:length(N)
       n = N(J);
       expo(n,1) = x.^(n)/factorial(n);
   end
   xvar(I) = 1+sum(expo);
end


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
DonCorleone
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 19.05.14
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2015, 17:40     Titel:
  Antworten mit Zitat      
Winkow hat Folgendes geschrieben:
Zitat:
Allerdings kriege ich dabei nicht die korrekten Ergebnisse heraus.

welche ergebnisse erwartest du denn? vielleicht sind deine erwartungen ja falsch. das lässt sich aber schwer sagen wenn du es nicht angibst.
du entwickelst ja um die stelle 0. je weiter du davon weg rückst desdo schlechter werden ja die ergebnisse.


Ja du hast recht, das hätte ich angeben sollen...! Ich gebe ja mit meinem Vektor nur eine sehr begrenzte Anzahl an Exponenten an. Das ist natürlich nicht so genau wie die exp-Funktion in matlab.

Bedingt dadurch, dass ich x und n außerhalb und innerhalb der Schleife verwendet hatte, waren die Werte nicht mal ansatzweise ähnlich - im Vergleich zu den Werten mit der exp-Funktion in Matlab.

Ich machs jetzt so wie von Harald beschrieben! Danke! Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.