매트랩에서 두 행렬을 성분별로 연산하는 방법
📂프로그래밍 매트랩에서 두 행렬을 성분별로 연산하는 방법 곱셈 times()
, .*
: 두 행렬의 각 성분을 곱해서 그 결과를 반환한다.두 행렬의 크기가 완전히 같거나, 한 쪽이 스칼라이거나, 행의 크기가 같은 행벡터, 열의 크기가 같은 열벡터일 경우에만 연산이 가능하다. 크기가 다른 경우에 작은 행렬이 큰 행렬과 같은 크기의 행렬인 것 처럼 계산되는데 이 때 빈 자리는 똑같은 값으로 채워진다. 예를 들어 스칼라는 모든 성분이 같은 값을 가지게 되고, 행벡터의 경우 모든 행이 같은 행렬이 된다. 잘 이해가 안된다면 아래의 식을 참고하자. .*
는 점과 곱셈 기호가 합쳐졌으니 점별 곱셈 이라고 이해하면 된다. 다른 성분별 연산의 기호도 이런식으로 만들어져있다.
A = ( a 1 a 2 a 3 ) , B = ( b 1 b 2 b 3 b 4 )
A =
\begin{pmatrix}
a_{1} & a_2 & a_{3}
\end{pmatrix},
\quad
B =
\begin{pmatrix}
b_{1} \\
b_{2} \\
b_{3} \\
b_{4}
\end{pmatrix}
A = ( a 1 a 2 a 3 ) , B = b 1 b 2 b 3 b 4
⟹ A . ∗ B = ( a 1 a 2 a 3 a 1 a 2 a 3 a 1 a 2 a 3 a 1 a 2 a 3 ) ( b 1 b 1 b 1 b 2 b 2 b 2 b 3 b 3 b 3 b 4 b 4 b 4 ) = ( a 1 b 1 a 2 b 1 a 3 b 1 a 1 b 2 a 2 b 2 a 3 b 2 a 1 b 3 a 2 b 3 a 3 b 3 a 1 b 4 a 2 b 4 a 3 b 4 )
\implies \begin{align*}
A .* B &=\begin{pmatrix}
a_{1} & a_2 & a_{3}
\\ a_{1} & a_2 & a_{3}
\\ a_{1} & a_2 & a_{3}
\\ a_{1} & a_2 & a_{3}
\end{pmatrix} \begin{pmatrix}
b_{1} & b_{1} & b_{1}
\\ b_2 & b_2 & b_2
\\ b_{3} & b_{3} & b_{3}
\\ b_{4} & b_{4} & b_{4}
\end{pmatrix}
\\ &= \begin{pmatrix}
a_{1}b_{1} & a_2b_{1} & a_{3}b_{1}
\\ a_{1}b_2 & a_2b_2 & a_{3} b_2
\\ a_{1}b_{3} & a_2 b_{3} & a_{3} b_{3}
\\ a_{1}b_{4} & a_2 b_{4} & a_{3} b_{4}
\end{pmatrix}
\end{align*}
⟹ A . ∗ B = a 1 a 1 a 1 a 1 a 2 a 2 a 2 a 2 a 3 a 3 a 3 a 3 b 1 b 2 b 3 b 4 b 1 b 2 b 3 b 4 b 1 b 2 b 3 b 4 = a 1 b 1 a 1 b 2 a 1 b 3 a 1 b 4 a 2 b 1 a 2 b 2 a 2 b 3 a 2 b 4 a 3 b 1 a 3 b 2 a 3 b 3 a 3 b 4
예제 코드와 출력 결과는 아래와 같다.
A= [ 2 1 - 3 ; 4 0 3 ]
B= [ 1 2 3 ]
C= [ 3 ; 1 ]
a= A.* B
b= A.* C
c = B.* C
d= 3. * A
나눗셈 rdivide()
, ./
: 두 행렬의 각 성분을 나눠서 그 결과를 반환한다.행렬의 크기에 대한 내용은 .*
과 같다. 이를 이용하면 성분이 역수인 행렬을 쉽게 구할 수 있다. 행렬 A의 각 성분의 역수를 성분으로 가지는 행렬은 1./A
로 구할 수 있다.예제 코드와 출력 결과는 아래와 같다.
A= [ 2 1 - 3 ; 4 0 3 ]
B= [ 1 2 3 ]
C= [ 3 ; 1 ]
a= rdivide( A, B)
b= A./ C
c = B./ C
d= 1. / A
거듭제곱 power()
, ./
: A.^B
인 경우 A의 각 성분을 밑, B의 각 성분을 지수로 두고 계산한 결과를 반환한다.예제 코드와 출력 결과는 아래와 같다.
A= [ 2 1 - 3 ; 4 0 3 ]
B= [ 1 2 3 ]
C= [ 3 ; 1 ]
a= power( A, B)
b= A.^ C
c = B.^ C
d= 3. ^ A