WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Datum-abhängige Vektoren

 

Hektor

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2013, 15:29     Titel: Datum-abhängige Vektoren
  Antworten mit Zitat      
Hallo Freunde,

Habe zwei Vektoren, die ich gegenüberstellen möchte. Dabei sollen sich die Werte auf deren jeweiliges Datum beziehen und auch nur mit dem Wert vom selben Datum, des anderen Vektors, vergleichen.

Die Tage, die nur in einem Vektor vorhanden sind, sollen dabei nicht berücksichtigt werden bzw. dann in der passenden Zeile z.b. "0" anzeigen.

Bsp.: am 02.03.2004 Preis des Vektor 1: 5€; Preis Vektor 2 4€ = 9€
Wenn Preis 03.03.2004 2€ im Vektor 1 und im Vektor 2 kein Preis vorhanden, dann eben nicht beachten.

Vielen Dank! Smile


Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 10.01.2013, 15:53     Titel:
  Antworten mit Zitat      
Hi,

Ich glaube, es ist hilfreich, wenn du mal ein Beispiel zu den Vektoren postest. Ich kann mir gerade schwerlich vorstellen, wie die jetzt genau ausschauen.

Grüße
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Hektor

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2013, 16:07     Titel:
  Antworten mit Zitat      
Hi, danke für deine Antowort Smile

Datum Vektor 1
13.12.1991 1558,34
16.12.1991 1552,89
17.12.1991 1560,93
18.12.1991 1573,75
19.12.1991 1561,77
20.12.1991 1543,19
23.12.1991 1539,62
24.12.1991 1539,62

Der andere Vektor sieht ähnlich aus wie Vektor 1. Ich will nun das Matlab erkennt, dass 1558,34 zu dem 13.12.1991 gehört und das auch nur mit dem passenden Wert des anderen Vektors vergleicht.
Denke mal ich muss da durch eine Datumspalte eine Matrix draus machen oder sowas und einen passenden Befehl ausführen.
 
Hektor

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2013, 16:08     Titel:
  Antworten mit Zitat      
Mist, jetzt wurde das blöd dargestellt. also sollen zwei Spalten sein. Einmal das Datum. einmal ein Vektor, dem ich noch kein Datum zugeordnet habe.
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 10.01.2013, 16:32     Titel:
  Antworten mit Zitat      
Du sagst 2 Spalten. Ist das ein Vektor oder eine Matrix? Also sieht Element 1 so aus
Code:
v(1, 1) = '13.12.1991 1558,34'  % string

oder ist es so
Code:
v(1, 1) = 1558,34  % double
d(1, 1) = '13.12.1991'


Sorry, ich steh aufm Schlauch Embarassed
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Hektor

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2013, 16:43     Titel:
  Antworten mit Zitat      
Ja war auch blöd von mir dargestellt, muss ich zugeben. Confused

Also in Matlab hab ich das Datum als Spalte noch gar nicht integriert.

In Matlab habe ich derzeit nur zwei Vektoren mit Preisen. Also deine zweite Darstellung.
Das passende Datum zu den Preisen habe ich in Excel parat. Will es jetzt gerne in Matlab zu den passenden Preisen einbringen.

Ich habe ca. 10 Jahre. Zwei vektoren mit Preis. ich will nun jedes Jahr, an jedem Tag, an dem beide Preise vorhanden sind, diese vergleichen.

Ich könnte natürlich ohne Matlab immer schauen: 3. April'91. hab ich dafür beide Preise? Ja habe ich, also Vergleich.
7. März '91: habe ich beide Preise? Nee hab ich nicht, also brauch ich auch nix vergleichen.

Dadurch will ich dann einen jährlichen Durchschnitt über 10 Jahre bilden. Hätte am Ende also 10 Werte mit durchschnittspreisen.

Ich weiß, ich erkläre das bißchen unstrukturiert, bin nur an einem Punkt angelangt, wo ich nicht mehr so klar denken kann und ziemlich verwirrt bin Very Happy
 
Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 10.01.2013, 17:01     Titel:
  Antworten mit Zitat      
