|
|
Messwerte aus Spalten vergleichen |
|
FredVIW |
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 31.05.2020, 16:01
Titel: Messwerte aus Spalten vergleichen
|
|
Hallo liebe Community,
ich habe zwei Vektoren (Vektor A zeigt die Kraft [kN], Vektor B zeigt den Weg [mm] mit folgenden Werten:
Vektor A:
und Vektor B:
Die Werte sind messtechnisch erfasst und endlos lang, deshalb hier nur ein kleiner Ausschnitt.
Ich möchte den Vektor B in einer Schrittfolge von 0:1:750 [mm] durchlaufen und den Wert im Vektor B finden, der der 0, 1, 2 usw. bis 750 hin am nächsten kommt. Für diesen Wert möchte ich dann den zugehörigen Wert aus dem Vektor A ausgeben und beide in einem neuen File speichern. (Reduzierung der Messwerte)
Für mich ist nicht klar, wie ich die Annäherung an den Wert (0mm, 1mm, 2mm) codieren kann.
Gruß.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.06.2020, 09:54
Titel:
|
|
Hallo,
Vorschlag: B sortieren (
sort
) und A entsprechend umordnen, dann
interp1
mit Option "neareast".
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
FredVIW |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.06.2020, 10:13
Titel:
|
|
Hallo Harald,
das Sortieren der Werte leuchtet mir ein. Wie lassen sich aber die entsprechenden Werte aus "A" dann den sortierten Werten zuordnen?
Grüße
FRED
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.06.2020, 11:15
Titel:
|
|
Hallo,
zweites Rückgabeargument verwenden.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
FredVIW |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.06.2020, 12:38
Titel:
|
|
Vielen Dank, Harald.
Ich habe es zuvor schon in einer anderen Frage im Forum gesehen.
Bei der Interpolation mit interp1 treten aber Fehlermeldungen bei folgendem Code auf:
Error using griddedInterpolant
The grid vectors must contain unique points.
Error in interp1 (line 151)
F = griddedInterpolant(X,V,method);
Error in relaxation (line 15)
vq = interp1(x, v, xq, 'nearest');
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.06.2020, 13:56
Titel:
|
|
Hallo,
die Fehlermeldung ist ja recht klar: du hast augenscheinlich mehrere B-Werte, eventuell mit unterschiedlichen A-Werten. Was willst du nun mit diesen machen?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
FredVIW |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.06.2020, 14:08
Titel:
|
|
Hallo Harald,
Im Grunde suche ich im Vektor B die Werte, die exakt 0mm, 1mm (in dieser Schrittfolge bis 750mm) betragen. jeder Millimeter soll abgefragt werden. Da das aber meist nicht der Fall ist (aufgrund der hohen Abtastrate) will ich den Wert finden, der zu exakt 0mm, 1mm usw. bis 750mm stets den geringsten Abstand aufweist und diesem den zugehörigen Wert aus Vektor A zuordnen.
Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.06.2020, 14:14
Titel:
|
|
Hallo,
das ist mir klar, aber keine Antwort auf meine Frage.
Anders gefragt: wenn der nächstgelegene B-Wert zu 1mm 0.99999 wäre und du aber zwei Werte dazu hast
0.99999 2
0.99999 3
welchen willst du dann nehmen?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
FredVIW |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.06.2020, 14:33
Titel:
|
|
Hallo Harald,
okay, jetzt verstehe ich.
Ich würde dann den ersten nehmen (0.99999 2).
Grüße
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.06.2020, 15:21
Titel:
|
|
Hallo,
dann kannst du die doppelten herauslöschen. Nach dem Sortieren und vor dem Interpolieren:
Ein Gedanke: in der Form ist das natürlich sehr anfällig gegenüber Ausreißern. Wäre es nicht sinnvoll, die Werte, die gerundet ein gewisses Maß ergeben zu mitteln (z.B. nach Entfernung gewichtet)?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
FredVIW |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.20
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.06.2020, 15:31
Titel:
|
|
Grüß dich Harald,
dein Code funktioniert - vielen Dank.
Zu deiner Frage:
Meinst du, man rundet alle Werte auf zwei Stellen nach dem Komma?
Grüße!
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 01.06.2020, 16:57
Titel:
|
|
Hallo,
Zitat: |
man rundet alle Werte auf zwei Stellen nach dem Komma? |
Die Genauigkeit ist dir überlassen.
Schau dir mal einen Plot der gesamten Daten an und wie stark das schwankt? Bekommst du mit der bisherigen Vorgehensweise Werte, die das vernünftig widerspiegeln?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
|
|
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.
|
|