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

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

カテゴリ

Community Treasure Hunt

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

Start Hunting!

Translated by