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

Einlesen und verwenden/erkennen von Worten aus Excel

 

ccrl
Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 01.11.12
Wohnort: Braunschweig
Version: R2011b
     Beitrag Verfasst am: 06.01.2013, 20:38     Titel: Einlesen und verwenden/erkennen von Worten aus Excel
  Antworten mit Zitat      
Hallo Leute,

ich möchte Worte aus Excel einlesen. Wenn diese Worte auftauchen sollen Funktionen ausgelöst werden.

Bespiel für Excel-Datei:
A1=test1
A2=test2
A3=test3

Code:

[num txt raw]=xlsread('file','sheet','A1:A3');
for i=1:3
   if( txt(i)=='test1')
   %hier wird dann irgendeine Funktion ausgeführt
   elseif(txt(i)=='test2')
   %hier wird eine andere Funktion ausgeführt
   elseif(txt(i)=='test3')
   %hier wird eine andere Funktion ausgeführt
   else
   %nicht passiert
   end
end
 


Es erscheint folgende Fehlermeldung:
Undefined function 'eq' for input arguments of type 'cell'.

Ich verstehe, dass ich nicht "==" verwenden darf, aber was wähle ich dann?

MfG
Carl
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: 06.01.2013, 21:10     Titel:
  Antworten mit Zitat      
Hallo,

für das Vergleichen von Text sollte man strcmp oder ähnliche Funktionen verwenden. Zudem {} statt (), um aus den Cells den Inhalt herauszuholen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 06.01.2013, 21:12     Titel:
  Antworten mit Zitat      
Versuch mal
Code:


if strfind(txt(i),'test1') > 0
 %do something

 


oder so ähnlich...



%Edit
Doch lieber strcmp wie Harald vorgeschlagen hat.
Private Nachricht senden Benutzer-Profile anzeigen
 
ccrl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 01.11.12
Wohnort: Braunschweig
Version: R2011b
     Beitrag Verfasst am: 06.01.2013, 21:30     Titel:
  Antworten mit Zitat      
erst einmal danke für eure antwort, aber das verstehe ich noch nicht ganz.

Code:

   strcmp(txt(1,1),'test') % hier spuckt er mir '1' aus

   if(strcmp(txt(1,1),'test')==1) % hier kommt die gleiche fehlermeldung
 


wie sollte ich die '{}' verwenden? das habe ich auch versucht, aber keine lösung gefunden.
das gleiche passiert bei strfind.
Private Nachricht senden Benutzer-Profile anzeigen
 
markuman
Forum-Guru

Forum-Guru


Beiträge: 320
Anmeldedatum: 14.12.12
Wohnort: ---
Version: 2013a/2013b, Octave 3.6.4, 3.7.7
     Beitrag Verfasst am: 06.01.2013, 21:33     Titel:
  Antworten mit Zitat      
Code:


octave:1> txt{1,1}='test'
txt =
{
  [1,1] = test
}
octave:2> if strcmp(txt{1,1},'test')==1
> sprintf('you got it')
> end
ans = you got it
octave:3>


 
Private Nachricht senden Benutzer-Profile anzeigen
 
ccrl
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 22
Anmeldedatum: 01.11.12
Wohnort: Braunschweig
Version: R2011b
     Beitrag Verfasst am: 06.01.2013, 21:44     Titel:
  Antworten mit Zitat      
ich korrigiere, ich hatte einen anderen Fehler drin. jetzt funktioniert alles wunderbar Very Happy

vielen dank Wink
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.