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

Inhalt einer Variable mit einem String vergleichen

 

weckchen
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 22.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 16:38     Titel: Inhalt einer Variable mit einem String vergleichen
  Antworten mit Zitat      
Hallo,

vielleicht kann mir ja jemand helfen der zufällig heute nix anderes zu tun hat als sich mit Matlab rumzuschlagen.

Bitte nicht lachen ... ich bin kein geborener Programmierer daher ist mein Code wahrscheinlich nicht der eleganteste ... Anregungen sind dringlichst erwünscht. Wink

Aaaalso, ich möchte Messwerte plotten, dazu lese ich eine Textdatei ein und lasse mir mit uigetfile unter anderen den Dateinamen zurückgeben:

Code:
[FileName,PathName,FilterIndex]  = uigetfile('*.txt',  'Datei auswählen','Messwerte/..');


Es gibt eine begrenzte Anzahl von Textdateien die ich einlesen werde und ich weiß im voraus wie der Dateiname der Textdateien ist.
(z.B.: sample1.txt, sample2.txt, sample3.txt, sample4.txt)

Nun möchte ich dass je nach eingelesener Textdatei die Plots farblich unterschiedlich sind ... und möchte dafür nicht jedes mal in Quellcode rumfummeln.

Ich versuche das gerade mit einer switch-Anweisung, welche den Inhalt von Filename mit den Namen der möglichen Textdateien vergleichen soll.

Code:

switch FileName
   case FileName == 'sample1.txt'
      plot(L_ref, L_mess, '-', 'Markersize', 10, 'LineWidth', 2, 'Color', [0 1.0 0.7]);
    case FileName ==  'sample2.txt'
      plot(L_ref, L_mess, '-', 'Markersize', 10, 'LineWidth', 2, 'Color', [0 0 0.7]);
    case FileName == 'sample3.txt'
        plot(L_ref, L_mess, '-', 'Markersize', 10, 'LineWidth', 2, 'Color',  [1.0 0.8 0]);
    otherwise
        plot(L_ref, L_mess, '-', 'Markersize', 10, 'LineWidth', 2, 'Color', [1.0 0 0.2]);
end;
 


Allerdings erhalte ich folgende Fehlermeldung

Code:

??? Error using ==> eq
Matrix dimensions must agree.
 


Kann mir evtl. jemand helfen ??? Was mache ich falsch ? Wo finde ich den Knoten in meinem Kopf ??
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 22.02.2009, 16:48     Titel:
  Antworten mit Zitat      
Hallo,
so sollte es gehen
Code:

switch FileName
   case {'sample1.txt'}
      plot(L_ref, L_mess, '-', 'Markersize', 10, 'LineWidth', 2, 'Color', [0 1.0 0.7]);
    case {'sample2.txt'}
      plot(L_ref, L_mess, '-', 'Markersize', 10, 'LineWidth', 2, 'Color', [0 0 0.7]);
    case {'sample3.txt'}
        plot(L_ref, L_mess, '-', 'Markersize', 10, 'LineWidth', 2, 'Color',  [1.0 0.8 0]);
    otherwise
        plot(L_ref, L_mess, '-', 'Markersize', 10, 'LineWidth', 2, 'Color', [1.0 0 0.2]);
end
 
Private Nachricht senden Benutzer-Profile anzeigen
 
weckchen
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 22.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2009, 17:19     Titel:
  Antworten mit Zitat      
DANKE !!!

Das hat mir sehr geholfen. Hm, die Klammern hatte ich natürlich noch nicht ausprobiert.


Allaaf !!!
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 - 2024 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.