|
xPashAx |

Forum-Guru
|
 |
Beiträge: 294
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 14:39
Titel: 2 Wert-Zeit Messungen
|
 |
Hallo Leute,
ich habe 2 Messungen zB
A1=[0 2 5 8 9]
t1 =[0 1 3 5 8]
B2=[0 7]
t2=[0 4]
Ziel:
A1=[0 2 5 6.5 8 9]
t1 =[0 1 3 4 5 8]
vorschlag war ts=timeseries([A1],[t1],'Name','A1');
B2=[0 4 6 7]
t2 =[0 1 3 4]
vorschlag war ts=timeseries([A1],[t1],'Name','A1');
für A1 und t1 klappt es schon aber für B2 und t2 klappt es nicht. da kommt immer NaN Wert raus.
Hat jemand einen Vorschlag
Ich bedank mich schon vorraus.
|
|
|
|
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 14:59
Titel:
|
 |
Schau mal ob Du hiermit weiterkommst, habe es nur für B augeschrieben geht aber auch für A. Es gibt dir die Werte mit interpoliert mit Schrittweite 1 zurück.
P.S.: Du musst nicht alles doppelt erklären, wenn Du im alten Thema antwortest statt ein neues aufzumachen.
|
|
|
xPashAx |
Themenstarter

Forum-Guru
|
 |
Beiträge: 294
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 15:09
Titel:
|
 |
Danke Zenon für die schnelle Antwort,
es soll aber nicht die Schrittweite 1 sein.
Ich versuche erstmal A1,t1 Messung mit B2,t2 Messung zu überlagern und danach B2,t2 mit A1,t1.
Ich möchte also 2 Messungen mit gleichem Zeitintervall haben.
Zeit für beide Messungen sollte also so sein t=[0 1 3 4].
|
|
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 15:22
Titel:
|
 |
Dann musst Du [min(t2):max(t2)] was das Zeitintervall darstellt, durch Dein Intervall also [0 1 3 4] ersetzen.
Solange Dein Intervall innerhalb der Grenzen von t2 bzw. t1 liegt kannst Du das problemlos ändern. Außerhalb geht nicht so einfach. da du sonst extrapolieren würdest und das geht nicht auf diese Weise.
|
|
|
xPashAx |
Themenstarter

Forum-Guru
|
 |
Beiträge: 294
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 15:46
Titel:
|
 |
wie kann man dieses t bestimmen. weil t1 und t2 sind vektoren von der grösse 1000.
ich will also ein t der bis zum letztem kleinstem t läuft (hier in dem Fall 4) aber soll dazwischen auch noch die werte von dem anderem vektor haben.
|
|
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 16:00
Titel:
|
 |
Das sollte es sein: t enthält alle Werte von t1 die in das Intervall von t2 passen. Über die werte von t wird anschließend B2 interpoliert.
|
|
|
xPashAx |
Themenstarter

Forum-Guru
|
 |
Beiträge: 294
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 23.03.2010, 16:10
Titel:
|
 |
|
|
xPashAx |
Themenstarter

Forum-Guru
|
 |
Beiträge: 294
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.03.2010, 10:01
Titel:
|
 |
hi zenon,
hier noch ne kleine frage:
wäre es auch so möglich:
t1=[0 1 3 5 8]
t2=[0 4]
tges=unique([t1 t2]) jetzt habe ich ja alle werte [0 1 3 4 5 8]
tmin=min(t1(end),t2(end))
ich will ja das es [0 1 3 4] aussieht.
|
|
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.03.2010, 11:09
Titel:
|
 |
So geht es ja erstmal nicht, da tmin ja nur einen Wert beinhaltet.
Kannst Du nochmal genau erklären, was Dein Ziel ist bzw. wofür du das brauchst, dann kann ich dir wahrscheinlich besser helfen.
Willst Du:
1. Aus den zwei Messungen wiederum zwei mit gleicher Länge und zeitlicher Skalierung gewinnen?
2. Aus zwei Messungen eine machen?
3. Was ganz anderes...ich dachte eigentlich ich hätte deine ursprüngliche Frage beantwortet. Nun frage ich mich natürlich, warum du jetzt weitersuchst, wo es doch funktioniert...
Ich brauche also mehr Details
|
|
|
xPashAx |
Themenstarter

Forum-Guru
|
 |
Beiträge: 294
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.03.2010, 11:23
Titel:
|
 |
hi zenon,
die messdaten wurden in verschiedenen zeiten abgetastet. das eine mit zB 5ms und das andere 11 ms.
weil die andere messung ja früher aufhört muss ich das andere ja auch abgrenzen.die zeit achse sollte aber auch identisch sein.möchte danach die werte ja vergleichen.
habs wohl bissele sch... erklärt
aber die frage nochmal
hab einen vektor zB: t=[0 11 23 45 67 69 71]
kann ich dann irgendwie praktisch sagen so ich will die werte nur bis 67.
also so t=[0 11 23 45 67]
|
|
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.03.2010, 11:33
Titel:
|
 |
Das habe ich hier doch schon gesagt max(t2) ist hier Deine 67...nur das es der größte Zeitwert von t2 ist an dem sich hier orientiert wird.
Zenon hat Folgendes geschrieben: |
|
|
|
|
xPashAx |
Themenstarter

Forum-Guru
|
 |
Beiträge: 294
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.03.2010, 11:42
Titel:
|
 |
nein das was du geschrieben hast ist ja richtig. wollte auch mal irgendwie anderster mache.
so das ich erst die Zeitachse bestimme und dann resample verwende.
... und das mitm vektor klappt es denn?
...und vielen dank nochmals
ich hab doch gefunden: so meinte ich es:
A1=[0 2 5 8 9]
t1=[0 1 3 5 8]
B2=[0 4]
t2=[0 4]
tges=unique([t1 t2])
tmin=min(t1(end), t2(end))
tgesAktuell=tges(1:tges(4))
und bingo
tgesAktuell =
0 1 3 4
Zuletzt bearbeitet von xPashAx am 24.03.2010, 11:53, insgesamt einmal bearbeitet
|
|
|
Zenon |

Forum-Guru
|
 |
Beiträge: 292
|
 |
|
 |
Anmeldedatum: 20.01.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.03.2010, 11:52
Titel:
|
 |
Ich hoffe ich hab eben nicht entnervt geklungen beim drüberlesen über meinen Text kam es mir fast so vor - wars aber nicht.
Es sollte funktionieren wenn du erst mit unique dine Zeitvektoren fusionierst und dann mit meiner Schleife und max(t2) arbeitest dabei musst du aber numel(tges) nutzen und auch sonst t1 durch tges ersetzen.
Auch könntest Du noch ein else mit break Befehl einfügen, so dass die for Schleife verlassen wird sobald ein Wert größer max(t2) auftaucht, schließlich sind die Werte sortiert und es kommen dann nur noch größere Werte.
Ich hoffe das war verständlich...
Scheue dich nicht weiter zu fragen...
|
|
|
xPashAx |
Themenstarter

Forum-Guru
|
 |
Beiträge: 294
|
 |
|
 |
Anmeldedatum: 18.05.09
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.03.2010, 13:07
Titel:
|
 |
hi zenon,
noch ne frage.
hab einen vektor
t=[2 4 7 8 11 12 23 26 29]
gibts da keinen befehl der es zu einer bestimmten zahl auflistet?zB bei 23.
dann sieht es ja so aus t=[2 4 7 8 11 12 23]
|
|
|
|
|
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.
|
|