|
|
Länge des Vectors ändert sich nach filtern? |
|
joekey |

Forum-Century
|
 |
Beiträge: 169
|
 |
|
 |
Anmeldedatum: 03.04.08
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: 2011b
|
 |
|
|
 |
|
Verfasst am: 27.09.2014, 22:11
Titel: Länge des Vectors ändert sich nach filtern?
|
 |
Hallo liebe Kollegen,
ich bin ein bisschen werwirrt. Bei der Ausführung von folgenden Zeilen bekomme ich die Ergebnisse wie die angehängte Bilder zeigen
Was ich bei
bekomme, sieht ihr im Bild (incorrectResult).
Bei
bekomme ich das richtige Ergebniss (correctResult)
Wie kann es sein das sich beim filtern ändert die Größe des Vectors? Ich verstehe es nicht
Danke!
LG
Joekey
Beschreibung: |
|
 Download |
Dateiname: |
incorrectResult.png |
Dateigröße: |
6.92 KB |
Heruntergeladen: |
309 mal |
Beschreibung: |
|
 Download |
Dateiname: |
correctResult.png |
Dateigröße: |
2.91 KB |
Heruntergeladen: |
320 mal |
Beschreibung: |
|
 Download |
Dateiname: |
idx.jpg |
Dateigröße: |
20.49 KB |
Heruntergeladen: |
328 mal |
Beschreibung: |
|
 Download |
Dateiname: |
reshuffleDateListSingle.jpg |
Dateigröße: |
44.01 KB |
Heruntergeladen: |
327 mal |
|
|
|
|
|
joekey |
Themenstarter

Forum-Century
|
 |
Beiträge: 169
|
 |
|
 |
Anmeldedatum: 03.04.08
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: 2011b
|
 |
|
|
 |
|
Verfasst am: 28.09.2014, 11:24
Titel:
|
 |
Hallo nochmal
ich habe ein Beispiel mit Originaldaten vorbereitet (Beispieldaten sind angehängt):
Wie ist es möglich dass diese zwei Vorgehensweisen unterschiedliche Ergebnisse liefern? Wa mache ich falsch?
Danke!
LG
Joekey
Beschreibung: |
|
 Download |
Dateiname: |
example.rar |
Dateigröße: |
27.82 KB |
Heruntergeladen: |
377 mal |
Beschreibung: |
|
 Download |
Dateiname: |
exampleTest.m |
Dateigröße: |
96 Bytes |
Heruntergeladen: |
338 mal |
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 01.10.2014, 23:41
Titel:
|
 |
Hallo joekey,
Ich verstehe die Frage immer noch nicht.
Offenbar ist der Inhalt von "idx" nicht 1:20 , worüber wunderst Du Dich dann?
Was würdest Du denn erwarten?
Gruß, Jan
|
|
|
joekey |
Themenstarter

Forum-Century
|
 |
Beiträge: 169
|
 |
|
 |
Anmeldedatum: 03.04.08
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: 2011b
|
 |
|
|
 |
|
Verfasst am: 03.10.2014, 10:46
Titel:
|
 |
Hallo Jan,
es geht nicht um die variable data selbs, sonder um die Zellen die in data enthalten sind. Nach dem filtern hat sich die Größe der Zellen von 554 in
[409x1 logical] [379x1 logical] [410x1 logical] [157x1 logical] ...
geändert.
Danke!
LG joekey
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 03.10.2014, 11:58
Titel:
|
 |
So lange du nicht erklärst was idx ist, kann man dir wohl nicht weiterhelfen.
Jan bringt es doch schon auf den Punkt...
Jan S hat Folgendes geschrieben: |
Offenbar ist der Inhalt von "idx" nicht 1:20 , worüber wunderst Du Dich dann?
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 03.10.2014, 18:12
Titel:
|
 |
Hallo joekey,
Ist es inzwischen klar?
idx(1) ist halt nicht 1, also ist "data(idx(1)" einfach ein anderes Cell-Element als "data(1)".
Gruß, Jan
|
|
|
joekey |
Themenstarter

Forum-Century
|
 |
Beiträge: 169
|
 |
|
 |
Anmeldedatum: 03.04.08
|
 |
|
 |
Wohnort: Wien
|
 |
|
 |
Version: 2011b
|
 |
|
|
 |
|
Verfasst am: 03.10.2014, 20:24
Titel:
|
 |
|
 |
|
Hallo Jan,
es ist leider nicht klar, weil das Problem noch nicht erkannt wurde:
1) Vector data hat beim ausgangspunkt Zellarray die alle gleiche Länge haben (in meinem Beispiel 544x1])
2) Ich kann dieses Ausgangsvector (1) filtern:
a) entwder direkt duch eingabe von Vector: data(1:20) (die Wahl des Vectorgröße hat mit dem Ergebniss nicht direkt zu tun. Es ist nur ein beispiel für eine direkte Eingabe von index. Ohne ein anderes Index über Variable zu referenzieren).
b) oder ich referenziere auf Index dass in einer anderen Variable gespeichert ist.
3) da ausgangsdaten alle gleiche Länge haben, sollte es meiner meinung nach egal sein, mit welcher Methode (a/b) ich die Elemente auswähle, Ergebniss = die länge des Vectors in jeweiliger Zelle sollte gleich mit dem der Ausgangsdaten sein, oder? Ich filtere ja nur die Zellen aus, und ändere nicht deren Inhalt.
Hoffe ich habe jetzt mehr Klarheit zu meinem Problem geschaffen.
Danke noch mal für Hilfe!
LG
Joekey
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 09.10.2014, 18:15
Titel:
|
 |
|
 |
|
Hallo joekey,
Ich glaube, Du stehst auf dem Schlauch.
Zitat: |
1) Vector data hat beim ausgangspunkt Zellarray die alle gleiche Länge haben (in meinem Beispiel 544x1]) |
Die Beispiel-Daten, die Du gezeigt und gepostet hast haben aber eben nicht alle die gleiche Dimension [544 x 1].
Weshalb gehst Du davon aus, dass alle Cell-Elemente die gleiche Dimension haben? Matlab zeigt Dir doch eindeutig, dass es nicht so ist.
Das von Dir geposteten Beispiel-Code macht mit den Daten genau das, was zu erwarten ist. Die extrahierten Cell-Elemente habe exakt die gleiche Größe, die sie auch im Cell-Array haben. Ich sehe also nach wie vor kein Problem.
Probiere es doch mal explizit aus:
Es spielt in Matlab keine Rolle, ob man den Index direkt angibt oder in einer Variablen speichert. Wenn hier in Deinem Programm etwas anderes geschieht, gibt es an einer andere Stelle einen Befehl, der etwas von Dir unerwartetes verändert.
Vielleicht überschreibst Du den Inhalt von idx irgendwo - tückisch sind da die Verwendung von Skripten statt Funktionen und "Fernmanipulationen" per EVALIN und ASSIGNIN.
Oder idx ist nicht als Variable definiert (Tippfehler beim Namen?), sondern eine Funktion und deren Resultat ist unerwartet, aber korrekt.
Gefährlich ist es auch LOAD ohne Rückgabe-Parameter zu verwenden und so direkt in den Workspace zu schreiben. Wenn man übersieht, dass das MAT-File dann noch mehr Variablen enthält, kann man schnell Bugs produzieren. Besser ist es also immer die eingelesenen Werte in einem Struct zu speichern mit "Data=load()".
Gruß, Jan
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|