Software/MATLAB
[MATLAB] repmat: 벡터를 반복하여 행렬 생성
_winmin
2025. 1. 3. 10:44
매트랩에서 행렬 계산을 할 때 두 행렬 간 차원이 맞지 않아 계산이 안되는 경우가 있다.
행렬의 모든 열에 같은 벡터를 외적하고 싶다해보자.
외적 함수인 cross는 두 파라미터의 차원이 같아야하기 때문에, 행 크기가 같은 벡터와 행렬을 넣어줘도 에러가 뜬다.
x = [1,2,3]'; % 3x1
A = rand(3,3); % 3x3
cross(x,A); % error : x and A must be the same size
|
이때, repmat 함수를 이용하여 벡터를 A의 열 수만큼 반복해 만들어주면 cross를 실행할 수 있다.
x_mat = repmat(x,1,3); % x를 반복하여 A와 같은 size로 만들어준다.
cross(x_mat,A) % Works!
|