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

aus 2 Vektoren unter Nebenbedingung Matrix bilden

 

VonKrolock
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 26.03.15
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 17.04.2015, 14:06     Titel: aus 2 Vektoren unter Nebenbedingung Matrix bilden
  Antworten mit Zitat      
Hey Leute,
ich habe folgendes Problem. Mir liegen 2 Vektoren vor:

Zitat:
RD

RD =

1.0e+06 *

Columns 1 through 13

1.9791 1.1477 0.8440 0.6463 1.6670 0.7036 0.2651 0.1593 0.0652 0.0652 1.7992 0.0480 0.0337

Columns 14 through 26

0.0245 0.0245 0.0245 0.0122 0.0189 0.0162 0.0119 0.0020 0.0020 0.0017 0.0040 0.0040 0.0034

Columns 27 through 39

0.0026 0.0026 0.0051 0.0008 0.0071 0.0007 0.0004 0.0019 0.0007 0.0010 0.0013 0.0015 0.0015

Columns 40 through 47

0.0015 0.0010 0.0012 0.0010 0.0021 0.0007 0.0008 0.0008

>> order

order =

Columns 1 through 21

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Columns 22 through 42

22 23 24 25 26 27 28 29 31 30 32 33 35 36 37 38 39 40 42 41 43

Columns 43 through 47

45 46 47 34 44


Was ich nun haben möchte: Sobald in RD der Wert steigt, sollen alle Werte vorher incl. der zugehörigen order-Werte einer Gruppe zugeordnet werden. Also konkret soll der PC mir auswerfen:

1 1.9791 1
1 1.1477 2
1 0.8440 3
1 0.6463 4
2 1.6670 5
2 0.7036 6
usw.

Und die 1. Spalte steht dabei für die Gruppen, die 2. Spalte für die RD und die 3. Spalte für die zugehörige order.

Ich habe es bereits auf diese Weise versucht:
Code:
for (i=1:46)
if (RD(i)< RD(i+1))
Gruppe = [RD(i); order(i)]
end
end


Allerdings findet dann bei order die Stellenauslöschung statt, ich erhalte mehrere Matrizen und ich erhalte auch immer nur den i-ten Wert. Ich wäre wirklich glücklich, wenn mir da jemand helfen könnte. Vielen Dank schonmal im Voraus!
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.04.2015, 16:16     Titel:
  Antworten mit Zitat      
Hallo,

die 2. und 3. Spalte scheinen ja die gegebenen Daten zu sein.
Die 1. Spalte sollte sich ergeben aus:
Code:


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
VonKrolock
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 26.03.15
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 17.04.2015, 16:49     Titel:
  Antworten mit Zitat      
Vielen Dank für deine Hilfe, aber das ist noch nicht ganz das, was ich benötige. Meine Ausgabe sieht nun so aus:

Zitat:
>> cumsum(diff([-inf, order]) > 0)

ans =

Columns 1 through 21

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Columns 22 through 42

22 23 24 25 26 27 28 29 30 30 31 32 33 34 35 36 37 38 39 39 40

Columns 43 through 47

41 42 43 43 44


Ich bräuchte 1 1 1 1 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 5 5 6 6 6 7 7 8 9 10 10 10 10 11 12 12 13 13.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 17.04.2015, 16:55     Titel:
  Antworten mit Zitat      
Hallo,

sorry, ich meinte dies:
Code:


Poste Daten doch bitte so, dass man das bequem nach MATLAB kopieren kann.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
VonKrolock
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 26.03.15
Wohnort: Bochum
Version: ---
     Beitrag Verfasst am: 17.04.2015, 18:00     Titel:
  Antworten mit Zitat      
Vielen vielen Dank für deine Hilfe!
Du hast mir den Tag gerettet! Smile
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.