Deine Angaben sind so nicht eineindeutig.

Dem, was du schreibst, entnehme ich:
  • entweder, du hast 3 Vektoren (Datumsvektor, Vektor1, Vektor2)
    oder
  • 2 Matritzen (A=[Datum_a1, Wert_a1; ...]; B=[Datum_b1, Wert_b1; ...])


Edit:

Hektor hat Folgendes geschrieben:
Also in Matlab hab ich das Datum als Spalte noch gar nicht integriert.

In Matlab habe ich derzeit nur zwei Vektoren mit Preisen. Also deine zweite Darstellung.
Das passende Datum zu den Preisen habe ich in Excel parat. Will es jetzt gerne in Matlab zu den passenden Preisen einbringen.

Ich habe ca. 10 Jahre. Zwei vektoren mit Preis. ich will nun jedes Jahr, an jedem Tag, an dem beide Preise vorhanden sind, diese vergleichen.

Ich könnte natürlich ohne Matlab immer schauen: 3. April'91. hab ich dafür beide Preise? Ja habe ich, also Vergleich.
7. März '91: habe ich beide Preise? Nee hab ich nicht, also brauch ich auch nix vergleichen.

Dadurch will ich dann einen jährlichen Durchschnitt über 10 Jahre bilden. Hätte am Ende also 10 Werte mit durchschnittspreisen.

WOHER hast du die beiden Vektoren?
Wie sind diese ins Matlab gekommen?
Wo haben die Vektoren noch eine Abhängigkeit zum Datum?

Ich würde dir raten, direkt aus Excel einzulesen in eine Matrix.
[Datum, Vektor1, Vektor2]

Dann arbeitest du mit dieser Matrix weiter.
Es gibt Zeilen, welche zwei Geldwerte enthalten, diese werden weiter verarbeitet (Differenz bilden oder was-weiß-ich.)
Und Zeilen, mit nur einem Eintrag (abgesehen vom Datum) -> da setzt du es auf 0.

Dann nur noch den Durchschnitt bilden, fertig.

Alternativ kannst du das auch direkt in Excel machen - da geht das auch ganz gut Wink
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))

Zuletzt bearbeitet von Mmmartina am 10.01.2013, 17:11, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen
 
Hektor

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.01.2013, 17:03     Titel:
  Antworten mit Zitat      
In Excel zwei Matrizen, in Matlab zwei Vektoren.
 
Seban
Forum-Meister

Forum-Meister


Beiträge: 600
Anmeldedatum: 19.01.12
Wohnort: ---
Version: ab R2014b
     Beitrag Verfasst am: 10.01.2013, 17:15     Titel:
  Antworten mit Zitat      
Hektor hat Folgendes geschrieben:
Ich weiß, ich erkläre das bißchen unstrukturiert, bin nur an einem Punkt angelangt, wo ich nicht mehr so klar denken kann und ziemlich verwirrt bin Very Happy

Das Gefühl kenn ich Very Happy

Ich vermute mal die Preis-Vektoren sind nicht gleich lang bzw haben nicht Daten zu jedem Datum der letzten 10 Jahre drin. Sonst hättest du ja jetzt 2 gleich lange Vektoren und sofern sortiert wäre jeweils Element 1 vom selben Tag, Element 2 vom selben Tag usw.

Dh du musst mit xlsread die Daten auslesen, so dass du 2 Preis-Vektoren hast und dazu je einen Zeitvektor.
Bspw:
v1 = 1 4 6 7 4 2
d1 = 6 Daten
v2 = 2 7 9 5
d2 = 4 Daten

Ist das so?

Dann müsstest du die Zeitvektoren vergleichen und wenn d1(x)==d2(y) vergleichst du v1(x) mit v2(y).

Ich muss jetzt leider zur Post, bevor die zu machen. Kannst dir dazu ja schon mal Gedanken machen (wenn das auch tatsächlich so sein sollte).
_________________

Richtig fragen
Debugging
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.