|
|
|
Logische Abfrage programmieren |
|
| Basdi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 09:26
Titel: Logische Abfrage programmieren
|
 |
Hallo!
Ich hab ein Problem und erhoffe mir Hilfe bei euch Profis
Ich habe zwei Vektoren welche Messwerte enthalten. Der eine enthält 200 Einträge und der andere 50. Nun sollen beide Vektoren folgendermaßen ausgewertet werden:
- Wenn ein Messwert im ersten Vektor enthalten ist (der mit 200 Einträgen), dann soll dieser anhand der vorliegenden Gleichungen ausgewertet werden. Ist kein Messwert in dieser Vektor vorhanden, soll nichts passieren.
- Liegt ein Wert im zweiten Vektor vor, so soll die Auswertung um diesen Wert ergänzt werden. Wenn nicht soll ebenfalls nichts passieren.
Ich würde diese Logik gerne mit zwei If-Schleifen programmieren. Aber wie gebe ich dem Programm vor zum einen wann ein Wert vorliegt und zum anderen, dass das Programm dann auch genau diesen Wert zur Auswertung nutzt?!?
Wäre super wenn einer von euch mit weiterhelfen könnte!
Liebe Grüße
Basdi
|
|
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 09:49
Titel:
|
 |
huhu. also mit
besorgst du dir erstmal die größe deines messwert vektors. ( kannst ja beide messwerte in einem 2x200 vektor speichern) und mit
guckst du wo die messwerte sind. ich geh mal davon aus das da wo keine sind NaN drin steht.
danach durschläufst du einfach den vektor mit ner forschleife und guckst dir alle elemente an und überprüfst mit ifschleifen was gemacht werden soll
grüße winkow
|
|
|
|
| Gast |
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 10:11
Titel:
|
 |
Hi!
Danke für deine Antwort.
Ich hab verstanden wie ich meine Problematik umsetzen könnte.
Welchen Befehl muss ich denn anwenden damit der kleinere Vektor in eine Matrix der Länge des größeren geschrieben wird, sodass die zwischenwerte als NaN eingetragen werden? Ich kenne nur die interp Funktion aber interpolieren möchte ich ja gerade nicht
Vielen Dank schonmal!
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 10:19
Titel:
|
 |
Hallo,
du kannst einen Vektor mit 200 NaN vorbelegen und die Einträge des Vektors mit 50 Elementen in diesen Vektor schreiben.
An welche Stellen die 50 Elemente zu schreiben sind, musst du aus deiner Anwendung heraus entscheiden.
Grüße,
Harald
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 10:20
Titel:
|
 |
|
naja es muss ja nen logischen zusammenhang geben welcher der 50 werte zu welchem der 200 gehört. kanst entweder auch mit ner schleife und if adden oder du lässt es einfach mit den 2 vektoren. is ja auch nicht schlimm
|
|
|
|
| Basdi |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 10:48
Titel:
|
 |
Hm... Also einen direkten logsichen Zusammenhang haben die beiden Vektoren leider nicht. Die Abtastzeiten sind leider auch unterschiedlich. Ich kann also nicht sagen, dass t2 = 5*t1 ist. Daher gelingt mir die Zuordnung leider gerade nicht
Bisher komme ich leider noch nicht auf einen Nenner bei der Umsetzung.
Aber vielen Dank für eure Hilfe!
Gruß
Basdi
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 11:38
Titel:
|
 |
Hallo,
ist dann für beide Vektoren jeweils ein Zeitvektor gegeben? Man kann ja die Zuordnung ja schlecht auswürfeln.
Grüße,
Harald
|
|
|
|
| mampfbackenhamster |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 08.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 12:01
Titel:
|
 |
Hallo Harald,
ich hab mich grade erstmal registriert. Danke schonmal für deine Mühe!
Ich habe in den angehängten PDFs zwei Matrizen angehangen wie ich sie zu verarbeiten habe.
Die Matrix der x_pp Messung enthält in der ersten Spalte die Zeit und in der zweiten Spalte die Messwerte. Bei der Matrix des GPS ist es genau umgedreht.
Beide Aufnahmen starten zeitgleich, jedoch (wie ersichtlich) mit unterschiedlicher Abtastrate.
Die Auswertung der Daten soll so erfolgen, dass immer der jeweilige x_pp-Wert ausgewertet wird. Wenn nun ein GPS-Wert vorliegt soll dieser die Auswertung ergänzen...
Vll. hab ich mich jetzt etwas klarer ausgedrückt.
Vielen Dank!
Basdi
| Beschreibung: |
|
 Download |
| Dateiname: |
GPS_v.pdf |
| Dateigröße: |
18.6 KB |
| Heruntergeladen: |
303 mal |
| Beschreibung: |
|
 Download |
| Dateiname: |
x_pp_MC.pdf |
| Dateigröße: |
57.46 KB |
| Heruntergeladen: |
317 mal |
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 12:43
Titel:
|
 |
die negativen zeiten verwirren mich ein wenig aber naja.
such einfach in einer matrix erstmal nach den einträgen die du auswerten willst. dann liest die zeit aus und suchst aus der 2. matrix die zeit raus und ermittelst den zugehörigen messwert. kannst mit ner verschachtelten for-schleife machen und n bissel if schleife.
|
|
|
|
| mampfbackenhamster |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 08.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 13:03
Titel:
|
 |
ich geb dir recht. Man sollte seine eigenen Matrizen schon beschreiben können
Die Zeiten stehen in beiden Matrizen in der zweiten Spalte und die Messwerte in der ersten Spalte...
|
|
|
|
| Winkow |

Moderator
|
 |
Beiträge: 3.842
|
 |
|
 |
Anmeldedatum: 04.11.11
|
 |
|
 |
Wohnort: Dresden
|
 |
|
 |
Version: R2014a 2015a
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 13:32
Titel:
|
 |
nunja die zeiten stimmen ja auch nicht wirklich überein. also suchst du dann nach zeiten von +- n paar hundertstel. es siht aber so aus als wäre das eine 5 mal häufiger gesampelt als das andere also kannst du entweder
machen (Signal Processing Toolbox ) oder
sowas in der art. vieleicht führt das ja zu nem brauchbaren ergebniss
|
|
|
|
| mampfbackenhamster |

Forum-Newbie
|
 |
Beiträge: 3
|
 |
|
 |
Anmeldedatum: 08.11.11
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 08.11.2011, 13:44
Titel:
|
 |
Hallo Winkow,
ja genau die nicht ganzzahlige Variation der Samplezeit ist das Problem.
Aber vielen Dank für die Vorschläge! Ich denke ich komme damit wesentlich weiter!
Grüße
Basdi
|
|
|
|
|
|
|
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.
|
|