DMUG-Archiv 2004

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Matrizen zusammenfassen

Guten Abend Daniel,

mit den padding functions sagen Sie etwa

In[67]:= Remove[quadraticMatrixMerge];
(* s is the additive overlap of matrix b into matrix a *)
quadraticMatrixMerge[a_?MatrixQ, b_?MatrixQ, s_?NonNegative] :=
Module[{o = Length[a] + Length[b] - s},
Nest[Transpose[PadRight[#, o]& /@ #]&, a, 2] + Nest[Transpose[PadLeft[#, o]& /@ #]&, b, 2] ] /; {1, -1} . (Dimensions[a] - Dimensions[b]) == 0 && s <= Min[Length[a], Length[b]]

machen eine Probe,
quadraticMatrixMerge[Array[x, {3, 3}], Array[y, {5, 5}], 1] // MatrixForm

und lösen Ihr Problem:
quadraticMatrixMerge[Array[x, {6, 6}], Array[y, {6, 6}], 3] // MatrixForm

Mit den besten Grüssen
Udo.

Nowak Robert wrote:

hi daniel,

In[46]:=
L=Array[l,{6,6}];
M=Array[m,{6,6}];

In[48]:=
L1=L//Join[#,0 Table[First@#,{3}]]&//Transpose//Join[#,0 Table[First@#,{3}]]&//Transpose;

In[49]:=
M1=M//Join[0 Table[First@#,{3}],#]&//Transpose//Join[0 Table[First@#,{3}],#]&//Transpose;

In[50]:=
L1+M1//MatrixForm

honorarnote folgt,
grüsse robert

-----Original Message-----
From: Daniel Froemmel [mailto:daniel.froemmel@XXXXXXX.de] Sent: Wednesday, June 09, 2004 12:44 PM
To: demug@XXXXXXX.ch
Subject: Matrizen zusammenfassen


Hallo Mathematica-Experten,

ich habe zwei 6x6 Matrizen, die ich zu einer 9x9 Matrix zusammenfassen will. Element 1,1 der ersten 6x6 Matrix soll auch Element 1,1 der 9x9 Matrix sein. Element 6,6 der zweiten 6x6 Matrix soll Element 9,9 der 9x9 Matrix sein. Sich überlagernde Elemente sollen addiert
werden.
Wie mache ich (bzw. Mathematica) das am besten?
Es handelt sich um Elementsteifigkeitsmatrizen für eine einfache FEM-Übung.

Vielen Dank für die Aufmerksamkeit!
mfg Daniel





Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html