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

in Matrix jede 2. Zeile umkehren

 

pfeili
Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 20.10.2011, 12:59     Titel: in Matrix jede 2. Zeile umkehren
  Antworten mit Zitat      
Hallo Leute,

ich habe eine Matrix mit 81x81 Elementen und möchte gern, dass jede zweite Zeile umgekehrt wird. Ich habe gelesen, dass es den Befehl fliplr() gäbe, aber wie mache ich es, wenn ich nicht nur einen Zeilenvektor, sondern eine ganze Matrix habe und es auf jede zweite Zeile anwenden möchte?

Wie lässt sich dieses "jede zweite Zeile" ausdrücken?

Sorry für die Frage.

pfeili
Private Nachricht senden Benutzer-Profile anzeigen


pfeili
Themenstarter

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 20.10.2011, 13:04     Titel:
  Antworten mit Zitat      
So funktioniert es noch nicht:

Code:

clc;
A = [2 3 4; 4 3 2; 2 3 4; 4 3 2; 2 3 4; 4 3 2; 2 3 4];

for n = 2:2:size(A(1))
   
    A(n,:) = fliplr(A(n,:));
end
disp(A)
 
Private Nachricht senden Benutzer-Profile anzeigen
 
pfeili
Themenstarter

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 20.10.2011, 13:09     Titel:
  Antworten mit Zitat      
So hier klappt es:

Code:

clc;
A = [2 3 4; 4 3 2; 2 3 4; 4 3 2; 2 3 4; 4 3 2; 2 3 4; 4 3 2];
a = size(A)

for n = 2:2:a(1)
   
    A(n,:) = fliplr(A(n,:));
end
disp(A)
 


Sorry. Für Verbesserungen bin ich natürlich immer offen. Danke.

pfeili
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.10.2011, 13:10     Titel:
  Antworten mit Zitat      
Hallo,

du hattest lediglich einen kleinen Schreibfehler drin:
Code:


Mit dem Debugger hättest du sehen können, dass beim originalen Code die for-Schleife gar nicht ausgeführt wird.

Folgendes könnte effizienter sein, ist aber zumindest eleganter:
Code:
A(2:2:end, :) = fliplr(A(2:2:end,:));

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

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 20.10.2011, 13:15     Titel:
  Antworten mit Zitat      
Super, Harald. Vielen Dank.
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 20.10.2011, 15:40     Titel:
  Antworten mit Zitat      
Hallo pfeili,

FLIPLR ist eigentlich trivial. So geht es auch ohne:
Code:
A(2:2:end, :) = A(2:2:end, end:-1:1);

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Taro123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2012, 18:15     Titel: Flipud Frage
  Antworten mit Zitat      
hallo
folgende Frage habe ich
ich möchte folgende Matrix tauschen (bin anfänger und daher noch nicht 100% klar)
aus
1 1 1
2 2 2
3 3 3
soll
1 3 3
2 2 2
3 1 1
das zauber wort heisst flipud und wie weiter?
danke
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 02.11.2012, 21:36     Titel:
  Antworten mit Zitat      
Hallo,

ich gehe mal davon aus, dass alle bis auf die erste Spalte "getauscht" werden sollen:

Code:
A(:, 2:end) = flipud(A(:, 2:end));


Grüße,
Harald
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.