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

Laufvariable in unterschiedlichen Funktionen

 

MH

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2013, 20:25     Titel: Laufvariable in unterschiedlichen Funktionen
  Antworten mit Zitat      
Hallo ich hätte eine kurze Frage, wobei ich hoffe das Problem richtig zu erklären! Hab langsam das Gefühl den Wald vor lauter Bäumen nicht mehr zu sehen Wink

Ich habe ein Programm welches einen Kreisprozess simuliert(kein Simulink!) und einige Unterfunktionen errechnen Messwerte welche ich letztendlich in einer großen Matrix als aufeinanderfolgende Zeilen abspeichern will.
Deswegen hätte ich mir überlegt nach der jeweiligen Berechnung noch eine Unterfunktion einzufügen welche die nächste Zeile erstellt und der Matrix hinzufügt.
Mein Problem ist nun das das Ganze nicht in einer festen Reihenfolge abläuft sondern austauschbar sein muss.
Was ich nun suche ist eine Möglichkeit eine Variable "durchlaufen" zu lassen, also jedes Mal wenn die Unterfunktion aufgerufen wird diese um +1 zu erhöhen ohne diese als Ein-oder Ausgabeparameter zu definieren.
Das gleiche würde für die Matrix gelten!

Thx,
Marcus


MH

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2013, 20:35     Titel: Vereinfacht
  Antworten mit Zitat      
Okay vereinfacht würde ich einfach sagen das ich einen Befehl suche mit dem ich direkt eine Variable/Matrix des Workspace in einer Unterfunktion aufrufen und verändern und dann zurückgeben kann Rolling Eyes
 
Harald
Forum-Meister

Forum-Meister


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

du kannst statt Unterfunktionen geschachtelte Funktionen (nested functions, siehe Doku) verwenden. Dann kannst du aus der Funktion auf den Workspace der Unterfunktion zugreifen. Was du damit erreichen willst, ist mir allerdings nicht klar.

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.01.2013, 21:22     Titel: --
  Antworten mit Zitat      
okay hab einfach was kurz zusammengeschrieben was gemeint habe...
Code:

function [] = Wertematrixfunktion(p, T, h, s)

a = a+1; %Laufvariable die bei jedem Funktionsaufruf erhöht werden soll

Wertematrix(a,:) = [p, T, h, s]; %Diese Zeile soll in meine Matrix an a-ter Stelle eingefügt werden
end
 


Letztendlich will nach all dem berechnen eine Matrix mit den Ergebnissen in der richtigen Reihenfolge haben!
Nested Functions wären nicht allgemein genug da nicht alle Berechnungen in einer Unterfunktion(bzw. deren Unterfunktion) stattfinden! mein Script schaltet mehrere nacheinander.

Oh man einfach schwer zu beschreiben Smile
 
Harald
Forum-Meister

Forum-Meister


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

zur Not kannst du globale Variablen verwenden.

Ist aber halt die Schwierigkeit: wenn du Probleme hast, zu beschreiben, was du willst, dann haben wir ziemlich sicher Probleme, zu verstehen, was du machen willst ;)

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.