2016-05-04 9 views
0

まで追加どこがn COLSのマトリックスを作成する方法を思っていた、各列は、私が理想的に欲しい0:0.01:1分布から行列を作成し、行が1

ndgridの形仕方の分布でいる場合
[x1,x2,x3...,xn] = ndgrid(0:0.01:1,0:0.01:1.....m times) 

私の制約は、行は、私が唯一の1 まで追加上記グリッドからそれらの行のインデックスを続けるだろうで1件まで追加しかし、あなたは、これは、計算が大きすぎる理解できるようすべきです。 これを達成するための短期間で効率的な方法を探しています。 私は助けていただければ幸いです。

+1

私はあなたが何を意味するか理解することのいくつかのトラブルを持っています。あなたが多次元行列について話している場合には、N次元行列、行の代わりに次元1などのキーワードを使用するとよいでしょう。質問を編集し、次元数が関係する部分を明確にして、必要なものを正確に理解できるようにしてください。つまり、とにかく完全なmatixを保存することはできません。要素_i_が行列にどのように関係するか(matlabが行列を線形インデクシングで索引付けするのと同じ方法が望ましい)を定義し、単一のベクトルを反復する方法を定義するだけではどうですか? – patrik

+1

'n'次元の行列では' row'とは何を呼びますか? – BillBokeey

答えて

0

あなただけの2次元マトリックスを持っており、それそのような指標として、あなたは合計すると、すべての行を比較して、使用して行うことができ1まで追加これだけの行フィルタリングする場合:

>> A=[0.1,0.3,0.3,0.3; % adds up to 1 
     0.5,0.4,0.1,0.4; % adds up to 1.2 
     0.4,0.2,0.1,0.3; % adds up to 1 
     0.0,0.1,0.5,0.0] % adds up to 0.6 
>> A(sum(A,2)==1,:) 

ここで、sum(A,2)は2次元(行)のAを合計し、この合計を1と比較します。そして、これは与え行列の行を選択するための指標として使用されているブール配列を与える:

ans = 
    0.1000 0.3000 0.3000 0.3000 
    0.4000 0.2000 0.1000 0.3000 
関連する問題