|
freddy123 |

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 27.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 03.04.2013, 14:13
Titel: Filtern der Daten
|
 |
Hallo,
Ich möchte gerne Werte oberhalb 35 aus meinem Datensatz filtern, dabei würde ich gerne, die Stellen die ich gefunden habe mit dem vorherigen Wert korrigieren. Es könnte aber vorkommen, das der vorherige Wert auch Fehlerhaft sein könnte, also über der Schwelle liegen. Zusätzlich könnte beispielsweise auch der erste Wert auch außerhalb der Schwelle liegen.
Wie könnte ich diese Sachen in mein Code einbauen. Anschließend möchte ich die Anzahl der korrigierten Werte in einer Variable speichern. Nach vielen Bastelarbeiten, komm ich nicht mehr weiter.
|
|
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 04.04.2013, 00:07
Titel: Re: Filtern der Daten
|
 |
Hallo freddy123,
Ich verstehe nicht, woher der MEAN-Befehl im Code kommt. In der Beschreibungen dessen, was Du möchtest, taucht kein Mittelwert auf.
Was möchtest Du als Ergebnis, wenn der erste ungültig ist? Solche Details können wir uns nicht ausdenken.
Ich würde mit einer einfachen Schleife starten:
Produziert dies das gewünschte Ergebnis? Wenn ja, könnte eine vektorisierte Lösung zwar schneller sein, es bliebe aber abzuwägen, ob man Minuten in die Programmierung stekcen sollte, wenn das Programm nur Sekundenbruchteile läuft.
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.04.2013, 00:50
Titel:
|
 |
Hi Jan,
bei dem ersten soll er dann weiterschauen bis der nächste wert unterhalb der schwelle liegt, und bei den anderen stellen, soll er nach hinten laufen und den ersten unterhalb der schwelle liegenden wert abgreifen. habs angepasst, jedoch ohne erfolg
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 04.04.2013, 11:41
Titel:
|
 |
Hallo,
Zitat: |
habs angepasst, jedoch ohne erfolg |
Bitte lass uns nicht raten, was nicht wie gewünscht funktioniert. Man kann viel effizienter eiun Problem beantworten, wenn man es nicht zunächst erraten muss.
Es wäre auch gut zu wissen, ob mein Vorschlag die erwarteten Ergebnisse liefter oder nicht. Während das für Dich leicht zu prüfen ist, kann ich es nicht herausfinden. Bitte gib uns so viele Informationen wie möglich, weil ansonsten unsere und Deine Arbeitszeit stärker beansprucht wird als nötig.
Statt die ersten fehlende Werte auf NaN zu setzen, möchtest Du sie also mit dem ersten gültigen Wert ersetzen.
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.04.2013, 15:41
Titel:
|
 |
habs mal jetzt ausprobiert mit
Zitat: |
Attempted to access A(0); index must be a positive integer or logical. |
Mit der Lösung funktioniert das:
ich würd mich nur mal freuen, wenn du mal paar worte bezüglich der zweiten zeile bis 5 zeile machen könntest
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 04.04.2013, 16:59
Titel:
|
 |
Hallo,
Ja, da ist ein Bug. Ich habe leider kein Matlab um es selbst auszuprobieren. Wenn die ersten Werte invalid sind, darf man sie nicht nochmal überschreiben:
Funktioniert die besser?
Welches sind denn die "zweite bis 5. Zeile"? Helfen die paar Kommentare bereits?
Gruz, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 06.04.2013, 21:04
Titel:
|
 |
japp das läuft jetzt gut, danke.
ich würde aber gerne jetzt noch das ganze so erweitern, dass anstelle der nan werte, das arithmetische Mittel von den bisherigen werte ersetzt werden. wichtig das es nur valide werte zur berechnung von arith. mittel verwendet werden.
dabei soll der erste wert , mit dem nächsten validen wert überschrieben, falls es nan ist.
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.04.2013, 09:20
Titel:
|
 |
Hallo,
Was hast Du bisher ausprobiert und was läuft nicht wie gewünscht?
In diesem Thread sind bereits alle Methoden gezeigt worden, die zur Lösung benötigt werden. Woran hängt es dann konkret?
Gruß, Jan
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.04.2013, 13:16
Titel:
|
 |
ich hab das gleiche problem mit dem ersten nicht validen wert--
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 08.04.2013, 16:49
Titel:
|
 |
Hallo,
Was genau ist "das gleiche" Problem? Bedenke, dass Du den ganzen Tag vor Deinem Problem sitzt, aber die Leser im Forum lesen dutzende Threads am Tag.
Wir hatten verschiedene Methoden hier im Thread benutzt um ungültige Punkte am Anfang zu behandeln. Wieso nutzen diese Methoden nun nichts?
Gruß, Jan
|
|
|
freddy123 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 27.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.04.2013, 22:30
Titel:
|
 |
Naja eine Frage habe ich noch zu deinem ursprünglichen Code-Vorschlag:
Ich habe dein Code-Vorschlag für mehrere beispiele (random) angewendet. Im groben und ganzen läuft es, nur manchmal, bekomme ich folgende Fehlermeldung:
Attempted to access A(0); index must be a positive integer or logical.
Error in beispiel (line 43)
A(k) = A(k - 1);
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 10.04.2013, 22:42
Titel:
|
 |
Hallo,
mit den genannten Daten läuft der Code durch.
Du solltest schon ein Beispiel bringen, bei dem du die Fehlermeldung auch bekommst.
Grüße,
Harald
|
|
|
Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 10.04.2013, 23:25
Titel:
|
 |
ok danke, ich werde mir es mal anschauen.
|
|
|
freddy123 |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 57
|
 |
|
 |
Anmeldedatum: 27.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 11.04.2013, 20:41
Titel:
|
 |
bislang habe ich die vaaliden werte mit invalid = (A >= 35) ermittelt
nun habe ich aber die funktion angepasst, ich würde gerne die funktion auf folgendes problem übertragen, das macht es probleme
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 12.04.2013, 11:07
Titel:
|
 |
Hallo freddy123,
Ich hatte einige Rückfragen gestellt, die nicht beantwortet worden sind. Stattdessen kommen neue Fragen von Dir. Das ist keine sinnvolle Nutzung des Forums und der Arbeitszeit der Antwortenden.
Zitat: |
ich würde gerne die funktion auf folgendes problem übertragen, das macht es probleme |
Ich verstehe nicht, was genau "folgendes Problem" ist und wie es sich von den vorherigen unterscheidet. Und es wäre hilfreich, wenn Du "es macht Probleme" mit irgendwelchen Details erklären würdest.
Gruß, Jan
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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.
|
|