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

Variable aus Funktion bekommen

 

Maya

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.07.2011, 21:52     Titel: Variable aus Funktion bekommen
  Antworten mit Zitat      
Hallo!

Das ist vielleicht eine etwas blöde Frage.
Also ich habe eine Funktion, die im Laufe ihrer Berechnung eine Struktur anlegt, nennen wir sie "s".

Leider kann ich "s" nicht über die Ausgabeparameter zurück in mein Hauptprogramm geben, weil die Funktion innerhalb sequentialfs aufgerufen wird, und da wird so wie ich das verstehe nur das erste Ausgabeargument verwertet.

Was ist nun die cleverste Variante "s" auch im Hauptprogramm zu verwenden? Über 'save'?

Oder wird s sowieso im Workspace angelegt und kann verwendet werden? Das kommt mir aber relativ unschön vor...

Danke,
Maya


Georg J
Forum-Century

Forum-Century



Beiträge: 113
Anmeldedatum: 22.06.11
Wohnort: ---
Version: R2008a
     Beitrag Verfasst am: 11.07.2011, 22:10     Titel:
  Antworten mit Zitat      
Hi Maya,

Ohne Code verstehe ich zwar nicht, warum du dir den Wert nicht zurückgeben lassen kannst, aber wie wär's mit global?

Gruss, Georg
Private Nachricht senden Benutzer-Profile anzeigen
 
lilov
Forum-Century

Forum-Century


Beiträge: 193
Anmeldedatum: 05.05.10
Wohnort: Bremerhaven
Version: ---
     Beitrag Verfasst am: 11.07.2011, 23:29     Titel:
  Antworten mit Zitat      
ein Codeabschnitt wäre wirklich nicht schlecht. aber guck dir:
Code:
an.

Gruß,

lilov
Private Nachricht senden Benutzer-Profile anzeigen
 
Maya

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.07.2011, 11:19     Titel:
  Antworten mit Zitat      
Hallo ihr!

Also in meinem Hauptprogramm erstelle ich ein "structure", dass alle möglichen Parameter für einen classifier enthält.

Also sowas wie:
Code:
params.distribution = {'normal'; 'kernel'};
...
 


Dann möchte ich eine sequentialfs durchführen, die mir sagt, welche Features am besten geeignet sind.
Das mache ich so:

Code:

model = sequentialfs(@(features, classes)GridSearch( features, classes, params), features, classes, 'CV', 'none', 'direction', 'forward')
 


GridSearch sieht wie folgt aus:
Code:

function [ bestValue, bestParameter] = GridSearch( features, classes, params )
 


GridSearch wird also nur von sequentailfs augerufen, welches nur "bestValue" verwendet um die "guten" Features zu finden. Ich würde aber auch in meinem Hauptprogramm gerne an die Ausgabe "bestParameter" kommen. Was ist dafür die beste Möglichkeit?

ich hoffe so ist es verständlicher!
Maya
 
RobertP
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 24.11.11
Wohnort: DD
Version: 7.11
     Beitrag Verfasst am: 29.02.2012, 11:28     Titel:
  Antworten mit Zitat      
Hallo,

ich habe eine ähnliche Frage zur Nutzung von sequentialfs.
Ich habe eine Funtkion "svmpredict", die mir drei Ergebnisse liefert in der Form

Code:

[predicted_label, accuracy, prob_estimates] = svmpredict(testing_label_vector, testing_instance_matrix, model, 'libsvm_options')
 


Diese Funktion soll nun innerhalb von "sequentialfs" genutzt werden, wobei aber als Rückgabe nur der Wert von accuracy(1,1) interessiert.

Wie kann ich mir diesen Wert in folgendem Code zurückgeben lassen? Ich nutze MATLAB 2008a.

Code:

cmd = ['-c ', num2str(2^best_exp_C_CV), ' -g ', num2str(2^best_exp_gamma_CV), '-h 0 -b 0'];
fun = @(Xtrain,Ytrain,Xtest,Ytest)...
    svmpredict(Ytest,Xtest,(svmtrainLIBSVM(Ytrain, Xtrain, cmd)),'-b 0');
[inmodel,history] = sequentialfs(fun,X,Y);
 


Danke!
Gruß
Robert
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 - 2026 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.