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

rekursive Folge -> "Matlab hängt sich auf"

 

bestmedia
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 72
Anmeldedatum: 02.04.11
Wohnort: Jena
Version: ---
     Beitrag Verfasst am: 02.04.2011, 21:47     Titel: rekursive Folge -> "Matlab hängt sich auf"
  Antworten mit Zitat      
Hallo,
ich wollte eine rekursive Folgen programmieren. Das habe ich mittels einer while Schleife versucht.
Sinn des Programms ist es das Kontoguthaben zu berechnen.

Code:

clear;
clc;
close all;
gewinn=300000;  % Gewinnsumme z.B. Lotto
y=gewinn;
zins=1+3/1200;   % Zins pro Monat
gehalt=1000;       % monatlicher Abgang
konto=[];
while gewinn>0    % hier soll solange Abgehoben werden bis nix mehr auf
    gewinn=gewinn*zins-gehalt;  %dem Konto ist
    konto=[konto gewinn];
end
monate=(1:length(konto));  % Anzahl der Monate
jahre=(0.0833:12:length(konto)); %Monate in Jahren
jahre(1)=[1];
ja=(0.0833:1/12:length(konto)/12);
plot(ja,konto)           %plotten des Kontostandes
title('Konto');
xlabel('Jahre');
ylabel('Kontostand in Euro');
x=polyfit(ja,konto,2);
x0=roots(x);  %nullstelle - wann ist Konto leer
i=find(x0<0);
x0(i)=[];
x0


Also das klappt mit einem Gewinn von 300000Euro und einem zins von 3% und 1000Euro abheben im Monat super.
Aber wenn man 400000 als Gewinn einträgt. Hängt er sich auf...
Private Nachricht senden Benutzer-Profile anzeigen


bestmedia
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 72
Anmeldedatum: 02.04.11
Wohnort: Jena
Version: ---
     Beitrag Verfasst am: 02.04.2011, 21:48     Titel:
  Antworten mit Zitat      
ich glaube es liegt nicht an Matlab sondern, daran dass das Guthaben immer mehr wird in die while - Schleife nicht mehr greift...
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.449
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.04.2011, 22:48     Titel:
  Antworten mit Zitat      
Hallo,

du glaubst richtig. Wenn ich es auf den ersten Blick richtig sehe, bleibt der Kontostand bei 400000 und ansonsten unveränderten Daten immer gleich.

Und ja, ist logisch: wenn ich weniger vom Konto abhebe als der Zinsertrag ist, kann ich ewig davon leben. Sprich entweder mehr abheben oder ein zusätzliches Abbruchkriterium (z.B. Anzahl der Iterationen) einführen.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 72
Anmeldedatum: 02.04.11
Wohnort: Jena
Version: ---
     Beitrag Verfasst am: 02.04.2011, 22:57     Titel:
  Antworten mit Zitat      
Danke für deine Antwort!
Das konnte ich nun durch eine If-Bedingung abfangen.
Wie kann ich denn die Formatierung im Plot bearbeiten? Ich möchte die Zahlenangabe nicht in 4*10^6 sondern in 400000.
Hast du einen Tipp? Ich finde nur den Befehl "Format" aber der bringt mich nicht weiter..

Viele Grüße
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

Code:
tp = get(gca, 'YTick');
set(gca, 'YTicklabel', num2str(tp'))


Über den num2str-Befehl könntest du nochmal die genaue Formatierung steuern.

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

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 72
Anmeldedatum: 02.04.11
Wohnort: Jena
Version: ---
     Beitrag Verfasst am: 03.04.2011, 00:09     Titel:
  Antworten mit Zitat      
Super!
Herzlichen Dank!
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 - 2024 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.