행렬 인수
Optimization Toolbox™ 솔버는 초기점 x0
, 하한 lb
, 상한 ub
와 같은 여러 인수에 대한 벡터를 받습니다. 또한 이러한 인수에 대한 행렬도 받습니다. 여기서 행렬은 임의 크기의 배열을 의미합니다. 솔버 인수가 벡터가 아니라 배열인 것이 당연한 경우에는 인수를 배열로 제공하십시오.
솔버가 행렬 인수를 처리하는 방법은 다음과 같습니다.
내부적으로, 솔버는 처리하기 전에 행렬 인수를 벡터로 변환합니다. 예를 들어,
x0
은x0(:)
이 됩니다. 이 구문에 대한 설명은colon
에서A(:)
항목 또는 배열 인덱싱의 "단일 인덱스를 사용하여 인덱싱하기" 섹션을 참조하십시오.출력값에 대해 솔버는 해
x
를 입력값x0
과 같은 크기로 형태 변경합니다.x0
이 행렬인 경우 솔버는x0
과 동일한 크기의 행렬로x
를 목적 함수와 모든 비선형 제약 조건 함수에 전달합니다.그러나 선형 제약 조건은
x
를 벡터 형식x(:)
으로 받습니다. 다시 말해서 다음 형식의 선형 제약 조건은A*x ≤ b
또는Aeq*x = beq
x
를 행렬이 아니라 벡터로 받습니다. 행렬A
또는Aeq
가x0
요소의 개수와 동일한 수의 열을 갖도록 하십시오. 그렇지 않은 경우 솔버에서 오류가 발생합니다.