# Access the element at a specific position of a matrix in Julia

**URL:** <https://discourse.julialang.org/t/access-the-element-at-a-specific-position-of-a-matrix-in-julia/27394>\
**Category:** General Usage\
**Created:** [August 10, 2019, 4:08pm UTC](https://discourse.julialang.org/t/access-the-element-at-a-specific-position-of-a-matrix-in-julia/27394 "2019-08-10T16:08:58Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![bsnyh](https://avatars.discourse-cdn.com/v4/letter/b/ce7236/32.png) [@bsnyh](https://discourse.julialang.org/u/bsnyh)\
**Post date:** [August 10, 2019, 4:08pm UTC](https://discourse.julialang.org/t/access-the-element-at-a-specific-position-of-a-matrix-in-julia/27394/1 "2019-08-10T16:08:58Z")

</div>

Hi, I know how to access the element at a specific position of a matrix. For example,

```julia
m = [1 2 3; 4 5 6] # m is a 2 by 3 matrix
m[1,2] # m[1,2] would return the element at position (1,2), which is number 2
m[(1,2)] # m[(1,2)] would not work

```

I’m reading some code, and get into the following confusing point.

```julia
indices = [( m.v[i], m.v[j] ) for (i,j) in m.e ]

m.w[indices[i] ]

```

indices is a vector of tuples, and m.w is a matrix. This would not work, right? based on the similar reasons as the above, or did I miss something?

---

<div class="post-metadata">

**Author:** ![simeonschaub](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/simeonschaub/32/216566_2.png) [@simeonschaub](https://discourse.julialang.org/u/simeonschaub)\
**Post date:** [August 10, 2019, 4:22pm UTC](https://discourse.julialang.org/t/access-the-element-at-a-specific-position-of-a-matrix-in-julia/27394/2 "2019-08-10T16:22:35Z")

</div>

You’re correct, this won’t work. You can use `CartesianIndex` for exactly this purpose though:

```julia
indices = [CartesianIndex(m.v[i], m.v[j]) for (i,j) in m.e ]
m.w[indices[i]]

```

---

<div class="post-metadata">

**Author:** ![hendri54](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/hendri54/32/9621_2.png) [@hendri54](https://discourse.julialang.org/u/hendri54)\
**Post date:** [August 11, 2019, 11:51am UTC](https://discourse.julialang.org/t/access-the-element-at-a-specific-position-of-a-matrix-in-julia/27394/3 "2019-08-11T11:51:09Z")

</div>

And `m[(1,2)...]` works.

---

<div class="post-metadata">

**Author:** ![oliver](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/oliver/32/19264_2.png) [@oliver](https://discourse.julialang.org/u/oliver)\
**Post date:** [August 11, 2019, 1:29pm UTC](https://discourse.julialang.org/t/access-the-element-at-a-specific-position-of-a-matrix-in-julia/27394/4 "2019-08-11T13:29:49Z")

</div>

Any ideas on why? 😃

---

<div class="post-metadata">

**Author:** ![kevbonham](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kevbonham/32/216165_2.png) [@kevbonham](https://discourse.julialang.org/u/kevbonham)\
**Post date:** [August 11, 2019, 4:20pm UTC](https://discourse.julialang.org/t/access-the-element-at-a-specific-position-of-a-matrix-in-julia/27394/5 "2019-08-11T16:20:01Z")

</div>

Because there’s no method defined for indexing a matrix with a tuple. But if you unpack the tuple with `...`, it’s the same as `m[1,2]`
