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

Alle Elemente in Matrix versetzen

 

ArrayFreakkk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 15:09     Titel: Alle Elemente in Matrix versetzen
  Antworten mit Zitat      
Hallo,

wie kann man alle Elemente in einer NxM Matrix um z.B. 3 Elemente nach oben und 5 Elemente nach links versetzen? Gibt es ein kurzer Befehl dafür, um die For-Schleife umzugehen?

Danke!


BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 04.08.2011, 15:27     Titel:
  Antworten mit Zitat      
Hallo ArrayFreakkk,

ich verstehe deine Frage nicht wirklich.
Eine NxM Matrix passt nur in eine Matrix der größe N*M oder größer!
Ist die Matrix eine Untermatrix von einer größeren Matrix?
Was soll mit den Feldern passieren, an denen vorher Elemente der NxM Matrix waren?
Ein Minimalbeispiel würde hier vielleicht helfen Wink

Grüßle Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
ArrayFreakkk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 15:40     Titel:
  Antworten mit Zitat      
z.B. 4 x 4 Matrix:
A =
1 2 6 7
3 4 8 1
7 7 2 3
6 7 9 8

wird um 2 nach oben und 1 nach links versetzt. Ergibt:
Result =
7 2 3 0
7 9 8 0
0 0 0 0
0 0 0 0
 
BlackDread
Forum-Century

Forum-Century


Beiträge: 212
Anmeldedatum: 11.05.11
Wohnort: ---
Version: 2015a
     Beitrag Verfasst am: 04.08.2011, 15:52     Titel:
  Antworten mit Zitat      
Danke für das Beispiel Wink so kann man auch verstehen, was gewollt ist Idea
Sollte soweit funktionieren, geht wahrscheinlich auch noch schöner Wink
aber immerhin ein Denkanstoß ^^
Code:
A =[
1 2 6 7
3 4 8 1
7 7 2 3
6 7 9 8];

oben = 2;
links = 1;
groesse=size(A);
Res = zeros(groesse);
Res(1:groesse(1)-oben,1:groesse(2)-links) = A(1+oben:end,1+links:end)


Grüßle Chris
Private Nachricht senden Benutzer-Profile anzeigen
 
ArrayFreakkk

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 15:54     Titel:
  Antworten mit Zitat      
HERZLICHEN DANK!!!
 
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.