01.12.2013, 14:43 |
mariem |
Auf diesen Beitrag antworten » |
Hilfe bei Matlab Funktion
Hallo! Könnte mir jemand die Matlab Funktion ljx.m erklären? Wie funktionniert sie? Bei welchen Element von den Tableau wenden man sie an?
Danke im Vorraus! |
10.12.2013, 12:25 |
Math1986 |
Auf diesen Beitrag antworten » |
RE: Hilfe bei Matlab Funktion
Hallo,
steht doch alles Wesentliche im Quellcode:
code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
|
function A = ljx(A,r,s)
% syntax: B = ljx(A,r,s);
% input: labeled tableau A, integers r,s
% perform a labeled Jordan exchange with pivot A(r,s)
A.val = jx(A.val,r,s);
% now update the labels
[m,n] = size(A.val);
swap = A.bas(r);
A.bas(r) = A.nonbas(s);
A.nonbas(s) = swap;
if isfield(A,'dualbas')
swap = A.dualbas(s);
A.dualbas(s) = A.dualnonbas(r);
A.dualnonbas(r) = swap;
end
tbl(A);
return;
|
|
Die Funktion bekommt ein Jordan-Tableau A, Zeilenindex i und Spaltenindex j übergeben und macht dann zunächst mit dem Pivotelement A(r,s) einen Jordan-Austausch im Tableau (in der unterfunktion A.val = jx(A.val,r,s);). Anchließend findet ein Basiswechsel zwischen Basis und Nichtbasis statt ("now update the labels"). Ist die duale Basis ebenfalls gegeben so wird dort ebenfalls entsprechend ausgetauscht. |