What does the syntax matrix(vector) mean?

2 次查看(过去 30 天)
I'm reviewing some code written by someone else, and it includes a line of the format:
a = m(v)
where m is a matrix and v is a vector. It's unclear to me exactly what operation this is performing. At first, I thought it was matrix multiplication, but the matrix does not have the proper dimensions to operate on the vector. The matrix is 1006x321, and the vector is 143x1. The output of this operation, a, is also a 143x1 vector. Since it can't be proper matrix multiplication, I really don't know what operation is being performed here. What exactly does this syntax mean?

采纳的回答

Voss
Voss 2024-7-17
  2 个评论
Raven
Raven 2024-7-17
Ohh, ok, I didn't really think this was it, as I didn't know you could index matrices with one value, and the values in the vector were quite large, but it makes sense given the way it works. Thanks!
Voss
Voss 2024-7-17
编辑:Voss 2024-7-17
You're welcome!
Here's an example to illustrate indexing a matrix with a vector:
m = reshape(100+(1:27),[],3)
m = 9x3
101 110 119 102 111 120 103 112 121 104 113 122 105 114 123 106 115 124 107 116 125 108 117 126 109 118 127
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
v = 1:2:15 % a vector containing the odd numbers from 1 to 15
v = 1x8
1 3 5 7 9 11 13 15
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
% a will contain the 1st, 3rd, 5th, ..., 15th elements of m.
% note that the counting goes down the first column of m first, then
% continues down the second column, and so on.
a = m(v)
a = 1x8
101 103 105 107 109 111 113 115
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品


版本

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by