Counting in a Matrix

on 26 May 2013

Walter Roberson (view profile)

Hi all,

I have a 3 by 7 matrix as following:

g =

```     0     0     0     0     0     0     0
0     0     0     0     0     0     0
0     0     0     0     0     0     0```

if I write

g(9) = 1

I get:

g =

```     0     0     0     0     0     0     0
0     0     0     0     0     0     0
0     0     1     0     0     0     0```

when actually want g(9) = 1 to be:

g =

```     0     0     0     0     0     0     0
0     1     0     0     0     0     0
0     0     0     0     0     0     0```

or in other terms, instead of counting down columns for 1,2,3,4,5...... I want to count across rows. Is there an option in Matlab to change this function.

Matthew.

Products

No products are associated with this question.

Walter Roberson (view profile)

on 26 May 2013

No, there is no option to change the order of the dimensions.

If there is an especially good reason to count across, you could use

```Tg = g.';
Tg(9) = 1;
g = Tg.';
```

There are also calculations that can be done to switch between the two orderings, but my algebra center in my brain is telling me it is the weekend and it wants to sleep in...

Image Analyst (view profile)

on 26 May 2013

You can transpose it, change it, and transpose it. But why not just use row, column indexing? There are also functions subs2ind() and ind2subs() that you might be interested in.

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi