問題タブ [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.
matlab - Matlab にスプラット演算子 (または同等のもの) はありますか?
配列 (実行時まで長さが不明) がある場合、配列の各要素を個別のパラメーターとして関数を呼び出す方法はありますか?
そのようです:
コンテキスト: n
-d 配列へのインデックスのリストがありますQ
。私が欲しいのは のようなものですがQ(a,b,:)
、持っているのは だけ[a,b]
です。わからないのでn
、インデックスをハードコーディングすることはできません。
matlab - 未知の次元行列の索引付け
固定されていない次元行列Mがあり、そこから単一の要素にアクセスします。要素のインデックスはベクトルJに含まれています。
したがって、たとえば:
今回のMは4次元ですが、事前にはわかりません。これは、私が書いているアルゴリズムの設定に依存します。同様にそれは可能性があります
だから私は単純に使うことはできません
sub2indを使用することを考えていましたが、これにも変数をコンマで区切る必要があります。
@gnovice
M
これは機能しますが、マトリックスからのこの種の要素抽出をかなり多く使用するつもりです。したがって、cellJ
アクセスするたびに一時変数を作成する必要がある場合M
、これにより計算が大幅に遅くなりませんか?
別の関数を書くこともできます
これをアルゴリズムのさまざまな構成に適合させます。もちろん、これは私が質問に含めなかった速度と柔軟性の考慮事項です。
ただし、これは要素を取得する場合にのみ使用できます。設定する場合は、実際にインデックス(およびできれば線形インデックス)を使用する以外に方法はありません。私はまだsub2indがオプションだと思います。私が意図した最終結果は次のようなものでした。
結果:
方法2は、方法1よりも20(=P
変換するインデックスセット()の数が少ない)から80(インデックスセット(=P
)の数が多い)の倍の速さです。簡単な選択
arrays - MATLAB: 指定された範囲を除くすべての配列を選択します
特定の範囲に入らない配列の内容に対してメトリックを実行したいと思います。
たとえば、1000 行 2 列の配列があります。行 50-150、250-300、400-700、および 900-950 に該当しない 1 つの列 (列 #2 としましょう) のすべての要素に対して mean() 計算を実行したいと思います。
したがって、平均は行 1 ~ 49、151 ~ 249、301 ~ 399、701 ~ 899、および 951 ~ 1000 に基づいて計算する必要があります。
これについてどうすればいいですか?
編集: プログラムが実行されるたびに、含まれている項目が変更されることを指摘しておく必要があります。したがって、インクルージョンをハードコードすることはできません。それらは除外に基づいて解決する必要があります。
matlab - 行列のインデックスをmatlabの他の値に置き換えます
今、私は行列を持っているとしましょう
そして別のマトリックス
Aの最初の行はSの一意のインデックスであり、2番目の行には最初の行の値が置き換えられる値が含まれています。つまり、Sのすべての「1」は2に置き換えられ、すべての「2」は4に置き換えられます。最後に、行列を取得します。
今私がしていることは:
今、私はかなり大きな行列を持っています、そしてforループを使うことは少し遅いです。それを行うためのより速い方法はありますか?
matlab - Matlab で部分行列 (特定のパターンではない) を選択する方法
Matlabでサブマトリックス(パターンではない)を選択するには? たとえば、サイズが 10 x 10 の行列の場合、1 番目の 2 番目と 9 番目の行と 4 番目と 6 番目の列の交点で構成される部分行列を選択する方法は?
役立つ回答をありがとうございます。
matlab - MATLAB の配列で最大値とそのインデックスを見つけるにはどうすればよいですか?
配列があるとしa = [2 5 4 7]
ます。最大値とそのインデックスを返す関数は何ですか?
たとえば、私の場合、その関数は最大値として 7 を返し、インデックスとして 4 を返す必要があります。
matlab - Matlab-Subscript インデックスは、実数の正の整数または論理値のいずれかでなければなりません
どこで私は間違えましたか?問題は次のとおりです: R = sqrt(bsxfun(@minus,XX,(XX)').^2+bsxfun(@minus,YY,(YY)').^2);
matlab - インデックス行列で否定された正確なインデックス付けで行列の要素を取得しますか?
たとえば、私は持っていA=[11 24 33 47 52 67]
て、インデックス行列を持っているI = [2 3]
ので、Iで指定されたインデックス以外のインデックスから A の要素を持ちたいと思っていB = [11 47 52 67]
ます。どうすればそれを行うことができ、否定されたインデックス行列として I を使用できますか?
matlab - Mablab/Octave - cellfun を使用して、あるマトリックスを別のマトリックスにインデックス付けします
乱数の行列を含むセルがありますa = {[300*20],....,[300*20]};
。同じ形式の別のセルを持っていb
ます。nan
a
cellfun
セルをループして、基本的に用語をienan
に等しくするために使用したい。0
a(b)=0
ありがとう、j
arrays - matlab のベクトルのインデックスとしての配列
1D ベクトル (長さ 100 の「信号」など) が 3D 行列 (寸法 10x10x10 の「距離」など) によってインデックス付けされ、結果 (「信号 (距離)」) が次の 3D 行列であるいくつかの matlab コードを見つけました。によってインデックス付けされた 3D マトリックスとまったく同じサイズの 10x10x10。
matlab はそこで実際に何をしますか? ベクターの要素はどこに行ったのですか? 検索するキーワードを知っていますか?
「indexing」などのキーワードでstackoverflowとmathworksのヘルプページを検索しましたが、役立つものは何も見つかりませんでした...
ありがとうございました!