|
|
Vektor bereichsweise untersuchen |
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 13:58
Titel: Vektor bereichsweise untersuchen
|
 |
Hallo liebe Forum-Mitglieder.
Ich habe ein Problem und hoffe ihr könnt mir helfen.
Ich habe einen Zahlenvektor x mit 100000 Werten. Ich möchte jetzt folgendes machen:
ich nehme mir die ersten 10 Werte und suche nach max und min und speichere mir den index in einem vektor ab. dann nehme ich mir die nächsten 10 usw. bis ich den Vektor durch bin.
Leider habe ich nicht soviel Ahnung von Matlab und hoffe ihr könnt mir weiterhelfen.
Vielen Dank schonmal.
Viele Grüße
Jenny
|
|
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:09
Titel:
|
 |
Das wäre eine Möglichkeit:
|
|
|
zuBesuch |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:11
Titel:
|
 |
So könnte man es auch machen:
|
|
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:14
Titel:
|
 |
was ist genau ein Offset?
und was wäre denn, wenn ich einen Vektor mit 106 werten hätte? dann geht das ja nicht direkt auf mit den 10 werten.
Kannst du mir dazu noch was sagen?
|
|
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:19
Titel:
|
 |
Danke Gast
zuBesuch hat Folgendes geschrieben: |
So könnte man es auch machen:
|
Das funktioniert nicht. Habe es versucht. Bekomme aber in z.b. index_max Zahlen die sich wiederholen. Das kann ja nicht sein.
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:24
Titel:
|
 |
1. Den Offset benötigst du, da der index von max immer nur zwischen 1 und 10 liegt. Wenn du nun aber den Bereich 21...30 untersuchst, willst da wissen an welche Stelle das Maximum in x liegt. Daher muss ich für diesen Abschnitt nun zu dem ermittelten max index zwischen 1 und 10 das i = 21 - 1 dazuzählen.
2. Das ist richtig...dann würde es hier am Ende eine Fehlermeldung geben, da ich auf den Bereich 101...110 zugreifen will, aber bei 106 Schluss ist. Hast du eine Idee, wie man das lösen kann? Tipp...die Länge des Vektors x vorher auf einen Rest bei Division durch 10 prüfen.
Zuletzt bearbeitet von DSP am 16.08.2011, 14:32, insgesamt einmal bearbeitet
|
|
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:28
Titel:
|
 |
Vielen Dank erstmal.
Du bist echt super.
Aber kannst du mir noch sagen, was ich machen kann, wenn es nicht aufgeht? Also wie ich die letzten Zahlen < 10 vergleichen kann?
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:30
Titel:
|
 |
Ich habe dir ja schon einen Tipp gegeben...mach doch mal selbst einen Versuch/Vorschlag. Dann helfe ich dir gern weiter.
Edit: der Befehlt mod liefert dir sogar den Rest...damit hast du alles was du brauchst um das Problem zu lösen.
|
|
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:33
Titel:
|
 |
Okay.
Angenommen ich habe die Länge 106
Also ich würde das mit mod(length(x),10) untersuchen und dann erstmal
und dann würde ich die letzten 6 Elemente des Vektors seperat untesuchen.
Was meinst du?
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:34
Titel:
|
 |
Bingo
|
|
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:40
Titel:
|
 |
Ich hab doch noch ne Frage. Habe das gerade ausprobiert und irgendwie passt das nicht.
Also index gibt mir doch die Position des max in meinem vektor x an, oder?
was ist das dann mit dem index_max?
Also irgendwas verstehe ich hier falsch
|
|
|
DSP |

Forum-Meister
|
 |
Beiträge: 2.117
|
 |
|
 |
Anmeldedatum: 28.02.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: R2014b
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:43
Titel:
|
 |
Was passt nicht?
index_max ist doch von dem anderen code. Hier wird x eben in b zu 10er Päckchen aufgeteilt und du erhältst somit wieder nur einen index_max zwischen 1 und 10. Hier müsste man dann ebenfalls den Offset dazuzählen, wenn man den index des Maximums in x wissen möchte.
|
|
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 14:45
Titel:
|
 |
Tut mir leid. Habe mich vertan. Passt alles.
Vielen Dank nochmal.
Warst mir echt eine große Hilfe.
Viele Grüße
jenny
|
|
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 15:07
Titel:
|
 |
wäre zu schön um war zu sein, hätte es sofort funktioniert.
Also mit max klappt es wunderbar.
Mache ich aber das gleiche mit min, also:
dann bekomme ich einen Vektor, der doppelt so lang ist wie der Max Vektor und die ersten Werte sind alle 0.
Versteh ich nicht. Kannst du mir dazu was sagen?
|
|
|
jenny2103 |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.08.2011, 15:12
Titel:
|
 |
Problem gefunden.
Habe vergessen den Index m wieder auf 1 zu setzten
Danke nochmal.
Klappt alles super.
Gruß
|
|
|
|
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.
|
|