• 締切済み

OpenCVの行列の掛け算

OpenCVで行列同士の掛け算をしようとしています. 4×1の行列と4×4の行列を cvMullで掛け算しようとすると 行と列の次元が合わないので掛け算できません 二つの行列を掛け算する方法はありますか?

みんなの回答

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

4x1 X 4x4 は数学でも計算できませんから。 目的によっては、 ・4x1を転置した1x4 を使う。 ・4x4 X 4x1 で計算する でいいのかもしれませんが、それぞれ違う結果になるので、どちらが求めるものか、あるいは、どちらも違うのか、判断できません。

関連するQ&A

  • mathematicaの行列の掛け算に関して

    mathematicaで行列の掛け算をしたいのですが、 2x2行列同時の計算は普通にできるのですが、 1x2行列と2x1行列の計算ができません。行列の大きさが変わる場合どのようにすればいいのでしょうか? (3,5)*(45 14)^T (Tは転置行列として解釈してください。) 実行しようとしたら互いに長さが等しい同時のオブジェクトしか結合できませんとでます。

  • かわった掛け算

    ある部族での掛け算の方法です. その部族では数字を2倍にするか半分にするか という計算しかなく,分数の概念もないそうです. しかし,どんな掛け算でも行うことができるのです. 例えば,27*43 を計算するときには 27と43から始まる数列を作ります.  27 43  13 86   6 172   3 344   1 688 このように,左の列は数字を半分にし(奇数時の余りは無視) 右の列は数字を2倍していきます. これを左の列の数字が1になるまで続けたあと, 左の列が偶数になる行を取り除きます. 今の例では (6 172) です. そうしておいて,残った行の右の列の数字の和を計算すると解を得ます. 今は,  43 + 86 + 344 + 688 = 1161 です. 一般の場合に,この方法で正しい解が得られることを証明できません. どなたかご教示お願いします.

  • 行列の求め方

    基礎的な問題とは思うのですが、下記の行列の求め方がわかりません。 恐らく転置行列を使用して求めるとは思うのですが・・・ x=1 に対してPx=xとなり、x・y=0となる任意の3次元ベクトルyに対して 2 3 はPy=0となるような一次変換を表す3×3行列Pを求めよ。

  • マクロの行列の掛け算ができません

    エクセルでマクロ勉強中の初心者です。 マクロで行列A(3行4列)、行列B(4行2列)の掛け算のプログラム(下記)を作っているのですが 「インデックスが有効範囲にありません」というエラーメッセージが出てしまいます。 エクセルで関数(MMULT)で同様の計算をするときちんと計算できるのですが・・・。 どなたか教えてください。 よろしくお願いいたします。 Sub s1() ' 次元の設定 Dim A(3, 4), B(4, 2), C(3, 2) N1 = 3: N2 = 4: N3 = 3 ' データの入力 (行列AとBの設定) For I = 1 To N1: For J = 1 To N2 A(I, J) = Worksheets("s1").Cells(I, J) Next J: Next I For I = 1 To N2: For J = 1 To N3 B(I, J) = Worksheets("s1").Cells(I, J + 5) Next J: Next I ' ベクトルの内積 For I = 1 To N1 For J = 1 To N3 For K = 1 To N2 C(I, J) = C(I, J) + A(I, K) * B(K, J) Next K Next J Next I ' 結果の出力 For I = 1 To N1 For J = 1 To N3 Worksheets("s1").Cells(I + 6, J + 7) = C(I, J) Next J Next I End Sub

  • 逆行列 求め方

    逆行列の求め方について。 以下の内容はすべてdet(A)≠0:逆行列が存在することを前提にします。 2行2列の場合は、添付画像のように逆行列を求めていました。 これは、通常3行3列などで逆行列を求める場合に使う A^-1=A^~/|A|を簡単にしたものだと考えておりました。 式が見づらくてすいません。A^-1:逆行列、A^~:余因子行列です。 ここで質問なのですが、 2行2列の余因子行列は添付画像にある行列になるのでしょうか? 3行3列の場合はテキストなどに記載されている方法でわかるのですが 同様の方法では2行2列の余因子行列は作れません・・・ また、余因子行列を作る際に小行列式なるものが出てきます。 この小行列式と呼ばれるものは見た目は行列なのになぜ行列式 と呼ばれるのでしょうか? URL:http://kagennotuki.sakura.ne.jp/la/node5.html 以上、ご回答よろしくお願い致します。

  • ランダムな数字の掛け算

    こんなこと出来るのか教えてください。例えばA列のセルに5000行位の数字データがあるとします。そのデータをB列の同じ行に1.001~1.1の範囲でランダムな数字の掛け算にしたいのです。 何かよい方法があればお教えください。よろしくお願いします。

  • 多次元配列の行列

    1番 キーボードから3×3の行列の要素を2次元配列に入力した後、その値を表示するプログラムをさくせいせよ 2番 キーボードから3×4の行列の要素を2次元配列に入力した後、転置行列を出力するプログラムをさくせいせよ 3番 2つの行列A(3×3行列)、B(3×3行列)の買う要素の値をキーボードから2つの配列に入力し、2つの行列、並びに、それらの和、差、積の行列を出力するプログラムを作成せよ(Bに単位行列を入れて検算せよ) 4番 2行3列の行列と3行2列の積を求めるプログラムを作成せよ どなたかわからないでしょうか?? 数が多くてすみません。 わかる方お願いします!!

  • 行列について

    行列A(2行2列)、行列B(2行2列)が与えられているとします。AX=Bの関係を満たす行列Xを求めるという問題で、行列Aが逆行列を持たない場合どのようにすればいいのでしょうか? 回答よろしくお願いいたします

  • 複雑な行列式から固有値を求める

    こんばんは!固有値が求められないので質問させていただきました。 |α 0 β 0 0 0| |0 α β 0 0 0| |β β ω 0 0 β| |0 0 0 α 0 β| |0 0 0 0 α β| |0 0 β β β ω| という6行6列の行列があります。 行列全体をβで割って(α-λ)/β=X(λ:固有値) などとおければ、簡単に固有値が求められそうな行列なのですが、 3行3列目と6行6列目にωがあることによって、対角成分の計算を綺麗に行えません。誰か良い方法がありましたら、よろしくお願いします。

  • fortranを用いた行列の掛け算について

    行列の掛け算についてなのですが、ある行列aを2乗した行列bを求める場合は以下のようなプログラムを書けば出来たのですが、これを3乗以上に拡張するためにはどうしたらよいのでしょうか? ______do i=1,3 ________do j=1,3 __________b(i,j)=0.D0 ____________do k=1,3 ______________b(i,j)=b(i,j)+a(i,k)*a(k,j) ____________enddo ________enddo ______enddo

専門家に質問してみよう