問題タブ [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.
c++ - mex内で呼び出すmemcpy関数
興味深い問題があります。つまり、そのように; mex 関数内で std::memcpy 関数を使用しようとしており、MATLAB 内でその mex 関数をそのように呼び出しています。
画像全体をコピーするとうまくいきます。
しかし、画像の一部をコピーしようとすると
正しい画像部分は得られませんが、無意味なピクセル値が得られます。
それで、ここで何が起こっているのですか?
matlab - 画像から 3x3 マトリックスを抽出する
画像から 3x3 マトリックスを抽出して個別に保存する必要があり、画像の最後までこのように続ける必要があります。たとえば、私の画像は次の行列です。
出力は次のようになります。
等々....
このためのコードまたは組み込み関数を提案してもらえますか?
matlab - 行と列のインデックス ベクトルを使用してスパース行列の複数の要素にアクセスする MATLAB
簡単な解決策があるはずだと思いますが、見つかりません:
A
B
同じ次元の疎行列がありn*n
ます。ゼロ以外の値をC
コピーするマトリックスを作成したいと思います。A
B
これが私のアプローチです:
詳細は次のとおりです。
- 私のマトリックスは非常に大きいので、ソリューションは効率的である必要があります。
C(B~=0) = B(B~=0);
残念ながらそれはしません。 - 行列が大きすぎるため、線形インデックスも機能しません (
Matrix is too large to return linear indices.
)。
2次元インデックスを使用する方法は本当にありませんか?
ご協力いただきありがとうございます!
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 ループを使用してこれを行うことができます。しかし、それを行うための最適化された方法はありますか? (私はもっと大きな行列を使うつもりです)
python - リスト内包表記と論理インデックス
Matlab から Python にゆっくりと移行しています...
このフォームのリストがあります
および同じ数の項目を持つ別のリスト
nan 値を含まない list1 の要素と、対応する list2 の要素を抽出しようとしています。つまり、結果は次のようになります。
Matlab では、これは論理インデックスを使用して簡単に実行できます。
ここでは、何らかの形式のリスト内包表記がうまくいくと感じていますが、私は行き詰まっています:
これは明らかにlist2には役に立ちません。
または、次の論理インデックス作成の試行は機能しません(「インデックスはリストではなく整数でなければなりません」)。
私はそれが痛々しいほど些細なことだと確信していますが、私はそれを理解することはできません.
matlab - MATLAB 行列の要素を見つけるための効率的な方法
特定のコードでボトルネックをどのように処理できるかを知りたいです。
現在N ~ 10^6
、np ~ 1000
とnumber of calls to this part of code = 1000
のボトルネック ステートメントには合計で約 10 秒かかっています。これは、コードの残りの部分に比べてかなりの時間です。
@EitanT によって要求されたインデックス作成ステートメントのみのサンプル コードのスクリーンショット
arrays - matlab で配列の一部を削除する
100*4 の配列があるとします。
1 と 0 の 100*1 配列もあります。n 個の 1 があるとします。
100*4 の配列から *4 の配列を作成します。ここでは、2 番目の配列が 1 である列のみを含めます。
これを行う 1 つの方法は、二重の for ループを使用することです。もっと簡単な方法はありますか?
だから、私たちは持っています
と
そして私たちは欲しい
matlab - 3d マトリックスからいくつかの列を抽出する
私は現在、次元 N xtx t の配列 A を持っています。次の形式の 2D マトリックス N xt を作成します。
明らかに、これを行う 2 つの方法は、完全に書き出すこと (t が大きいため非現実的) とループ (潜在的に遅い) です。ループなしでこれを行う方法はありますか。私がやればうまくいくと思いました:
しかし、それで元のマトリックスが返されました。