Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Bücher:

Lineare Regelsysteme: Eine Einführung mit MATLAB

Studierende:
weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Werte aus Matrix wählen - Wertebereich verlagern

 

Rolo111

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2020, 17:47     Titel: Werte aus Matrix wählen - Wertebereich verlagern
  Antworten mit Zitat      
Hey alle, ich habe eine Matrix mit 5x9x5 Einträgen.

Hier ein Ausschnitt:

Matrix(:,:,1) =

Code:
-10.2376  -17.0176   -5.3558  -16.4380   -9.8547  -12.2134  -15.1949  -15.4154  -17.5936
  -11.0768   -9.1632   -4.9641  -26.0148   -9.0091   -7.2287  -13.9371   -7.6947  -11.9112
    0.9478    0.7109    1.3426    1.2637   -2.4473   -0.7109         0   -1.5005    2.2896
   11.6841    9.1632    9.6245    3.7075    8.1596   41.4237   11.0768    7.6947    9.7780
   10.0080   10.2376   40.8411   15.7818   12.0624   18.3085   22.6049   12.0624   11.6084


Mein Ziel ist es jetzt, eine neue Matrix zuerstellen. Und zwar soll sollen die Zeilen und die dritte Dimension erhalten bleiben. Jedoch möchte ich für die erste Zeile einer Matrix (das ganze soll sich also 5 mal wiederholen) jeweils die ersten 5 Spalten auswähöen. Für die zweite Zeile dann die Zeilen 2 - 6, für die dritte Zeile dann die Spalten 3 - 7. Das ganze soll sich dann genauso für alle fünf Matrizen wiederholen.

Das Ergebnis sähe wie folgt aus:
Code:
-10.2376  -17.0176   -5.3558  -16.4380   -9.8547
-9.1632   -4.9641  -26.0148   -9.0091   -7.2287
1.3426    1.2637   -2.4473   -0.7109         0
 3.7075    8.1596   41.4237   11.0768    7.6947
12.0624   18.3085   22.6049   12.0624   11.6084


Ich hoffe es ist verständlich geworden, was ich meine. Danke an alle


Harald
Forum-Meister

Forum-Meister


Beiträge: 21.189
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.03.2020, 18:17     Titel:
  Antworten mit Zitat      
Hallo,

und was hast du versucht? Welche Probleme sind dabei aufgetreten? Ich würde das für die erste Matrix per Indizierung für jede Zeile lösen und dann über die Matrizen in einer for-Schleife iterieren.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Rolo111

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.03.2020, 18:43     Titel:
  Antworten mit Zitat      
Hallo,

meine Idee wäre gewesen:

Code:

for i= 1:size(Matrix(:,1,1))
for j= 1:size(Matrix(1,:,1))
NewMatrix=Matrix(1:end,1:5) + j
i=i+1;
 
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 21.189
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.03.2020, 20:22     Titel:
  Antworten mit Zitat      
Hallo,

da passt m.E. recht wenig. Eher:
Code:
for k = 1:size(Matrix, 3)
NewMatrix(:, :, k) = [Matrix(1, 1:5, k);
                      Matrix(2, 2:6, k);
                      Matrix(3, 3:7, k);
                      Matrix(4, 4:8, k);
                      Matrix(5, 5:9, k)];
end


oder kompakter:
Code:
NewMatrix = [Matrix(1, 1:5, :);
             Matrix(2, 2:6, :);
             Matrix(3, 3:7, :);
             Matrix(4, 4:8, :);
             Matrix(5, 5:9, :)];


Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2020 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.