2012-04-23 2 views
1

を命じた数値のセグメントを作成するには:私は今持っているしたいどのようなMATLABは:継続的にシンプルなMATLAB-問題

coordinates=[1 6 ;9 20]; 

coordinates = 

    1  6 
    9 20 

は次のとおりです。

idxList=[1 2 3 4 5 6 9 10 11 12 13 14 15 16 17 18 19 20]; 


idxList = 

    1  2  3  4  5  6  9 10 11 12 13 14 15 16 17 18 19 20 

私はそれをしなければならない方法は?

+0

'[座標(1,1)の座標(1,2)の座標(2,1)の座標(2,2)]' – Richante

+0

何7を基準とした座標についてまたは14行?私はそれをループで行うべきですか? –

+0

'cell2mat(arrayfun(@(i)座標(i、1):座標(i、2)、サイズ(座標、1)、 'uniformoutput'、0))'は機能しますが、方法。あなたが '座標 'で取得する数字の種類によっては、その出力に' sort'と 'unique'をしたいかもしれません。 – Richante

答えて

2

がここに1つの方法です:

>> cell2mat(cellfun(@(x) x(1):x(2), num2cell(coordinates, 2), 'UniformOutput', 0)') 

ans = 

    1  2  3  4  5  6  9 10 11 12 13 14 15 16 17 18 19 20