이번역페이지는최신내용을담고있지않습니다。최신내용을영문으로보려면여기를클릭하십시오。
MATLAB®에는두가지유형의산술연산,즉배열연산과행렬연산이있습니다。산술연산은예를들어두수의합,배열요소의거듭제곱,두행렬의곱과같은수치계산을수행합니다。
행렬연산은선형대수규칙을따릅니다。반면에,배열연산은요소별연산을수행하고다차원배열을지원합니다。마침표(.
)는배열연산과행렬연산을구분합니다。그러나,덧셈과뺄셈에서는행렬연산과배열연산이동일하므로문자쌍.+
및.-
는필요하지않습니다。
배열연산은벡터,행렬,다차원배열의대응요소에대해요소별연산을수행합니다。피연산자의크기가동일한경우첫번째피연산자의각요소는두번째피연산자에있는동일한위치의요소와대응합니다。피연산자의크기가서로호환되는경우각입력값은다른피연산자의크기와일치시키기위해필요한만큼암시적으로확장됩니다。자세한내용은기본연산에대해호환되는배열크기항목을참조하십시오。
간단한예로,크기가동일한두개의벡터는더할수있습니다。
A = [1 1 1]
A = 11 11
B = [1 2 3]
B = 1 2 3
A + B
Ans = 2 3 4
피연산자가하나는스칼라이고다른하나는스칼라가아닐경우,MATLAB은다른피연산자와동일한크기가되도록스칼라를암시적으로확장합니다。예를들어,스칼라와행렬의요소별곱을계산할수있습니다。
A = [1 2 3;1 2 3)
A = 1,2,3 1,2,3
3 . *
Ans = 3 6 9 3 6 9
다음과같이3×3행렬에서1×3벡터를뺄경우에도두크기가서로호환되므로암시적확장이가능합니다。뺄셈을수행하면,벡터가3×3행렬이되도록암시적으로확장됩니다。
A = [1 1 1;2 2 2;3 3 3]
A = 1 1 1 2 2 2 3 3 3
M = [2 4 6]
M = 2 4 6
一个米
Ans = -1 -3 -5 0 -2 -4 1 -1 -3
행벡터와열벡터는크기가서로호환됩니다。1×3벡터를2×1벡터에더하는경우MATLAB이요소별덧셈을수행하기전에각벡터가2×3행렬로암시적으로확장됩니다。
X = [1 2 3]
X = 1 2 3
y = [10;15)
Y = 10 15
x + y
Ans = 11 12 13 16 17 18
두피연산자의크기가호환되지않는경우에는오류가발생합니다。
A = [8 1 6;3 5 7;4 9 2)
A = 8 1 6 3 5 7 4 9 2
M = [2 4]
M = 2 4
一个米
矩阵的维数必须一致。
다음표에는MATLAB의배열산술연산자에대한요약이나와있습니다。함수관련정보를보려면마지막열에있는함수도움말페이지링크를클릭하십시오。
연산자 |
용도 |
설명 |
함수도움말페이지 |
---|---|---|---|
|
덧셈 |
|
+ |
|
단항플러스 |
|
uplus |
|
뺄셈 |
|
- |
|
단항마이너스 |
|
uminus |
|
요소별곱셈 |
|
次 |
|
요소별거듭제곱 |
|
权力 |
./ |
우측배열나눗셈 |
|
rdivide |
|
좌측배열나눗셈 |
|
ldivide |
|
배열전치 |
|
转置 |
행렬연산은선형대수의규칙을따르며다차원배열과호환되지않습니다。입력값간에필요한차원은연산에따라다릅니다。비스칼라입력값의경우일반적으로행렬연산자는대응되는배열연산자와는다른답을계산합니다。
예를들어,행렬오른쪽나눗셈연산자/
를사용하여두행렬을나눌경우행렬에포함된열의수가동일해야합니다。그러나,행렬곱셈연산자*
를사용하여두행렬을곱할경우행렬은공통적인내부차원(内尺寸)을가져야합니다。즉,첫번째입력값의열개수는두번째입력값의행개수와같아야합니다。행렬곱셈연산자는다음공식을통해두행렬의곱을계산합니다。
두행렬의곱을계산하여이를확인할수있습니다。
A = [1 3;2 4]
A = 1 3 2 4
B = [3 0;1 5]
B = 3 0 1 5
A * B
Ans = 6 15 10 20
위의행렬곱셈결과는아래의요소별곱셈결과와일치하지않습니다。
a * B
Ans = 3 0 2 20
다음표에는MATLAB의행렬산술연산자가간략히설명되어있습니다。함수관련정보를보려면마지막열에있는함수도움말페이지링크를클릭하십시오。
연산자 |
용도 |
설명 |
함수도움말페이지 |
---|---|---|---|
|
행렬곱셈 |
|
mtimes |
|
행렬왼쪽나눗셈 |
|
mldivide |
|
행렬오른쪽나눗셈 |
|
mrdivide |
|
행렬거듭제곱 |
|
mpower |
|
켤레복소수전치 |
|
ctranspose |