|
|
Matrix auffüllen mit Vektor als Index |
|
filtero |

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 04.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.06.2013, 00:47
Titel: Matrix auffüllen mit Vektor als Index
|
 |
Hi zusammen
Ich bin ein Matlab newbie und für eine Aufgabe muss ich folgendes lösen:
Ich habe:
- einen Vektor A mit 1:8568 inhalten
und
- ein Vektor B mit 1:12 inhalten (die 12 Inhalte sind die Stellen
Nun muss ich eine Matrix C mit der grösse 12*400 erstellen
Jede Zeile muss dann mit dem Inhalt des Vektors A befüllt werden und zwar so:
erste Zeile: A(1:B(1))
zweite Zeile A((B(1)+1:B(2);
etc.
B gibt also an bis zu welchem Feld die Zahlen aus A in eine Reihe von C geschrieben werden müssen bevor die Zahlen in die nächste Reihe geschrieben werden.
Ich blick da gerade nicht sehr durch und wäre euch sehr dankbar!
Vielen Dank schon mal!!!
|
|
|
|
|
Kia |

Forum-Fortgeschrittener
|
 |
Beiträge: 89
|
 |
|
 |
Anmeldedatum: 02.09.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.06.2013, 08:39
Titel:
|
 |
Hallo,
ich bin mir nicht sicher, ob ich deine Frage richtig verstanden habe.
hast du schon "reshape" ausprobiert? Die Dimensionen müssten allerdings übereinstimmen.
Wenn du eine Matrix mit 12x400 Einträge haben willst, ist diese wesentlich kleiner als dein Vektor A. Was soll mit den restlichen Einträge des Vektors A geschehen? Wenn es jetzt nicht automatisch für unterschiedlichsten Vektoren und Matrixen laufen soll kann man ja auch manuell es anpassen, in dem Einfach Vektor A auf die gewünschte Länge schneidet und dann per reshape in Matrix umwandelt[/code]
|
|
|
filtero |
Themenstarter

Forum-Newbie
|
 |
Beiträge: 2
|
 |
|
 |
Anmeldedatum: 04.06.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.06.2013, 12:51
Titel:
|
 |
Sorry du hast recht. Die Matrix C hat 1000 Spalten sonst passts ja nicht rein.
B ist so aufgebaut (die ersten 3 Einträge von 12).
325
1040
1743
...
Sorry auch hier ist mir ein kleiner Fehler unterlaufen. Es ist ein 12: 1 Vektor.
Nun müssen die Inhalte von A in C so geschrieben werden, dass in die erste Reihe alle inhalte 1 bis 325 , in die 2. Reihe alle einträge von 326 bis 1040 und in die dritte Reihe alle von 1041 bis 1743 eingetragen werden etc.
Idealerweise wäre wenn die max spaltenanzahl von C so gross wäre wie das längste Stück, welches aus A rausgeschnitten wird.
|
|
|
Rek |
Gast
|
 |
Beiträge: ---
|
 |
|
 |
Anmeldedatum: ---
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 04.06.2013, 13:59
Titel:
|
 |
Wenn ich dich richtig verstanden habe dann könnte folgendes weiterhelfen
mfg Rek
|
|
|
|
|
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.
|
|