Expand Elements in a Table/Matrix

Sorry i re-post, I was not able to find an answer for this.
Let's say I have a matrix A, where the 1st row and column would be indexes.
A =
0 1 2 3
10 5 6 9
20 5 23 6
30 3 4 7
How would I expand it to all the combination of row x column values with out using loops. Like bellow:
A_Elements=
1 10 5
1 20 5
1 30 3
2 10 6
2 20 23
2 30 4
3 10 9

3 件のコメント

Walter Roberson
Walter Roberson 2011 年 5 月 16 日
What determines how often each item should be repeated?
Walter Roberson
Walter Roberson 2011 年 5 月 17 日
Should that have continued with
3 20 9
3 30 7
?
Carlos C
Carlos C 2011 年 5 月 17 日
The answer A_Elements is what the answer needs to be. Essentially think of the values in row 1 to be "x" values and column 1 to be the "y" values and the values in the middle to be z(x,y)

サインインしてコメントする。

 採用された回答

Andrei Bobrov
Andrei Bobrov 2011 年 5 月 17 日

0 投票

my variant
[j i] = meshgrid(A(1,2:end),A(2:end,1));
A_Elements2 = [j(:) i(:) reshape(A(2:end,2:end),[],1)]

1 件のコメント

Carlos C
Carlos C 2011 年 5 月 17 日
Thanks for the reply, this worked

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2011 年 5 月 17 日

0 投票

[reshape(repmat(A(1,2:end),size(A,1)-1,1),[],1), repmat(A(2:end,1),size(A-1)-1,1), reshape(A(2:end,2:end),[],1)]

1 件のコメント

Carlos C
Carlos C 2011 年 5 月 17 日
I get this error when running this script:
"??? Error using ==> horzcat
CAT arguments dimensions are not consistent."

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by