Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » cell mit [](0x0)
Druckversion
Druckversion
Antworten
Antworten
Autor
Ausbildung cell mit [](0x0)
Markus_Sw
Wenig Aktiv Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 21.03.2015
Mitteilungen: 70
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2019-08-01


Hallo,
ich komme bei einer Sache nicht weiter.
Ich lese 30 txt.-Files (a 10 Zeilen) ein, die aus Zahlen und Wörtern bestehen. Jetzt möchte ich jedes dieser Files prüfen, ob es ein bestimmtes Wort enthält. D.H. mein Ziel ist es bei j=1:30 die j's herauszufinden die das gesuchte Wort enthält.
Scheinbar trivial, mit textread zum einlesen und  strfind habe ich nun ein Cell der folgenden Form:
Ergebnis:
 [1,1] =
  {
    [1,1] = [](0x0)
    [2,1] = [](0x0)
    [3,1] = [](0x0)
    [4,1] =  6
    [5,1] = [](0x0)
    [6,1] = [](0x0)
    [7,1] = [](0x0)
    [8,1] = [](0x0)
    [9,1] = [](0x0)
    [10,1] = [](0x0)
}
[1,2] =
  {
    [1,1] = [](0x0)
    [2,1] = [](0x0)
    [3,1] = [](0x0)
    [4,1] = [](0x0)
    [5,1] = [](0x0)
    [6,1] = [](0x0)
    [7,1] = [](0x0)
    [8,1] = [](0x0)
    [9,1] = [](0x0)
    [10,1] = [](0x0)
}
[1,3] =
  {
    [1,1] = [](0x0)
    [2,1] = [](0x0)
    [3,1] = [](0x0)
    [4,1] =  6
    [5,1] = [](0x0)
    [6,1] = [](0x0)
    [7,1] = [](0x0)
    [8,1] = [](0x0)
    [9,1] = [](0x0)
    [10,1] = [](0x0)
}
....

Dort wo die "6" steht, also in den Files 1 und 3 stand das Wort.  Ich schaffe es jetzt nicht, mit  if oder eine sonstige Abfrage  die 6 herauszufiltern um so auf die Files (j=)1 und 3 schließen zu können. Bspw funktioniert auch kein strcmp (Ergebnis, 6), selbst wenn ich als test (das File und die Zeile genau adressiere) strcmp(Ergebnis{1}(4,1),6)  ergibt das eine null. Weiß jemand was ich falsch mache bzw. eine Lösung?  



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Folgende Antworten hat der Fragesteller vermutlich noch nicht gesehen.
Er/sie war noch nicht wieder auf dem Matheplaneten
elmio
Senior Letzter Besuch: vor mehr als 3 Monaten
Dabei seit: 31.01.2007
Mitteilungen: 559
Aus: verschiede Orte, D
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2019-08-24


Hallo Markus,
Wenn du einen cell-array A hast, kannst Du eine Schleife über alle Elemente machen, und testen wann ein Eintrag nicht leer ist:
matlab
for ii = 1 : numel(A)
    if ~isempty(A{ii})
        % ... tu was nuetzliches
    end
end

Falls Du einen cell-array von cell-arrays hast (wie das bei deiner Darstellung aussieht), dann brauchst Du entpsrechend zwei schleifen:

matlab
for ii = 1 : numel(A)
    for jj = 1 : numel(A{ii})
        if ~isempty(A{ii}{jj})
            % ... tu was nuetzliches
 
        end
    end
end

Vielleicht hilft das?
Gruss,
elmio



Eine Notiz zu diese Forumbeitrag schreiben Notiz   Profil  Quote  Link auf diesen Beitrag Link
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]