問題タブ [matrix-indexing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1932 参照

c++ - mex内で呼び出すmemcpy関数

興味深い問題があります。つまり、そのように; mex 関数内で std::memcpy 関数を使用しようとしており、MATLAB 内でその mex 関数をそのように呼び出しています。

画像全体をコピーするとうまくいきます。

しかし、画像の一部をコピーしようとすると

正しい画像部分は得られませんが、無意味なピクセル値が得られます。

それで、ここで何が起こっているのですか?

0 投票する
2 に答える
1650 参照

matlab - 画像から 3x3 マトリックスを抽出する

画像から 3x3 マトリックスを抽出して個別に保存する必要があり、画像の最後までこのように続ける必要があります。たとえば、私の画像は次の行列です。

出力は次のようになります。

等々....

このためのコードまたは組み込み関数を提案してもらえますか?

0 投票する
1 に答える
1362 参照

matlab - 行と列のインデックス ベクトルを使用してスパース行列の複数の要素にアクセスする MATLAB

簡単な解決策があるはずだと思いますが、見つかりません:

A B同じ次元の疎行列がありn*nます。ゼロ以外の値をCコピーするマトリックスを作成したいと思います。AB

これが私のアプローチです:

詳細は次のとおりです。

  • 私のマトリックスは非常に大きいので、ソリューションは効率的である必要があります。C(B~=0) = B(B~=0); 残念ながらそれはしません。
  • 行列が大きすぎるため、線形インデックスも機能しません ( Matrix is too large to return linear indices.)。

2次元インデックスを使用する方法は本当にありませんか?

ご協力いただきありがとうございます!

0 投票する
2 に答える
241 参照

matlab - matlab での 2D 配列のインデックス付け

ゼロのみを含む6X4 行列がありM1ます。また、2 つの 1D 配列がY1あり、Y2それぞれの長さは 4 です。2 つの配列には、目的のインデックス値が含まれています。今、1に等しい行列のM1要素 を設定(1に変換)したいM1(Y1:Y2)

例:Y1=[1 2 2 1]そしてY2=[3 4 5 3]
M1そうあるべきです

for ループを使用してこれを行うことができます。しかし、それを行うための最適化された方法はありますか? (私はもっと大きな行列を使うつもりです)

0 投票する
3 に答える
9238 参照

python - リスト内包表記と論理インデックス

Matlab から Python にゆっくりと移行しています...

このフォームのリストがあります

および同じ数の項目を持つ別のリスト

nan 値を含まない list1 の要素と、対応する list2 の要素を抽出しようとしています。つまり、結果は次のようになります。

Matlab では、これは論理インデックスを使用して簡単に実行できます。

ここでは、何らかの形式のリスト内包表記がうまくいくと感じていますが、私は行き詰まっています:

これは明らかにlist2には役に立ちません。

または、次の論理インデックス作成の試行は機能しませ(「インデックスはリストではなく整数でなければなりません」)。

私はそれが痛々しいほど些細なことだと確信していますが、私はそれを理解することはできません.

0 投票する
3 に答える
171 参照

matlab - MATLAB 行列の要素を見つけるための効率的な方法

特定のコードでボトルネックをどのように処理できるかを知りたいです。

現在N ~ 10^6np ~ 1000number of calls to this part of code = 1000のボトルネック ステートメントには合計で約 10 秒かかっています。これは、コードの残りの部分に比べてかなりの時間です。

プロファイリング結果

@EitanT によって要求されたインデックス作成ステートメントのみのサンプル コードのスクリーンショット

サンプルコードのプロファイリング サンプルコードのプロファイリング

0 投票する
2 に答える
221 参照

arrays - matlab で配列の一部を削除する

100*4 の配列があるとします。

1 と 0 の 100*1 配列もあります。n 個の 1 があるとします。

100*4 の配列から *4 の配列を作成します。ここでは、2 番目の配列が 1 である列のみを含めます。

これを行う 1 つの方法は、二重の for ループを使用することです。もっと簡単な方法はありますか?

だから、私たちは持っています

そして私たちは欲しい

0 投票する
3 に答える
1669 参照

matlab - 3d マトリックスからいくつかの列を抽出する

私は現在、次元 N xtx t の配列 A を持っています。次の形式の 2D マトリックス N xt を作成します。

明らかに、これを行う 2 つの方法は、完全に書き出すこと (t が大きいため非現実的) とループ (潜在的に遅い) です。ループなしでこれを行う方法はありますか。私がやればうまくいくと思いました:

しかし、それで元のマトリックスが返されました。