特定の場所でインデックスを見つけるための最も簡単で計算効率の高い方法は何ですか?

ちょっと興味があるんだけど

私はマトリックスを持っています

m =

 2     2     1
 3     2     1
 0     4     1
 0     4     1
 5     4     1
 0     5     2
 1     2     2
 1     3     2
 1     4     2
 1     1     3
 0     2     3
 0     3     4
 0     3     4 

これは潜在的にNx 3であり、Nは非常に大きくなる可能性があります。

ゼロがある最初の列(1-13)でインデックスを見つけたいのですが、重複する行があるか、行が一意である場合に限ります。2番目と3番目の列が同じであるが、最初の列がゼロ以外の行は必要ありません。つまり、最初の列にゼロがあり、2番目と3番目の列の対応する番号が、最初の列のゼロ以外の異なる番号を持つ別の番号と同じである場合、そのゼロのインデックスを無視します。したがって、上記の例では、インデックス6、11、12、13のみを返します。インデックス3、4は、それに類似した行(2列目と3列目)があるというルールに違反しているため、返さないでください。以下に示すように、最初の列は異なります。

 0     4     1
 0     4     1
 5     4     1

遅い解決策の1つは、最初の列が0である行のインデックスを見つけてindm=m(:,1)==0から、マトリックスの行を反復処理して、m2番目と3番目の列が同じで1番目の列が異なるマトリックス()に他の行が存在するかどうかを確認することです。そのような場合が存在しない場合は、プログラムによって返されるリストに行のインデックスを追加します。ただし、この方法では、大きな行列を通過する「forループ」が必要になります。

ジョナス

これを解決する1つの方法(同じ列2と3を持つ他の行がある場合に行が不良であると想定)は、すべての異なる行を見つけて、最初の列がどこでも同じであるかどうかを確認することです。

%# uIdx is the same for sets of rows where m(i,2:3) is equal
[~,~,uIdx] = unique(m(:,2:3),'rows');
%# allZeros is true if all entries in the first column of m
%# corresponding to a set are the zero 
allZeros = accumarray(uIdx,m(:,1),[],@(x)all(x==0)); 

%# a good row belongs to a set of rows from m(:,2:3)
%# where all corresponding entries in the first column are zeros
%# use allZeros(uIdx) to expand allZeros to size(m,1)
goodRowIndices = find(allZeros(uIdx) == true)

goodRowIndices =

     6
    11
    12
    13

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Rのdata.tableでグループごとに行インデックスを見つけるための最も効率的な方法は何ですか?

データベーステーブルから特定の値を見つけるための最も簡単で最適な方法は何ですか?

javascriptを使用してリスト内のオブジェクトの最初の出現インデックスを見つけるための最も速く/最も効率的な方法は何ですか?

Javaで左/右端の未設定ビットのインデックスを見つける最も効率的な方法は何ですか?

インデックス付けされていない場所に追加できるリストを作成するための最良の方法は何ですか

配列の最大値のインデックスを見つける最も速い方法は何ですか?

2つのファイルの行の違いを計算する最も効率的な方法は何ですか?

Scalaで最小ヒープを作成するための最も簡単で効率的な方法は何ですか?

ループする整数のインデックスを作成するための最良/最も効率的な方法は何でしょうか?

1と0の2つのnumpy配列の比較を分類するための最も計算効率の高い方法。両方のインデックスに1、0などが含まれている場合

特定の制約のある多数の組み合わせのリストを生成するための計算効率の高い方法は何ですか?

jpegの暗いピクセルの数を見つける「最も簡単な」方法は何ですか?

jpegの暗いピクセルの数を見つける「最も簡単な」方法は何ですか?

繰り返される一連の数字のインデックスの中点を見つけるための最も効率的なアルゴリズムは何ですか?

特定のタイムゾーンで、LocalDateの最後の可能な瞬間を見つける最も簡単な方法は何ですか?

ページ付け(PHP、MySQL)を使用する場合、現在の合計/残高を計算する最も効率的な方法は何ですか?

Kotlinで移動平均を計算するための最速/最も簡単な方法は何ですか?

PythonでHDF5ファイルの特定の値へのすべてのパスを見つける最も効率的な方法は何ですか?

データベースの新しいエントリをチェックするための最も速くて効率的な方法は何ですか?

値が2Dポイントに最も近い2つのベクトルのインデックスを見つけるための最良の方法は何ですか

DataFrameインデックス内のラベルの場所を見つけるためにsearchsortedはget_locよりも高速ですか?

他の2つの場所に「最も近い」場所を見つけるための優れた目的関数は何ですか?

Rの整数の最下位セットビットを見つけるための最速/最も効率的な方法は何ですか?

式の最大の線形独立サブセットを見つけるための最も効率的な方法は何ですか

最も近いポイントのクエリがすばやく計算されるように、ポイントのセット(埋め込み)を格納する最も効率的な方法は何ですか?

画像内のオブジェクトの座標を見つける最も簡単な方法は何ですか?

ディレクトリにあるファイルの数を数えるための最もリソース効率の良い方法は何ですか?

Pythonで特定の文字が最後に出現した後、文字列の文字を見つける最も簡単な方法は何ですか?

次数10 ^ 5の完全グラフのEMSTを見つけるための最も単純で最も簡単なアルゴリズムは何ですか

TOP 一覧

  1. 1

    セレンのモデルダイアログからテキストを抽出するにはどうすればよいですか?

  2. 2

    Chromeウェブアプリのウェブビューの高さの問題

  3. 3

    Railsで宝石のレイアウトを使用するにはどうすればよいですか?

  4. 4

    Windows 10 Pro 1709を1803、1809、または1903に更新しますか?

  5. 5

    Ansibleで複数行のシェルスクリプトを実行する方法

  6. 6

    アンドロイド9 - キーストア例外android.os.ServiceSpecificException

  7. 7

    Postmanを使用してファイル付きの(ネストされた)jsonオブジェクトを送信する

  8. 8

    tkinterウィンドウを閉じてもPythonプログラムが終了しない

  9. 9

    GoDaddyでのCKEditorとKCfinderの画像プレビュー

  10. 10

    Python / SciPyのピーク検出アルゴリズム

  11. 11

    Swiftのブロックのパラメーターに関するドキュメントのマークアップ形式は何ですか?

  12. 12

    Windows 7では、一部のプログラムは「ビジュアルテーマを無効にする」レジストリ設定を行いませんか?

  13. 13

    Google Playストア:アプリページにリーダーボードと実績のアイコン/バッジが表示されない

  14. 14

    ezdxf pythonパッケージを使用して既存のdxfファイルを変更するにはどうすればよいですか?

  15. 15

    PyCharmリモートインタープリターはプロジェクトタブにサイトパッケージのコンテンツを表示しません

  16. 16

    MySQLでJSON_LENGTHとJSON_EXTRACTを組み合わせる方法は?

  17. 17

    Get-ADGroupMember:このリクエストのサイズ制限を超えました

  18. 18

    ZScalerと証明書の問題により、Dockerを使用できません

  19. 19

    Dynamics365からローカルファイルにアクセスできます。ローカルリソースは許可されていません

  20. 20

    Eclipseプロジェクトをエクスポートすると、不適切なテクスチャリングとクラッシュが発生します。

  21. 21

    CSSのみを使用して三角形のアニメーションを作成する方法

ホットタグ

アーカイブ