タグ付けされた質問 「matrix」

数学では、行列(複数の行列)は、行、列に配置された数値、記号、または式の長方形配列です。マトリックス内の個々のアイテムは、その要素またはエントリと呼ばれます。

6
条件を満たす行列の行を選択する
Rで行列: one two three four [1,] 1 6 11 16 [2,] 2 7 12 17 [3,] 3 8 11 18 [4,] 4 9 11 19 [5,] 5 10 15 20 行が列3 = 11である部分行列を抽出したいと思います。つまり、 one two three four [1,] 1 6 11 16 [3,] 3 8 11 18 [4,] 4 9 …
144 r  select  matrix  submatrix 

8
乗算はNumPy MatrixクラスとArrayクラスでどのように異なりますか?
numpyのドキュメントでは、行列の操作に行列の代わりに配列を使用することを推奨しています。ただし、オクターブ(最近まで使用していた)とは異なり、*は行列乗算を実行しないため、関数matrixmultipy()を使用する必要があります。これにより、コードが非常に読みにくくなります。 誰かが私の意見を共有し、解決策を見つけましたか?

6
行列またはデータフレームのすべての行に関数を適用する
私が2行2列の行列と、引数の1つとして2ベクトルを使用する関数があるとします。関数を行列の各行に適用して、nベクトルを取得したいと思います。Rでこれを行う方法? たとえば、3点の2D標準正規分布の密度を計算したいとします。 bivariate.density(x = c(0, 0), mu = c(0, 0), sigma = c(1, 1), rho = 0){ exp(-1/(2*(1-rho^2))*(x[1]^2/sigma[1]^2+x[2]^2/sigma[2]^2-2*rho*x[1]*x[2]/(sigma[1]*sigma[2]))) * 1/(2*pi*sigma[1]*sigma[2]*sqrt(1-rho^2)) } out <- rbind(c(1, 2), c(3, 4), c(5, 6)) 関数を各行に適用する方法はout? 指定する方法で関数へのポイント以外の引数に値を渡す方法は?
129 r  function  matrix  apply  sapply 

8
numpyで1D配列を2D配列に変換します
2D配列の列数を指定して、1次元配列を2次元配列に変換したい。このように機能するもの: > import numpy as np > A = np.array([1,2,3,4,5,6]) > B = vec2matrix(A,ncol=2) > B array([[1, 2], [3, 4], [5, 6]]) numpyには、作成した関数「vec2matrix」のように機能する関数がありますか?(2D配列のように1D配列にインデックスを付けることができることを理解していますが、それは私が持っているコードのオプションではありません-この変換を行う必要があります。)

3
Rを使用して最大値を含む行インデックスを見つける
次の行列があるとすると、2列目の最大値を見つけたいとしましょう。 mat <- matrix(c(1:3,7:9,4:6), byrow = T, nc = 3) mat [,1] [,2] [,3] [1,] 1 2 3 [2,] 7 8 9 [3,] 4 5 6 私max(mat[,2])は8を返します。行インデックス(この場合は2行目)を返すにはどうすればよいですか?
117 r  matrix 


