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 für "function" und "fminbnd"

 

ichbrechinsessen

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.11.2013, 14:38     Titel: Hilfe für "function" und "fminbnd"
  Antworten mit Zitat      
Guten Tag,

ich bin noch nie mit Funktionen auf einen grünen Zweig gekommen, ich programmiere lieber mit Hilfsvariablen.

Für fminbnd oder lsqnonlin etc. benötigt man allerdings Funktionen.

Nur leider kriege ich keine Funktion zum laufen, weil die Funktion benötigt Variablen aus dem Workspace. Wenn ich sie als Input der Funktion mitübergebe, gibt es einen Fehler, dass es eine undefinierte Funktion für Eingabeargumente des Typs Double sei.

Der Sinn des ganzen soll sein, einen Wert zu finden, mit dem die Abweichung zwischen zwei Verläufen minimiert werden kann.

Die Verläufe liegen als Zeilenvektor vor: Z_referenz, Z_anzupassen

min{Z_referenz - (Z_anzupassen + Verschiebung)}

Umgesetzt wurde das Ganze so:
Code:
Verschiebung=fminbnd(MeineFunktion, VerschiebungMin, VerschiebungMax)

MeineFunktion
Code:
function [GesamtAbweichung] = MeineFunktion(Verschiebung, Z_Referenz, Z_anzupassen)

GesamtAbweichung=mean(Z_referenz-Z_anzupassen+Verschiebung)


Problem ist aber, dass Z_referenz und Z_abweichung eben nicht als Übergabewert funktionieren. Lasse ich sie weg, dann kennt die Funktion die Variablen nicht, als wenn die Funktion ihren eigenen Workspace hätte.

Es muss doch leichter möglich sein, auf unabhängige und damit konstante Variablen im Workspace zuzugreifen?

Vielen Dank schonmal.


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 19.11.2013, 14:48     Titel:
  Antworten mit Zitat      
eine möglichkeit währen zb globale variablen. ist zwar nicht schön. klappt aber. eine bessere möglichkeit würde mich auch interessieren aber ich hatte bis jetzt noch keine zeit mich damit zu beschäftigen Smile
_________________

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: 19.11.2013, 16:26     Titel:
  Antworten mit Zitat      
Hallo,

hier ist eine Übersicht der Möglichkeiten:
http://www.mathworks.com/help/optim.....ing-extra-parameters.html
Das trifft so auch auf fminbnd zu. Meine bevorzugte Möglichkeit sind anonymous functions. Beachtenswert insbesondere auch der Satz:
Zitat:
Global variables are troublesome because they do not allow names to be reused among functions. It is better to use one of the other two methods.


Grüße,
Harald
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.