Discover MakerZone

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

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Counting in a Matrix

Asked by Matthew on 26 May 2013

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.

Thank you in advance.

Matthew.

0 Comments

Matthew

Products

No products are associated with this question.

2 Answers

Answer by Walter Roberson on 26 May 2013
Accepted answer

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...

0 Comments

Walter Roberson
Answer by Image Analyst 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.

0 Comments

Image Analyst

Contact us