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

Befehlsrückgabe

 

bogomier
Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 18.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2010, 15:31     Titel: Befehlsrückgabe
  Antworten mit Zitat      
Hallo,

ich habe eine ganz einfache Frage, bei der ich mir nicht sicher bin, in welche Kategorie sie fällt. Deswegen stelle ich sie einfach mal hier:

Es gibt ja viele Befehle, die mehr als einen Wert zurück geben, z.B.
min(...) gibt ja zum einen das Minimum und dazu die Spalte/Zeile
zurück, in der das Minimum steht.

Wie kann ich nun erreichen, dass mir Matlab immer alle Argumente
zurück gibt, wenn ich den Befehl in der Kommandozeile eintippe. D.h.
wenn ich momentan
>> min(x)

eintippe, kriege ich nur das Minimum, aber nicht den Ort. Gibt es eine
einfache Art, auch noch den Ort ausgegeben zu bekommen?

viele Grüße,

bogomier
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: 20.01.2010, 15:39     Titel:
  Antworten mit Zitat      
Hallo,

das steht doch nun recht klar in der Hilfe
Code:

unter Syntax:
Code:

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 18.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2010, 16:37     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Antwort. Das hatte ich auch schon gelesen. Ich dachte eher daran, ob es generell eine Möglichkeit gibt, sich alle Variablen zurück geben zu lassen. Also auch, wenn eine Funktion ggf. 5 Werte zurück gibt, ohne sowas wie
[a,b,c,d,e] = blabla(x)
schreiben zu müssen.

Viele Grüße,

bogomier
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: 20.01.2010, 16:53     Titel:
  Antworten mit Zitat      
Hallo,

nicht, dass mir bekannt wäre.
Das ist auch nicht weiter verwunderlich: man muss ja zumindest die Namen der Variablen angeben, in die die Ausgabe gespeichert werden soll. Der Aufwand, diese Namen durch Kommata voneinander zu trennen und [ ] um alles zu schreiben, sollte verkraftbar sein.

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

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 20.01.2010, 17:10     Titel:
  Antworten mit Zitat      
Hallo

Was ist dir denn nervig?

Man kann zumindest auch in eine Variable zurückgeben lassen

Code:

%
A           = round(rand(1,100)*10);
%
% Variable muss vorinitialisiert werden
% mit Anzahl erwarteter Rückgabewerten
vals       = cell(1, nargout(@min));
[vals{:}]  = max(A);

vals

 
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: 20.01.2010, 17:21     Titel:
  Antworten mit Zitat      
Hallo,

Das ist natürlich eine elegante Möglichkeit für die Verwaltung der Rückgabeargumente. Ich denke jedoch, dass es nicht gerade zu einer besseren Lesbarkeit des Codes beiträgt Wink

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 18.03.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2010, 17:30     Titel:
  Antworten mit Zitat      
Hallo,

mir geht es nur darum, dass ich manchaml aus der Kommandozeile Befehle ausprobieren will, und die Ergebnisse später nicht weiter verwenden will, sondern nur einmal anschauen will. Dafür wäre es halt praktisch, wenn man ein Möglichkeit hätte, sich einfach eine Rückgaben einfach so ausgeben zu lassen.

Viele Grüße,

bogomier
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 20.01.2010, 17:54     Titel:
  Antworten mit Zitat      
@Harald

Laughing Lesbarkeit war ja nicht gefragt, nur Reduktion von Rückgabeparameter

@bogomier

Das ist technisch nicht möglich, die Funktion muss ja wissen wie viele Rückgaben von ihr erwartet werden.
Wird Funktion ohne Rückgabeparameter aufgerufen, dann
wird diese automatisch an Rückgabevarible ans übergeben
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.