Counting in a Matrix

1 次查看(过去 30 天)
Matthew
Matthew 2013-5-26
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.

采纳的回答

Walter Roberson
Walter Roberson 2013-5-26
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...

更多回答(1 个)

Image Analyst
Image Analyst 2013-5-26
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.

类别

Help CenterFile Exchange 中查找有关 Particle & Nuclear Physics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by