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

Hilfe bei running Code

 

Lisa89
Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 13.12.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2019, 20:23     Titel: Hilfe bei running Code
  Antworten mit Zitat      
Hallo,

ich brauche einmal Hilfe bzgl. meines Codes. Wenn ich den Code laufen lasse, bekomme ich andere Ergebnisse raus als jemand anderes. Woran könnte das liegen? Kann jemand den Code bei sich laufen lassen und mir sagen, was man als loss und optimale werte rausbekommt? Das wäre sehr nett!!

Parameter_Grundmodell.m
 Beschreibung:

Download
 Dateiname:  Parameter_Grundmodell.m
 Dateigröße:  367 Bytes
 Heruntergeladen:  212 mal
Main_Grundmodell.m
 Beschreibung:

Download
 Dateiname:  Main_Grundmodell.m
 Dateigröße:  538 Bytes
 Heruntergeladen:  206 mal
Dynamik_Grundmodell.m
 Beschreibung:

Download
 Dateiname:  Dynamik_Grundmodell.m
 Dateigröße:  5.65 KB
 Heruntergeladen:  232 mal
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 12.12.2019, 07:58     Titel:
  Antworten mit Zitat      
Schritt 1: Mittels des Kommandos "ver" prüfen, ob die MATLAB Releases incl. Updates identisch sind sowie das Betriebssystem

Falls "ja" würde ich sagen es gibt z.B. eine Funktion die eine andere "shadowed". Also selber Name, tut aber etwas anderes und es gibt andere Reihenfolge auf dem MATLAB Pfad

Zufallszahlen im Code können natürlich ein Rolle spielen

In seltenen Fällen so. BLAS Bibliotheken

Schritt 2: Falls "nein", idealerweise auf ein aktuelles Release upgraden. Es ist natürlich denkbar, dass irgendwo ein Bug ist. Debuggen sollte das Problem zu ein paar Zeilen kondensieren. Falls identische Befehle mit identischen Daten unterschiedliche Ergebnisse geben sich an den MathWorks Support wenden (MATLAB Toolstrip oben rechts).

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Lisa89
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 13.12.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.12.2019, 12:16     Titel:
  Antworten mit Zitat      
Vielen Dank!

das erste ergibt Sinn. Die release sind die Gleichen. Ich den Code in verschiede Ordner gespeichert, wo der Pfad auch am kürzesten ist, dennoch bekomme ich immer noch das Ergebnis. Wie finde ich den gezielt die Funktion, die die andere shadowed?
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 13.12.2019, 13:56     Titel:
  Antworten mit Zitat      
Wenn man einen Verdacht hat mit dem Befehl

Code:


Mal ein Beispiel wenn man irrtümlicher Weise eine Variable plot nähme:

Code:

plot(1:10) % works
plot=42;
plot(1:10)
Index exceeds the number of array elements (1).

'plot' appears to be both a function and a variable. If this is unintentional, use 'clear plot' to remove the
variable 'plot' from the workspace.
 
>> which plot -all
plot is a variable.
plot is a built-in method                                                              % Shadowed connector.internal.LoggerLevel method
usw
 


Wenn man keinen Verdacht hat gilt es zu debuggen bis man die Codefragmente identifiziert hat bei denen es sich das Zwischenergebnis unterscheidet.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Lisa89
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 13.12.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.12.2019, 15:00     Titel:
  Antworten mit Zitat      
Ich habe mal Octave runtergeladen und den Code dort laufen lassen. Dort kommt das richtige Ergebnis raus. Aber wie kann das sein? Als ich es mir Octave angeschaut habe, habe ich gesehen, dass das Programm auch mit den gleichen Ordnern arbeitet wie Matlab. Wie kommt es dann, dass dort eine Funktion nicht geshadowed wird?
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 02.01.2020, 11:28     Titel:
  Antworten mit Zitat      
In meiner R2019b, Win10 Installation läuft der Code in 0,2s durch und das hier sind die Ergebnisse:

Code:


L =

   0.926668898230843

    16           63         0.926669         shrink
 
Optimization terminated:
 the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-04
 and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 1.000000e-04


delopt =

    60    50


minloss =

   0.926668898230843


exitflag =

     1


output =

  struct with fields:

    iterations: 16
     funcCount: 63
     algorithm: 'Nelder-Mead simplex direct search'
       message: 'Optimization terminated:↵ the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-04 ↵ and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 1.000000e-04'



 
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Lisa89
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 13.12.18
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.01.2020, 15:46     Titel:
  Antworten mit Zitat      
Danke,

ich habe meinen Code jetzt verändert. Der Code läuft jetzt in beiden Programmen aber es kommen verschiedene Ergebnisse raus. Ich bin mir auch nicht sicher, ob beide Programme den selben Algorhitmus verwenden. Ich dachte, dass es zwischen Octave und Matlab nur zu minimalen Abweichungen kommt aber diese sind schon etwas größer. Ich habe meinen neuen Code mal hochgeladen, vielleicht kann jemand schauen, woran das Problem liegt.
Der Code läuft durch die File Main_Grundmodell.

DGMplot.m
 Beschreibung:

Download
 Dateiname:  DGMplot.m
 Dateigröße:  6.05 KB
 Heruntergeladen:  187 mal
Dynamik_Grundmodell.m
 Beschreibung:

Download
 Dateiname:  Dynamik_Grundmodell.m
 Dateigröße:  5.87 KB
 Heruntergeladen:  190 mal
Plot_Grundmodell.m
 Beschreibung:

Download
 Dateiname:  Plot_Grundmodell.m
 Dateigröße:  1.04 KB
 Heruntergeladen:  183 mal
Main_Grundmodell.m
 Beschreibung:

Download
 Dateiname:  Main_Grundmodell.m
 Dateigröße:  506 Bytes
 Heruntergeladen:  184 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 03.01.2020, 09:10     Titel:
  Antworten mit Zitat      
Disclaimer: Ich bin MathWorks-Mitarbeiter. Ich bitte das zu berücksichtigen wenn ich schreibe, das Octave weit entfernt von der Funktionalität von MATLAB ist. Ich diskutiere die Fragestellung unten in einer Weise wie ich das täte wenn unterschiedliche MATLAB-Installationen unterschiedliche Ergebnisse liefern würden:

1. Im Code werden Zufallszahlen genutzt. Ich halte es für recht wahrscheinlich, dass die Problemstellung damit verbunden ist. Ich schlage vor versuchsweise einen "random impulse" zu generieren, als MAT Datei zu speichern und im Code ausschließlich diese MAT Datei zu laden und zu verwenden. Dadurch kann bewiesen oder ausgeschlossen werden, dass Zufallszahlen Ursache sind.

2. Bei der Nutzung von Optimierungsverfahren wie hier "fminunc" können kleine numerische Unterschiede große Effekte. In diesem Fall können sogar die verschiedenen Ergebnisse alle "mathematisch richtig" sein, es sind nur andere Minima. Üblicherweise ist es ein Problem der mathematischen Formulierung oder der Daten, selten der Algorithmen.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
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.