티스토리 뷰
매트랩에서 기본으로 제공하는 방법은 symbolic을 활용하는 것이다.
>> A = sym('A', [2, 4])
A =
[A1_1, A1_2, A1_3, A1_4]
[A2_1, A2_2, A2_3, A2_4]
숫자로 구성된 행렬을 만들고 싶다면, 함수를 만들어서 써야 한다. 아래는 함수 코드와 실행 결과이다. cell unpacking이 활용되었다.
function arr = idx_mat(varargin)
arr_cell = cell(nargin, 1);
idx = cell(nargin, 1);
for i=1:nargin
idx{i} = 1:varargin{i};
end
[arr_cell{:}] = ndgrid(idx{:});
arr = zeros(varargin{:});
for i=1:nargin
arr = arr + 10^(nargin-i)*arr_cell{i};
end
end
>> idx_mat(3, 4)
ans =
11 12 13 14
21 22 23 24
31 32 33 34
>> idx_mat(3, 4, 2)
ans(:,:,1) =
111 121 131 141
211 221 231 241
311 321 331 341
ans(:,:,2) =
112 122 132 142
212 222 232 242
312 322 332 342
'matlab' 카테고리의 다른 글
매트랩 숫자야구 (0) | 2023.03.07 |
---|---|
행렬식이 평행사변형의 면적이라고? (0) | 2023.03.03 |
클래스 튜토리얼 및 팁 (2) | 2023.02.13 |
table 자료형 활용하기 (0) | 2023.02.10 |
AYE, AYE3d (0) | 2023.01.26 |
댓글