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

Matrix shift

 

divB
Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 23.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2009, 08:00     Titel: Matrix shift
  Antworten mit Zitat      
Hi,

Wie oft hab ich es nun schon benoetigt, ganz einfach eine Matrix zu shiften? Keinung Ahnung, unzaehlige Male.

Bin ich der einzige der das braucht? Oder finde ich es einfach nicht? Oder gibt es in Matlab tatsaechlich nur den zirkulaeren Shift (circshift)?

lg
divB
Private Nachricht senden Benutzer-Profile anzeigen


Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 27.10.2009, 11:00     Titel:
  Antworten mit Zitat      
Was soll denn mit einer Matrix wie z.B.

Zitat:

A=[1 2 3; 4 5 6; 7 8 9]


geschehen? So was wie erste Spalte nach hinten und alle anderen rücken nach vorne?

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
divB
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 23.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2009, 12:05     Titel:
  Antworten mit Zitat      
Hi,

Im Endeffekt das gleiche wie circshift nur eben nicht zirkulaer sondern einen "echten" Shift (arithmetisch): Ruecken der Zeilen oder Spalten um N Positionen. Was darueber hinausschiesst wird verworfen, der Rest mit 0 aufgefuellt. Also:

Code:

A=[1 2 3; 4 5 6; 7 8 9];

shift(A, 1) // ein right-shift
ans =
    0   1   2
    0   4   5
    0   7   8
 


Wie man es programmieren kann weiss ich ja, aber gibt es fuer diese verdammt oft benoetigte Funktion wirklich kein builtin oder uebersehe ich es einfach?

lg
divB
Private Nachricht senden Benutzer-Profile anzeigen
 
Andreas Goser
Forum-Meister

Forum-Meister


Beiträge: 3.654
Anmeldedatum: 04.12.08
Wohnort: Ismaning
Version: 1.0
     Beitrag Verfasst am: 27.10.2009, 12:19     Titel:
  Antworten mit Zitat      
Wir sind generell vorsichtig bei der Einführung neuer Befehle, besonders wenn die Umsetzung nur 1 oder 2 Zeilen in Anspruch nimmt wie hier. Ich habe gerade mal die Entwicklerdatenbak durchsucht. Tatsächlich wurde diese Anfrage mal vor 13 Jahren aufgenommen und dann aber nur CIRCSHIFT umgesetzt. Z.T. liegte es anden wenigern Anfragen für das Feature (6 offizielle Anfragen bei >1e6 Nutzern in 13 Jahren ist nicht wirklich viel) und zum anderen liegt es daran, dass jeder Befehl Performanceeinbussen beim Start mitbringt und einen Rattenschwanz an Aufwand für Test und Dokumentation.

Andreas
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
divB
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 38
Anmeldedatum: 23.10.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.10.2009, 14:50     Titel:
  Antworten mit Zitat      
Hmm, also da gibt es IMHO viel sinnfreiere Funktionen in MATLAB.

Aber egal, da es das echt nicht gibt muss ich es halt immer coden (und jedesmal aufs neue Nachdenken Wink )

lg
divB
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.