8
回転に四元数が使用されるのはなぜですか?
私は物理学者で、プログラミングを学んでおり、行列/ベクトル形式で書く代わりに回転に四元数を使用する多くの人々に出会ってきました。 物理学では、四元数を使用しない非常に良い理由があります(ハミルトン/ギブスなどについて時折言われる​​奇妙な話にもかかわらず)。物理学では、説明に優れた分析動作が必要です(これには正確に定義された意味がありますが、通常のイントロクラスで教えられているものをはるかに超える技術的な方法があるため、詳細には触れません)。四元数にはこの優れた振る舞いがないため、役に立たないことがわかります。また、ベクトル/行列にはあるので、それらを使用します。 ただし、厳密な回転と分析構造を使用しない説明に制限されているため、3D回転はどちらの方法(または他のいくつかの方法)でも同等に説明できます。 一般に、X 2 = X ' 2の制約を受けて、点X =(x、y、z)を新しい点X' =(x '、y'、z ')にマッピングするだけです。そして、これを行うことはたくさんあります。 単純な方法は、これが定義する三角形を描画して三角法を使用するか、点(x、y、z)とベクトル(x、y、z)と関数f(X)= X 'の間の同型を使用することです。行列MX = X '、またはクォータニオンを使用するか、他の方法(x、y、z)T。(a、b、c)(x'、y '、 z ')など 数学の観点から見ると、これらの記述はすべて、この設定では(定理として)同等です。それらはすべて同じ数の自由度、同じ数の制約などを持っています。 では、なぜ四元数がベクトルよりも好まれるように見えるのですか? 私が目にする通常の理由は、ジンバルロックまたは数値の問題ではありません。 これはオイラー角の問題にすぎないため、ジンバルロックなしの引数は奇妙に見えます。また、これは座標の問題のみです(極座標のr = 0での特異性(ヤコビアンランクが緩む)のように)。これは局所的な問題のみであり、座標を切り替えて縮退から回転させることで解決できます。または、2つの重複する座標系を使用します。 私はこれらの両方(および代替手段)がどのように実装されるか詳細に知らないので、数値の問題についてはあまり確信がありません。四元数の再正規化は、回転行列の場合よりも簡単であると読みましたが、これは一般的な行列にのみ当てはまります。回転には、これを自明にする追加の制約があります(これは、四元数の定義に組み込まれています)(実際には、自由度が同じであるため、これは真でなければなりません)。 それでは、ベクトルまたは他の選択肢よりも四元数を使用する理由は何ですか?



4
numpyで要素ごとの行列乗算(アダマール積)を取得するにはどうすればよいですか?
2つの行列があります a = np.matrix([[1,2], [3,4]]) b = np.matrix([[5,6], [7,8]]) そして私は、要素ごとの積を取得したい[[1*5,2*6], [3*7,4*8]]等しく、 [[5,12], [21,32]] 私が試してみました print(np.dot(a,b)) そして print(a*b) しかし、どちらも結果を出します [[19 22], [43 50]] これは要素ごとの積ではなく、行列積です。組み込み関数を使用して要素ごとの積(別名アダマール積)を取得するにはどうすればよいですか?

1
理解できないデータ型
行列を使って計算しようとしています。コードはこれです import numpy as np # some code mmatrix = np.zeros(nrows, ncols) print mmatrix[0, 0] しかし、「データ型が理解できません」というメッセージが表示され、ターミナルから実行すると機能します。
93 python  matrix  numpy 

4
Pythonのnumpyndarray内の非NaN要素の数を数える
numpyndarray行列の非NaN要素の数を計算する必要があります。Pythonでこれを効率的に行うにはどうすればよいですか?これを実現するための簡単なコードは次のとおりです。 import numpy as np def numberOfNonNans(data): count = 0 for i in data: if not np.isnan(i): count += 1 return count numpyにこれのための組み込み関数はありますか?私はビッグデータ分析を行っているので、効率は重要です。 助けを求めてThnx!
90 python  numpy  matrix  nan 

8
MATLABでn次元行列の各要素を反復処理するにはどうすればよいですか?
私は問題があります。MATLABのn次元行列のすべての要素を反復処理する必要があります。問題は、任意の数の次元に対してこれを行う方法がわからないことです。私は言うことができることを知っています for i = 1:size(m,1) for j = 1:size(m,2) for k = 1:size(m,3) などですが、任意の数の次元に対してそれを行う方法はありますか?


10
4x4行列の反転
4x4行列を反転する方法のサンプルコード実装を探しています。ガウス分布、LU分解などがあることは知っていますが、それらを詳細に調べる代わりに、これを行うためのコードを探しています。 言語は理想的にはC ++であり、データは列優先順に16個のfloatの配列で利用できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.