matrixMultiply: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
Lou Montana (talk | contribs) m (Text replacement - " \| *(game[0-9]|version[0-9]|gr[0-9]|serverExec|mp|pr|descr|s[0-9]|p[0-9]{1,3}|r[0-9]|x1?[0-9]|seealso) *= +" to " |$1= ") |
||
(26 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{RV|type=command | ||
| arma3 | | |game1= arma3 | ||
|version1= 1.92 | |||
| | |gr1= Math | ||
|gr2= Math - Vectors | |||
| | |descr= Returns resulting matrix from the {{Wikipedia|Matrix_multiplication|multiplication}} of two matrices. First matrix must be of the size n ✕ '''k''', while the second must be of the size '''k''' ✕ m, i.e <tt>columns</tt> matrix1 <nowiki>==</nowiki> <tt>rows</tt> matrix2. The resulting matrix will be of the size n ✕ m. If the shapes do not match, empty array [] will be returned.<br><br> | ||
[[Image:matrixMultiply.jpg|600px]] | |||
| | |s1= matrix1 [[matrixMultiply]] matrix2 | ||
|p1=matrix1: [[Array]] - matrix of the size <tt>n</tt>''(rows)'' ✕ <tt>k</tt>''(columns)'' | |p1=matrix1: [[Array]] - matrix of the size <tt>n</tt>''(rows)'' ✕ <tt>k</tt>''(columns)'' | ||
Line 26: | Line 16: | ||
|p2=matrix2: [[Array]] - matrix of the size <tt>k</tt>''(rows)'' ✕ <tt>m</tt>''(columns)'' | |p2=matrix2: [[Array]] - matrix of the size <tt>k</tt>''(rows)'' ✕ <tt>m</tt>''(columns)'' | ||
| [[Array]] - resulting matrix of the size <tt>n</tt>''(rows)'' ✕ <tt>m</tt>''(columns)'' | |r1= [[Array]] - resulting matrix of the size <tt>n</tt>''(rows)'' ✕ <tt>m</tt>''(columns)'' | ||
|x1= <code>[ | |x1= <code>[ | ||
Line 41: | Line 30: | ||
[6], | [6], | ||
[6] | [6] | ||
] */</code> | ] */</code> | ||
|x2= <code>[ | |x2= <code>[ | ||
[-1,0,0], | [-1,0,0], | ||
Line 56: | Line 45: | ||
[-1,-2], | [-1,-2], | ||
[-3,-1] | [-3,-1] | ||
] */</code> | ] */</code> | ||
| | |seealso= [[matrixTranspose]], [[vectorAdd]], [[vectorMagnitude]], [[vectorNormalized]], [[vectorMultiply]], [[vectorDotProduct]], [[vectorCrossProduct]], [[vectorDistance]], [[vectorLinearConversion]], [[vectorCos]], [[vectorFromTo]], [[vectorModelToWorld]], [[vectorWorldToModel]], [[BIS_fnc_transformVectorDirAndUp]] | ||
}} | }} | ||
<dl class="command_description"> | <dl class="command_description"> | ||
< | |||
<dd class="notedate">Posted on 30 Jun, 2019 | <dt></dt> | ||
<dt class="note">[[User:oOKexOo| oOKexOo]]<dd class="note"> | <dd class="notedate">Posted on 30 Jun, 2019</dd> | ||
<dt class="note">[[User:oOKexOo| oOKexOo]]</dt> | |||
<dd class="note"> | |||
Note that this command won't transform a 1D array automatically into a column vector | Note that this command won't transform a 1D array automatically into a column vector | ||
<code> | <code>[[-1,0,0],[0,-1,0],[0,0,-1]] [[matrixMultiply]] [1,2,3] // wrong, syntax error | ||
[[-1,0,0],[0,-1,0],[0,0,-1]] [[matrixMultiply]] [1,2,3] // wrong, syntax error | |||
[[-1,0,0],[0,-1,0],[0,0,-1]] [[matrixMultiply]] [[1,2,3]] // wrong, will return [] | [[-1,0,0],[0,-1,0],[0,0,-1]] [[matrixMultiply]] [[1,2,3]] // wrong, will return [] | ||
[[-1,0,0],[0,-1,0],[0,0,-1]] [[matrixMultiply]] [[1], [2], [3]] // correct, will return [[-1], [-2], [-3]] | [[-1,0,0],[0,-1,0],[0,0,-1]] [[matrixMultiply]] [[1], [2], [3]] // correct, will return [[-1], [-2], [-3]] | ||
</code> | </code> | ||
</dl> | </dl> | ||
Revision as of 23:20, 19 June 2021
Description
- Description:
- Returns resulting matrix from the multiplication of two matrices. First matrix must be of the size n ✕ k, while the second must be of the size k ✕ m, i.e columns matrix1 == rows matrix2. The resulting matrix will be of the size n ✕ m. If the shapes do not match, empty array [] will be returned.
- Groups:
- MathMath - Vectors
Syntax
- Syntax:
- matrix1 matrixMultiply matrix2
- Parameters:
- matrix1: Array - matrix of the size n(rows) ✕ k(columns)
- matrix2: Array - matrix of the size k(rows) ✕ m(columns)
- Return Value:
- Array - resulting matrix of the size n(rows) ✕ m(columns)
Examples
- Example 1:
[ [2], [2] ] matrixMultiply [ [3] ] /* returns [ [6], [6] ] */
- Example 2:
[ [-1,0,0], [0,-1,0] ] matrixMultiply [ [1,2], [3,1], [2,3] ] /* returns [ [-1,-2], [-3,-1] ] */
Additional Information
- See also:
- matrixTransposevectorAddvectorMagnitudevectorNormalizedvectorMultiplyvectorDotProductvectorCrossProductvectorDistancevectorLinearConversionvectorCosvectorFromTovectorModelToWorldvectorWorldToModelBIS_fnc_transformVectorDirAndUp
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note
- Posted on 30 Jun, 2019
- oOKexOo
-
Note that this command won't transform a 1D array automatically into a column vector
[[-1,0,0],[0,-1,0],[0,0,-1]] matrixMultiply [1,2,3] // wrong, syntax error [[-1,0,0],[0,-1,0],[0,0,-1]] matrixMultiply [[1,2,3]] // wrong, will return [] [[-1,0,0],[0,-1,0],[0,0,-1]] matrixMultiply [[1], [2], [3]] // correct, will return [[-1], [-2], [-3]]