행렬 표현식을 여러 줄로 분할

Aug 17 2020

주어진 행렬 식

testm = {a + b, c + d, e};

{# , testm[[ # ]] // Simplify} & /@ Range[ Length[testm] ] // MatrixForm

\ begin {equation} \ begin {pmatrix} 1 & a + b \\ 2 & c + d \\ 3 & e \\\ end {pmatrix} \ end {equation} 이것을 \ begin {equation} 으로 다시 작성하고 싶습니다 \ begin {pmatrix} 1.1 & a \\ 1.2 & b \\ 2.1 & c \\ 2.2 & d \\ 3 & e \\\ end {pmatrix} \ end {equation}

어떻게해야합니까? 결국, 나는 이것을 \ begin {equation} (a + b) = A exp [I (k + l) m (n + o + p \ q)] Cos (r \ s) + A exp (I (k + l) m (n + o + p \ q)) Sin (t \ u) \ end {equation} 1.1 옆에 코사인 항과 1.2 옆에 사인 항을 표시합니다.

답변

2 cvgmt Aug 17 2020 at 15:16
List @@@ {a + b, c + d}
testm = {Cos[a] + Sin[a], 5 + Sin[a]};
List @@@ testm

다음 중 원하는 것이 있습니까?

testm = {Cos[a] + Sin[a], 5 + Sin[a]};
m = List @@@ testm
Flatten[Table[{i.j, m[[i, j]]}, {i, 2}, {j, 2}], 1]

업데이트 됨

아마도 MapIndexed작동해야

 Clear["Global`*"];
testm = {a + b, c + d, e};
mat = List @@@ testm
Flatten[MapIndexed[f @@ {Dot @@ #2, #1} &, mat, {-1}]] /. 
  f -> List // MatrixForm
1 ΑλέξανδροςΖεγγ Aug 17 2020 at 18:30
testm = {a + b, c + d, e};
index = StringTemplate[If[Length[#] == 2, "``.``", "``"]] @@ # &;
{index @ Position[testm, #, {-1}][[1]], #} & /@ Cases[testm, _Symbol, -1] // MatrixForm

최신 정보

testm = {A Exp[I (k + l) m (n + o + p q)] Cos[r s] + A Exp[I (k + l) m (n + o + p q)] Sin[t u], c + d, e};
{index @ Position[testm, #, 2][[1]], #} & /@ Cases[testm, (_Symbol | _Times), 2] // MatrixForm
1 kglr Aug 18 2020 at 15:04
ClearAll[indexedMonomials]
indexedMonomials = Join @@
  (MapIndexed[{Dot @@ #2, #} &, MonomialList@#, {2}] /. {{a_, b_}} :> {{First@a, b}}) &;

예:

testm2 = {A E^(I (k + l) m (n + o + p q)) Cos[r s] + 
    A E^(I (k + l) m (n + o + p q)) Sin[t u], a + b + x, c + d, e};

MapIndexed[{#2[[1]], #} &, testm2] // MatrixForm // TeXForm

$\left( \begin{array}{cc} 1 & A \cos (r s) e^{i m (k+l) (n+o+p q)}+A \sin (t u) e^{i m (k+l) (n+o+p q)} \\ 2 & a+b+x \\ 3 & c+d \\ 4 & e \\ \end{array} \right)$

indexedMonomials @ testm2 // MatrixForm // TeXForm

$\left( \begin{array}{cc} 1.1 & A \cos (r s) e^{i m (k+l) (n+o+p q)} \\ 1.2 & A \sin (t u) e^{i m (k+l) (n+o+p q)} \\ 2.1 & a \\ 2.2 & b \\ 2.3 & x \\ 3.1 & c \\ 3.2 & d \\ 4 & e \\ \end{array} \right)$