next up previous contents
Nächste Seite: Elementare Permutationsmatrix Aufwärts: M-Files zur linearen Algebra Vorherige Seite: M-Files zur linearen Algebra   Inhalt

Spezielle Matrizen

Erzeugen einer Indexwertmatrix

Zum Beobachten von speziellen Matrixoperationen wie z.B. das Vertauschen von Zeilen (bzw. Spalten) bei Multiplikation mit einer Permutationsmatrix von links (bzw. rechts) kann eine Matrix gute Dienste leisten, deren Elementwerte gerade die Indizes als zweistellige Zahlen anzeigen. Die Funktion A=indmatf(ndim), (indmatf.m), auch als A=indmatf(nz,ns)oder A=indmatf aufrufbar, erzeugt eine solche Matrix. Dimensionszahlen größer als 9 sind allerdings sinnlos. Die Möglichkeit, die Prozedur mit 1 oder 2 Parametern oder auch ohne Parameter aufzurufen, benutzt die MATLAB Hilfsfunktionen varargin. Damit ist diese Funktion auch gerade ein Beispiel für eine Anwendung mit einer variablen Zahl von Parametern.

function IM = indmatf(varargin)
% indmatf.m indmatf erzeugt eine Indexwertmatrix
% Aufruf: IM=indmatf   ergibt 3x3
%         IM=indmatf(ndim) ndim x ndim 
%         IM=indmatf(nzei,nspa) nzei x nspa 
if nargin == 0
% Fall ohne Parameter gibt 3x3
   nzei = 3;
   nspa = 3;
elseif nargin == 1
% Fall mit einem Parameter quadratisch
%   Beachte: varargin ist "cell array"
%   und wird mit {ind} indiziert 
  nzei = varargin{1}
  nspa = nzei
else
% Fall 2 Parameter nzei x nspa
  nzei = varargin{1}
  nspa = varargin{2}
end
%  Doch noch die Matrix definieren
for zei = 1:nzei
  for spa = 1:nspa
    IM(zei,spa) = 10*zei + spa;
  end
end



Unterabschnitte

Stefan Adam 2006-03-07