|
Flaschenhals |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.05.2013, 16:59
Titel:
|
 |
ok läuft, danke. doch wie kann ich nun die zu verändernden Positionen ermitteln. Ich möchte nur die Positionen in einem Array haben.
Mit pre und numels gebe ich ja indirekt die Positionen an:
pre(1):pre(1)+numels(1) = 2 3 4 5
pre(2):pre(2)+numels(2) = 7 8 9
positionen = [2 3 4 5 7 8 9] das soll als Ergebnis ausgegeben werden
|
|
|
|
|
Flaschenhals |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 02.05.2013, 23:02
Titel:
|
 |
Nun ja, noch eine weitere Frage bleibt offen, und zwar wie könnte ich die NaN's, durch die letzte Zahl ersetzen.
Mal angenommen, ich habe [1 NaN NaN NaN NaN 6 4 4 4 8]
Da möchte ich das die NaN's durch 1 ersetzt werden, weil die 1 die letzte gültige Zahl ist.
Bei dem Fall, dass die Reihe wie folgt aussieht [1 NaN NaN NaN NaN 6 NaN NaN NaN 8] sollte als Ergebnis folgendes rauskommen [1 1 1 1 1 6 6 6 6 8]
Problematisch ist es wenn die erste Zahl ungültig ist (also Nan), sollte der nächste mögliche Wert ersetzt werden. Beispielsweise sollte bei
[NaN NaN NaN NaN NaN 6 4 4 4 8] folgendes ausgegeben werden
[6 6 6 6 6 6 4 4 4 8]
|
|
|
Flaschenhals |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.05.2013, 16:32
Titel:
|
 |
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 05.05.2013, 22:44
Titel:
|
 |
Hallo Flaschenhals,
Es ist ineffizient, wenn Du die Aufgabe schrittweise veränderst. Wenn Du von Anfang an erklärst, was das gewünschte Ziel ist, könnte man direkt auf eine Lösung hinarbeiten.
Wieso sollte man zuerst NaNs in die Daten einfügen, wenn sie hinterher wieder überschrieben werden?
Was hast Du bisher versucht, um die NaNs zu ersetzen? Eine FOR-Schleife wäre eine gute Idee.
Gruß, Jan
|
|
|
Flaschenhals |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 05.05.2013, 23:46
Titel:
|
 |
Also das war der letzte Ansatz, den ich noch machen wollte. ich wollte noch ein thread aufmachen, da dachte ich mir, das ich es gleich hier anhänge. Wenn du mir bissl mehr Tipps geben würdest. Könnte ich es probieren.
|
|
|
Flaschenhals |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 07.05.2013, 16:14
Titel:
|
 |
|
|
Flaschenhals |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 09.05.2013, 16:42
Titel:
|
 |
nur noch die letzte Hilfestellung bitte, dann hab ich die aufgabe gelöst
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 13.05.2013, 00:43
Titel:
|
 |
Hallo Flaschenhals,
Es würde mich mehr motivieren zu antworten, wenn Du hier im Thread zeigst, was Du genau probiert hast. Die notwendigen Änderungen sind klein: Statt "invalid = (A >= 35)" benötigst Du "invalid = isnan(A)".
Gruß, Jan
|
|
|
Flaschenhals |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.05.2013, 21:55
Titel:
|
 |
Zitat: |
Ergebnis null zeros |
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.05.2013, 13:49
Titel:
|
 |
Hallo Flaschenhals,
Und ist das Problem nun gelöst oder nicht? Ich verstehe nicht, was "null zeros" bedeutet.
Gruß, Jan
|
|
|
Flaschenhals |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.05.2013, 14:44
Titel:
|
 |
A = [1 2 2 2 2 6 4 4 4 8 3 3 3 5 2 2];
Zwischenschritt 1 funktioniert ja:
A = [1 NaN NaN NaN NaN 6 NaN NaN NaN 8 NaN NaN NaN 5 2 2];
Ich möchte nun die NaN's, durch den letzten gültigen Wert ersetzen.
A = [1 1 1 1 1 6 6 6 6 8 8 8 8 5 2 2];
Mit dem jetzigen Code bekomme ich nur zeros
|
|
|
Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 14.05.2013, 15:33
Titel:
|
 |
|
 |
|
Hallo Flaschenhals,
Es ist effizienter, wenn man nicht zuerst erraten muss, was z.B. "Zwischenschritt 1" ist. Je genauer Du Dein problem erklärst, desto mehr Zeit bleibt den lesern, eine Antwort zu überlegen.
Auch "Ergebnis null zeros" ist verglichen mit "ich bekomme nur zeros" nicht unbedingt hilfreich.
Zitat: |
A = [1 1 1 1 1 6 6 6 6 8 8 8 8 5 2 2]; |
Bekommst Du dies oder ist dies Dein Ziel?
Heißt "ich bekomme nur zeros" vielleicht, dass dies das Ergebnis ist:
?
Ich schlage vor, Du verwendest einfach den Debugger und gehst Zeile für Zeile durch den Code. Dann kannst Du selbst herausfinden, woran es hängt.
Benötigst Du das Zwischenergebnis mit den NaNs überhaupt? Wenn sie doch sowieso wieder überschrieben werden, könnte man das doch weglassen.
Also, ich komme nicht drumherum zu sagen, dass sich das Thema ausgesprochen hinzieht. Eigentlich ist die Aufgabe wohl kurz und kompakt, aber wir kommen irgendwie nicht auf den Punkt, sondern halten und zu viel mit Rückfragen nach Unklarheiten auf.
Ist es das Ziel, mehr als 3 benachbarte gleiche Zahlen durch den Vorgänger des Gebietes zu ersetzen? Das könnte man mit einem oder zwei Sätzen ausdrücken und dann auch viel klarer programmieren.
Gruß, Jan
|
|
|
jurtsche |

Forum-Century
|
 |
Beiträge: 123
|
 |
|
 |
Anmeldedatum: 26.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 15.05.2013, 08:35
Titel:
|
 |
Ich würds auf die Schnelle so machen.
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
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.
|
|