授業-ソフトウェア工学 > 2018年度 > 試験 > 第01回 学力確認試験


授業-2018年度-ソフトウェア工学-第01回 学力確認試験

行列の積を求める関数multiply_matrix( x, y )を作ってください

*

(公開)



問題 03: 行列の積を求める関数multiply_matrix( x, y )を作ってください


問題

  • 問題 3

    二重リスト(二次元配列として扱う)

    3-1

    行列の積を求める関数multiply_matrix( x, y )を作ってください

    行列の積を求める関数multiply_matrix( x, y )を作ってください.

    また,行列を表示する関数print_matrix( x )も作ってください.

    xとyは,それぞれm行×n列とn行×p列の行列で,プログラム中で
    与えてしまいます.

    結果は画面に表示するようにしてください

*


関数

メイン

# ==============================================================================
# ===== 【メイン・プログラム】 =================================================
# ------------------------------------------------------------------------------
# ----- データを指定する -------------------------------------------------------
# ----- xはm行×n列 (3行×2列)
x = [[1,2], [3,4], [5,6]]
# ----- yはn行×p列 (2行×4列)
y = [[1,2,3,4],[5,6,7,8]]
# ------------------------------------------------------------------------------
# ----- 行列の積を求め,表示する -----------------------------------------------
# ----- 積はm行×p列 (3行×4列)
print_matrix( multiply_matrix( x, y ) )
# ==============================================================================


使い方

python mul_mat.py
 11  14  17  20
 23  30  37  44
 35  46  57  68


解答例

[ edit]

  • ★基本的な解 (1): この問題で,確認したい学力を持つことを示しています

    解答例01

    a

    基本的な解法です.

    ★高度な手法: 授業では扱っていない手法を使っています 

    解答例02

    b

    行列を表示するためにpprintモジュールを使います
    (詳しくはやっていませんが,実は,pprintモジュールは授業でちょっとだけ使っています)

    解答例03

    c

    NumPyモジュールを使っています

    *


*

SoftEng: 2018/Exam/01/03/IndexPage (last edited 2018-12-05 17:07:44 by TadashiIijima)