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

Buchstabenfolge im Variablennamen?

 

Soeckle
Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2010, 18:28     Titel: Buchstabenfolge im Variablennamen?
  Antworten mit Zitat      
Hallo,

ich habe ein vermutlich recht simples Problem:
Ich möchte im Programm eine Fallunterscheidung machen, die abhängig von den Variablennamen ist.
Die genutzten Namen der Variablen enthalten Informationen über die Versuche deren Daten sie enthalten. Z.B. v300_sphere_i3 oder v20_square_i5...

Ich möchte nun für den jeweiligen Variablennamen überprüfen, ob "sphere" oder! "square" enthalten ist um dann zu entscheiden, wie weiter verfahren wird.
Das muss also irgendwie folgendermassen ausschauen:
Code:

if Variablenname enthält sphere
  u=0
else
  u=1
end

Leider fehlt mir für die if-Zeile jegliche Idee.
Kann mir jemand helfen?
Danke im Voraus.
Gruss,Soeckle
Private Nachricht senden Benutzer-Profile anzeigen


Zenon
Forum-Guru

Forum-Guru


Beiträge: 292
Anmeldedatum: 20.01.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2010, 18:35     Titel:
  Antworten mit Zitat      
Schau dir mal strfind an. Passt das nicht gibts noch strmatch und findstr.

Daraus kann man eine Bedingung schnitzen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Soeckle
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 04.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 17.03.2010, 19:11     Titel:
  Antworten mit Zitat      
Klasse! Danke. Mit strfind komme ich schon mal ein grosses Stück vorwärts.
Leider tauchen jetzt andere Probleme auf...
Ich hatte mir ein Funktion "gebastelt", dessen einzige Aufgabe es war, die Daten zu bearbeiten und anschliessend einen Plot zu zeigen. Durch die notwendige Fallunterscheidung kann ich innerhalb der Funktion nicht auf den Variablennamen verzichten. Der Aufruf hat sich daher von
meinefunction(v300_sphere_i3,p,q,r)
auf
meinefunction('v300_sphere_i3',p,q,r)
verändert.
Jetzt muss ich natürlich innerhalb meiner Funktion aus dem string wieder meine Variable machen. Ich habe eval gefunden...
Leider funktioniert eval bei mir nur im Command Window wenn ich etwas rumspiele. Aber innerhalb der Funktion bekomme ich eine Fehlermeldung, dass 'v300_sphere_i3' nicht bekannt wäre.
Ich habe unten mal den Code:

Code:

function [] = meinefunction(A,p,q,r)

data = eval(A); %übernimmt die Daten
run   = A;         %beinhaltet Namen und damit die Information über Versuch
clear A

%Fallunterscheidung
FU = strfind(run,'sphere')
if isempty(FU)
...
else              
....
end
 


Hier scheint etwas mit der Uebergabe nicht zu funktionieren.
Hat jemand auch hierzu eine Idee?

Gruss,
Soeckle
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.03.2010, 22:31     Titel:
  Antworten mit Zitat      
Hallo,

hier wäre es vielleicht einfacher, den Funktionsaufruf beizubehalten und mit INPUTNAME zu arbeiten. Ansonsten brauchst du wahrscheinlich EVALIN, weil die Variable ja im anderen Workspace liegt - oder du kombinierst die Aufrufe und übergibst Variablenname UND Inhalt.

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.