Forum: PC-Programmierung Matlab Vektoren aufteilen


von mathias (Gast)


Lesenswert?

Vektor mit z.B.: 500 Elementen aufteilen auf 5 mit 100, wie 
automatisieren.

So gehts natürlich aber nicht sehr schön, gibts was bessers?

z1 = z(1:100);
z2 = z(101:200);
z3 = z(201:300);
z4 = z(301:400);
z5 = z(401:500);

danke

von abk (Gast)


Lesenswert?

Schleife mit parameter initialisieren, entsprechend oft und mit index 
bzw. schrittweite als parameter durchlaufen.

lernen, fragen auszudrücken damit ziel verständlich.

danke.
bitte.

von mathias (Gast)


Lesenswert?

@abk Sorry aber was fehlt dir denn bei der Frage?

Ich habe in Matlab 500 Elemente in einem Vektor, jetzt
möche ich daraus 5 Vektoren mit je 100 Elementen machen.

Also:

1 Vektor mit den   1..100 Elementen des 500 Elemente Vektor
2 Vektor mit den 101..200 Elementen des 500 Elemente Vektor
3 Vektor mit den 201..300 Elementen des 500 Elemente Vektor
4 Vektor mit den 301..400 Elementen des 500 Elemente Vektor
5 Vektor mit den 401..500 Elementen des 500 Elemente Vektor


Danke:
>>Schleife mit parameter initialisieren, entsprechend oft und mit index
>>bzw. schrittweite als parameter durchlaufen.
Das war mir klar.

Aber es gibt in Matlab auch oft spezielle Befehle, die man nicht immer 
sofort findet oder weiß, dass man diese dafür nehmen könnte.

mathias

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?

Nummerierte Variablen sind sinnlos, man erschwert damit nur die weitere 
Verarbeitung. Besser ist es den Vektor mit reshape in einen 
mehrdimensionalen Vektor umwandeln:

z_aufgeteilt = reshape(z, [5,100])
z_aufgeteilt(1,:) % entspricht deinem z1

von mathias (Gast)


Lesenswert?

super danke, genau sowas habe ich gemeint.

von MS (Gast)


Lesenswert?

cool, genau die Antwort auf mein Problem!
Dabke auch von mir!!!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.