• ベストアンサー

表計算で行列の積を計算する方法(OpenOffice、Excel等)

よろしくお願いします。 表計算ソフトで、行列の積を計算する方法を教えてください。 MMULT関数を使って、 =MMULT(1つ目の行列のありか, 2つ目の行列のありか) とすることはHELPを読んだので知っているのですが、 積の計算結果を出す複数のセルに、具体的にどう記述してよいかがわかりません。 私はオープンオフィス(Microsoft Office と大体同じ機能)を使っていますが、 Microsoft Excel でも、たぶん同じやり方ではないかと思いますので、 エクセルでのやり方を知っている方からの回答もお待ちしております。

  • sanori
  • お礼率94% (2444/2574)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

sanoriさんなので詳細は略。 http://www.quantunet.com/excel2003/skills/sample/the_mmult_function.html http://wiki.services.openoffice.org/wiki/Documentation/How_Tos/Calc:_MMULT_function 【Excelと違い,OpenOffice.org Calc 3.0 m21 Build 9319の検証では F2を押した後のCtrl + Shift + Enterでは配列数式にならなかった】 【OpenOffice.org CalcではExcelと違い,引数の区切りはカンマでなくセミコロンであることにも注意】 #行列中の位置が式上に表現できないので,一見して判るものではないため,個人的にはあまり好きではないが,代替案探すのも面倒なので断念。

sanori
質問者

お礼

オンラインヘルプという手がありましたか。 なるほど。 Ctrl + Shift + Enter で解決しました。 ありがとうございました!!! >>>sanoriさんなので詳細は略。 あはは。何やら意味深な感じですね。

その他の回答 (2)

回答No.3

配列数式を用いない方法もあります。 =INDEX(MMULT(行列,行列),ROW(A1),COLUMN(A1))

sanori
質問者

お礼

そのやり方は、応用範囲が広がりそうですね。 ありがとうございました。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

エクセルではSUMPRODUCT関数を使います。 SUMPRODUCT関数とは↓ http://www11.plala.or.jp/koma_Excel/contents3/mame3029/mame302903.html

sanori
質問者

お礼

似た関数があるんですね。 ありがとうございました。

