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

Struct an eine Funktion übergeben und wieder aufrufen

 

Axel33

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 31.01.2011, 23:31     Titel: Struct an eine Funktion übergeben und wieder aufrufen
  Antworten mit Zitat      
Hi,

ich habe folgende Frage:
Ich möchte an eine Funktion mehrere Variable und einen Struct übergeben. Wie mache ich das, bzw. wie rufe ich den struct dann wieder auf?

Code:

Ergebnis=Funktion(a,b,c,stru);

zb.
stru.A = [1; 2; 3]
stru.B = [5;6;7]
 


Wie setze ich das um?

Gruß
Axel


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 01.02.2011, 00:50     Titel:
  Antworten mit Zitat      
Hallo,

hier ein kleines Beispiel+Matlabs "Getting started" mal lesen.
Code:

[stru,d] = Funktion(a,b,c,stru);
stru.A = [1; 2; 3]
stru.B = [5;6;7]
d = a+b+c;
 


Aufruf durch:
Code:

[struct123,Summe] = Funktion(a,b,c,stru);
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
MasterofDesaster
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 60
Anmeldedatum: 17.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2011, 08:12     Titel: Wie bei "varargin"
  Antworten mit Zitat      
Hi,

danke für die schnelle Antwort, funktioniert es bei
Code:
out1=Funktion(varargin)
genauso? Habe gerade kein Matlba zur Hand, daher die Frage?

lg
Private Nachricht senden Benutzer-Profile anzeigen
 
Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 01.02.2011, 12:51     Titel:
  Antworten mit Zitat      
Hallo,

kommt darauf an was du moechtest. Soll nur ein Wert aus der Funktion zurueckgegeben werden, dann reich rein Ausgabeparameter aus; in deinem Fall "out1". Moechtes du jedoch mehrere ausgeben, dann musst du sie kommagetrennt in die eckige Klammer wie in meinem Beispiel schreiben. Das mit varargin funktioniert natuerlich, du musst aber natuerlich wissen an welcher Stelle du welche Variable uebergeben hasst um Sie dann richtig abzurufen. Z.B. ueber folgende Form:
Code:

% Aufruf der Funktion
Summe = Funktion(a,b,c)

% Aufbau der Funktion
out1 = Funktion(varargin)
out1 = varargin{1}+varargin{2}+varargin{3};
 


MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
Axel33

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2011, 21:38     Titel:
  Antworten mit Zitat      
Danke schön!
 
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.