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

Exponentialfunktion annähern ohne matlab Funktionen

 

Bienchen89
Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.07.14
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 01.07.2014, 21:54     Titel: Exponentialfunktion annähern ohne matlab Funktionen
  Antworten mit Zitat      
Hallo zusammen,

ich bin neu hier im Forum und auch Neuling in Matlab. Ich lerne grade für eine Prüfung und komme bei einer Aufgabe nicht mehr weiter. Wir sollen die Exponentialfunktion e^x annähern mit der Reihen-Entwicklung für alle x Werte von 0 bis 2 in 0,1 Schritten. Wir dürfen exp, sin, cos, factorial NICHT benutzen. Ich hab das Programm fertig. Es funktioniert auch, aber es gib mir völlig falsche Werte wieder und ich weiß nicht warum. Über eure Hilfe würde ich mich sehr freuen.

Code:
%

x=0:0.1:2;
summe=1;
fakultaet=1;
for i=1:length(x)
   
   
    for n=1:1000
        fakultaet=n*fakultaet;
    summe=summe+((x(i)^n)/fakultaet);
    E(i)=summe;
    end
   
end

E;
plot(E)


 


VIELEN DANK
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: 01.07.2014, 22:06     Titel:
  Antworten mit Zitat      
Hallo,

die Initialisierungen von summe und fakultaet sollten innerhalb der for-Schleife stattfinden.

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

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.07.14
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 01.07.2014, 22:10     Titel:
  Antworten mit Zitat      
Danke Harald,

leider bringt auch das nicht die richtige Lösung.

VG
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: 01.07.2014, 22:13     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
leider bringt auch das nicht die richtige Lösung.

Nein? Sieht doch gut aus?

Code:
x=0:0.1:2;
 
for i=1:length(x)
    summe=1;
    fakultaet=1;
    for n=1:1000
        fakultaet=n*fakultaet;
    summe=summe+((x(i)^n)/fakultaet);
    E(i)=summe;
    end
   
end

E;
plot(x,E)


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

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.07.14
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 01.07.2014, 22:20     Titel:
  Antworten mit Zitat      
Es kommen allerdings wieder die falschen Werte raus. Und ich weiß absolut nicht, was ich noch ändern soll

VG
Private Nachricht senden Benutzer-Profile anzeigen
 
Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.07.2014, 07:31     Titel:
  Antworten mit Zitat      
Bei mir funktioniert Haralds Vorschlag. Was kommen denn bei dir für Werte heraus und was für Werte würdest du erwarten?

viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Bienchen89
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.07.14
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 02.07.2014, 08:35     Titel:
  Antworten mit Zitat      
Code:

E =

  1.0e+298 *

  Columns 1 through 9

    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

  Columns 10 through 18

    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000

  Columns 19 through 21

    0.0000    0.0000    1.0715

 


Das wird bei mir ausgerechnet. Aber wenn man e^x mit dem Taschenrechner ausrechnet kommen für die ersten x-Werte folgende y-werte:

e^0,1=1,11
e^0,2=1,22
e^0,3=1,35
e^0,4=1,49
e^0,5=1,65
...
e^2=7,38

Ich denke der Fehler liegt in der Rechnung. Sonst läufts ja.

VG
Private Nachricht senden Benutzer-Profile anzeigen
 
Dexter
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 68
Anmeldedatum: 22.05.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.07.2014, 11:11     Titel:
  Antworten mit Zitat      
Auch bei mir läuft das ohne Probleme und liefert die richtigen Ergebnisse. Wenn du Haralds Code genauso kopierst, funktioniert es nicht? Kopier doch einfach nochmal den Code, der dir falsche Werte ausgibt, genauso hier rein.
Private Nachricht senden Benutzer-Profile anzeigen
 
Bienchen89
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 8
Anmeldedatum: 01.07.14
Wohnort: Deutschland
Version: ---
     Beitrag Verfasst am: 02.07.2014, 11:36     Titel:
  Antworten mit Zitat      
Vielen Dank. Mit Copy and Paste funktioniert es interessanterweise. Sehr gut Smile DANKE an alle die geholfen haben

VG
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.