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

Vergleich zweier Funktionen mit while-Schleife & Tabelle

 

Dimension

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2016, 13:17     Titel: Vergleich zweier Funktionen mit while-Schleife & Tabelle
  Antworten mit Zitat      
Hallo zusammen,

folgende Problemstellung:

Zitat:
Der Kehrwert der Eulerschen Zahl kann mit folgender Formel annähernd berechnet werden:
1/e = (1 - 1/n)^n

Die Variable n soll als input eingegeben werden können und das Programm soll anschließend den Wert dieser Funktion mit der built-in Funktion exp(1) vergleichen. Außerdem soll das Programm im Weiteren den Wert für die Variable n finden, bei der das Ergebnis der beiden Funktionen bis auf 4 Stellen genau gleich ist. Zudem sollen all diese Ergebnisse in einer Tabelle dargestellt werden, bei der die erste Spalte die annähernde Funktion, die zweite Spalte die built-in Funktion und die dritte Spalte die Differenz dieser Funktionen sein soll.



Habe bisher folgenden Code geschrieben:
Code:
display('Formula: 1/e = (1 - 1/n)^n');

n = 'Please give a value for n: ';
n = input(n)

x = (1 - 1/n)^n

y = 1/exp(n)

display('Please press enter in order to find the value of n')
display('which will produce the same result obtained from both functions.')
pause;


x(n) = (1 - 1/n)^n;
y= 1/exp(n);
n = 1;
d = 1;
while d < 0.0001
    n = n + 1;
    x(n) = (1 - 1/n)^n;
    y(n)= 1/exp(n);
    d = x(n)-y(n);  
end
n
x(1:n)
y(1:n)


Das Problem hierbei ist, dass die Schleife sehr lange braucht und ich jedesmal Matlab über den Taskmanager schließen muss. Deshalb kann ich einfach nicht vorankommen Crying or Very sad

Freue mich auf jeden Tipp!


Harald
Forum-Meister

Forum-Meister


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

mich wundert, dass die Schleife überhaupt ausgeführt wird.
d < 0.0001 ist ja mit der Initialisierung d = 1 nicht erfüllt.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.10.2016, 16:27     Titel:
  Antworten mit Zitat      
Mit d < 0.0001 wollte ich eigentlich die 4 signifikanten Stellen ausdrücken. Muss ich etwa d > 0.0001 eingeben? Stehe voll auf dem Schlauch Confused
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 16.10.2016, 00:17     Titel: Re: Vergleich zweier Funktionen mit while-Schleife & Tab
  Antworten mit Zitat      
Hallo Dimension,

Code:
% x(n) = (1 - 1/n)^n;  % Überflüssig
% y = 1/exp(n);  % Wieso exp(n)?
y = 1 / exp(1);
n = 1;
d = Inf;  % Inf ist "hübscher", da es *irgendeine* große Zahl sein kann
while abs(d) > 0.0001   % ABS()!
    n = n + 1;
    x(n) = (1 - 1/n)^n;
    d = x(n) - y;  
end
n
x(1:n)

Das mit der 0.0001 bleibt aber seltsam: Das bedeutet, dass sich die Zahlen bis zur 4. Nachkomma-Stelle um weniger als 1 unterscheiden. Das ist nicht das gleich wie "4 gleiche Stellen". Die Null vor dem Komma sollte eigentlich auch mitzählen, oder? Überlege mal, ob da multiplizieren und Runden nicht besser ist.

Gruß, Jan
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.