関連するQ&A

  • エクセルでの行列計算がうまくいきません

    よろしくお願いします。 いまエクセルで行列計算をしています。 行列[108(行)×35(列)]とその転置行列[35×108]の積から行列[108×108]を出そうとしているのですがうまくいきません。 #valueエラーがでます。 関数mmultを使用しています。 転置行列は関数transposeを使いました。 [35×108]・[108×35]=[35×35]ではちゃんとでるのですが、108×108ではだめなので、元データには問題はないと思います。 一体何がエラーの原因として考えられるのでしょうか。 よろしくお願いします。

  • Excelでの行列計算

    Excelで行列同士の和・積を計算をする 便利な方法(関数)があれば教えてください。 エクセル初心者なものでよろしくお願いします。

  • OpenOffice 3.0 の表計算で選択範囲が黒くならない

    よろしくお願いします。 オープンオフィス(OpenOffice)のV2.4からV3.0に替えたのですが、 Calc(表計算)でトラブっています。 複数のセルをマウスドラッグなどで長方形状に選択した際、 従来は、Excelと同様、選択範囲のセルの色が反転していたと思うのですが、 V3.0にしたら、選択範囲のセルの背景色が非常に薄い色になるだけなので非常に見にくいです。 どうすれば、見やすくできるでしょうか?

  • EXCELのソルバーで関数を使う

    EXCELのソルバーを使うとき、目的関数のセルにエクセルの関数が入っていても解いてくれるんでしょうか? 行列の積、MMULTを目的関数のセルに入れたのですがうまくいかなくて。(変数の行列と定数の行列の積です) もしうまく行かない場合、A1*A5+A2*A6+… みたいな式を、効率よくだす方法はないでしょうか? まぁ10*10の行列なんで、コツコツやればすむんですが…

  • 「ほかの表計算アプリケーション」とは?

    Excel(のバージョンが何であれ、昔から)のヘルプによれば、LOOKUP関数の形式には、ベクトル形式と配列形式の 2 種類があって、さらに次のような記述があります。 >通常は、配列形式の LOOKUP関数の代わりに、HLOOKUP関数(先頭行を検索) >または VLOOKUP関数(先頭列を検索)を利用するようにしてください。配列 >形式の LOOKUP関数は、ほかの表計算アプリケーションとの互換性を維持 >するために用意されている関数です。 (Excel 2002 のヘルプより) (添付図は Excel 2013 のヘルプより) ここで言う「ほかの表計算アプリケーション」とは何のことですか? ひょっとして Lotus 1-2-3 のことでしょうか?ご存知の方はいらっしゃいますか? 「ほかの表計算アプリケーションとの互換性を維持するために用意されている関数」と聞くと、私は DATEDIF関数を想起します。 配列形式の LOOKUP関数の使い方は[関数の挿入]メニューやヘルプにも載せてあるのに、 実用されている DATEDIF関数の使い方は何処にも登場しないのはなぜなのでしょうか?

  • 初心者です。プログラミング 3×3行列の積

    先日、課題が出されて、1週間ほど考えてはみたのですがわからなかったため質問させていただきます。 3行3列の行列の積を求めるプログラムを作成しなさい。ただし、各行列要素は疑似乱数を使って値を求めるようにしなさい。また各行列要素は二桁以下の整数とし、行列の積を計算する部分を関数で行うようにしなさい。という問題なんですが、どなたかわかる方がいらっしゃいましたらご回答よろしくお願いいたします。できれば詳しく式などを書いていただきたいです。

  • Wordの表をExcelの表に貼り付ける

    Wordで作成した表をExcelに貼り付ける方法について、質問します。 バージョンは、2007または2010を想定します。 http://office.microsoft.com/ja-jp/excel-help/HP010254130.aspx に記載の方法で実施した場合、 「Word の表の各セルのデータはワークシートの個別のセルに貼り付けられます」 の記述とは裏腹に、 添付図のように、 Wordの中では同じセルの中にある文字列であっても、 改行(改段落)がなされているものは、別のセルに以降してしまいます。 Wordの中では、改段落は普通にやるので、 (インデントをするさいに文章内改行だと、インデントしたくないものまで引きずられるから) 改段落をした際にも、きちんと、 Wordで同じセルの中にあるものは、Excelでも同じセルの中に入るように 貼りつけたいのですが、そのようなことは可能でしょうか? 出来るとしたら方法を教えてください。よろしくお願いします。

  • オープンオフィス 表計算ドキュメントのセル

    オープンオフィスソフトの 表計算ドキュメントのセルについてです。 1つのセルの中を2行にするにはどうすればよいですか。 ご回答おねがいします。

  • 表計算で思ったように表示させられません。

    表計算ソフトのオープンオフィスorgを使ってます。 たとえばa1のセルに16 b1のセルに3という数値が入力されているとき、d1のセルにそれらを引用して16-3と表示させたいのですが、どうもうまくいきません。 d1からd3までつかって、d2にハイフンを入れるというのは考えましたが、実は、仕事上の勤怠表を作っているので、一カ月分繰り返して入力するのは、たいへん手間になります。 どうか、こんな単純なこともできない私に、教えてもらえませんでしょうか?

  • OpenOffice Calc(表計算)での質問

    文字が入りきらずアバウトなタイトルで申し訳ないです。 Open Officeの表計算での質問になります。 セルに特定の文字を入れた際、隣のセルにそれに対応した数値を自動挿入するようにしたいのですが、方法が分かりません。 ほぼエクセルと同じ仕様ですのでエクセル関連でgoogle検索しいくつか見つけた方法でやってみたのですが、いじってもそのままペーストしても何故かエラーで正常稼動しませんでした。 例えば E3に「P」と入れた場合、F3に「42」と自動挿入されるようにしたいのです。 他にEは32、Gは28、Cは7となるようにしたいです。 どなたか分かる方居ましたらお願い致します。

専門家に質問してみよう