当前位置:文档之家› 矩阵的乘法运算

矩阵的乘法运算

矩阵的乘法运算
矩阵的乘法运算

沈阳航空航天大学课程设计

学号2009040603045

班级94060302

姓名崔建国

指导教师刘学平

2011年7 月 6 日

沈阳航空航天大学

课程设计任务书

学院:机电工程学院专业:车辆工程班级:94060302 学号:2009040603045 题目:矩阵的乘法运算

一、课程设计时间

2011年6月27日~7月1日(第17周),共计1周。

二、课程设计内容

在“file05_矩阵相乘.txt”文件中存放了两个矩阵,请读取这两个矩阵进行乘法运算,并显示结果矩阵。

三、课程设计要求

程序质量:

?贯彻事件驱动的程序设计思想。

?用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

?用户界面中的菜单至少应包括“读取矩阵”、“开始计算”、“显示结果”、“退

出”4项。

?代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

?课程结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提

供的模板。

四、指导教师和学生签字

指导教师:刘学平学生签名:崔建国

五、成绩

六、教师评语

目录

一、需求分析 (4)

二、设计分析 (4)

三、关键技术 (6)

四、总结 (10)

五、完整的源程序 (11)

六、参考文献 (13)

一、需求分析

矩阵乘法运算是通过读取文本文件的资料,将两个矩阵进

行乘法运算,并显示结果。要求:

①学生会编程读取文本文会运open

②会运用Do while loop 的循环语句

③懂得矩阵运算的法则.

二、设计分析

(1) 基本原理:运用打开顺序文件

open 文件名For Input/ output/ As # 文件号,

在文本文件中读取数据矩阵相乘采用二维数组For 循环

结构。矩阵相乘是将每个数字赋予一个字符,然后把字符

用公式写出来,进而进行计算,将得出的结果按矩阵的形

式打印在窗体上。

(2) 总体设计:

(3)详细设计:

显示文本文件

Option

Base 1 Do

读取数据

计算

显示结果

退出

(4)界面设置:

界面设置一定要美观得体,如果窗体比较多,就会显得比较乱,要便于操作与观察以便很快理解。

关键技术

1建立读取文本文件的连接代码如下

Option Base 1

Private Type Mytype

a As String '声明变量属性

b As String

c As String

d As Integer

e As Integer

f As Integer

g As Integer

End Type

Dim rows() As MyType

Private Sub Command1_Click()

(二)打开顺序文件

open 文件名For Input/ output/ As # 文件号

Dim i As Integer, pos As Integer

i = 1

Open "c:\file05_矩阵相乘.txt" For Input As #1

Do While i = 1

ReDim Preserve rows(i) '动态数组定义列

Input #1, rows(i).a

i = i + 1

Loop

Do While i < 4 And i > 1 用Do While Loop形式

Do 【Whil 条件表达式】

语句块(循环体)

Loop

ReDim Preserve rows(i) '

Input #1, rows(i).a, rows(i).b, rows(i).c

i = i + 1

Loop

Do While i = 4

ReDim Preserve rows(i)

Input #1, rows(i).a

i = i + 1

Loop

Do While i < 8 And i > 4

ReDim Preserve rows(i)

Input #1, rows(i).a, rows(i).b

i = i + 1

Loop

(三)关闭文件Clos [ [#] 文件号]

Close #1

For i = 2 To 3

Picture1.Print rows(i).a; Tab(4); rows(i).b; Tab(8); rows(i).c

Next i

Print

For i = 5 To 7

Picture2.Print rows(i).a; Tab(4); rows(i).b

Next i

Print

Print

End Sub

Private Sub Command2_Click()

Picture4.Print rows(2).a; "×"; rows(5).a; "+"; rows(2).b; "×"; rows(6).a; "+"; rows(2).c; "×"; rows(7).a; "="

Picture4.Print rows(2).a; "×"; rows(5).b; "+"; rows(2).b; "×"; rows(6).b; "+"; rows(2).c; "×"; rows(7).b; "="

Picture4.Print rows(3).a; "-"; rows(5).a; "+"; rows(3).b; "×"; rows(6).a; "+"; rows(3).c; "×"; rows(7).a; "="

Picture4.Print rows(3).a; "×"; rows(5).b; "+"; rows(3).b; "×"; rows(6).b; "+"; rows(3).c; "×"; rows(7).b; "="

End

Sub

由于相乘的两个矩阵分别是2*3和3*2的矩阵,所以结果矩阵是2*2的方阵,所以在开始部分设了四个整型变量,并对它们分别设置了方程,并显示在窗体中,如下:

Private Sub Command3_Click()

d = rows(2).a * rows(5).a + rows(2).b * rows(6).a + rows(2).c * rows(7).a

e = rows(2).a * rows(5).b + rows(2).b * rows(6).b + rows(2).c * rows(7).b

f = rows(3).a * rows(5).a + rows(3).b * rows(6).a + rows(3).c * rows(7).a

g = rows(3).a * rows(5).b + rows(3).b * rows(6).b + rows(3).c * rows(7).b Print

Picture3.Print d; e

Picture3.Print f; g

End Sub

Private Sub Command4_Click()

End

End Sub

总结

这次课设我的题目是矩阵乘法运算,通过这次课设让我了解了怎样读取文本文件的数据来进行运用,文件的调用和矩阵乘法运算法则,也同时了解了二维数组,可以应用赋值并循环运算,还可以应用读/写数据文件向其中添加新的信息。

在课设过程中,我遇到了很多困难,通过自己查阅资料,我克服了困难,顺利的完成了任务。

同时我也了解了VB它在生活中各个方面都能发挥巨大的作用,所以,学好VB不仅是为了自身的发展,更是为了社会科技的快速发展做出我们应尽的义务。所以,学好VB是社会发展的需要。

五、完整的源程序

Option Base 1

Private Type MyType

a As String

b As String

c As String

d As Integer

e As Integer

f As Integer

g As Integer

End Type

Dim rows() As MyType

Private Sub Command1_Click()

Dim i As Integer, pos As Integer

i = 1

Open "C:\file05_矩阵相乘.txt" For Input As #1

Do While i = 1

ReDim Preserve rows(i) '

Input #1, rows(i).a

i = i + 1

Loop

Do While i < 4 And i > 1

ReDim Preserve rows(i) '

Input #1, rows(i).a, rows(i).b, rows(i).c

i = i + 1

Loop

Do While i = 4

ReDim Preserve rows(i)

Input #1, rows(i).a

i = i + 1

Loop

Do While i < 8 And i > 4

ReDim Preserve rows(i)

Input #1, rows(i).a, rows(i).b

i = i + 1

Loop

Close #1

For i = 2 To 3

Picture1.Print rows(i).a; Tab(4); rows(i).b; Tab(8); rows(i).c

Next i

Print

For i = 5 To 7

Picture2.Print rows(i).a; Tab(4); rows(i).b

Next i

Print

Print

End Sub

Private Sub Command2_Click()

Picture4.Print rows(2).a; "×"; rows(5).a; "+"; rows(2).b; "×"; rows(6).a; "+"; rows(2).c; "×"; rows(7).a; "="

Picture4.Print rows(2).a; "×"; rows(5).b; "+"; rows(2).b; "×"; rows(6).b; "+"; rows(2).c; "×"; rows(7).b; "="

Picture4.Print rows(3).a; "-"; rows(5).a; "+"; rows(3).b; "×"; rows(6).a; "+"; rows(3).c; "×"; rows(7).a; "="

Picture4.Print rows(3).a; "×"; rows(5).b; "+"; rows(3).b; "×"; rows(6).b; "+"; rows(3).c; "×"; rows(7).b; "="

End Sub

Private Sub Command3_Click()

d = rows(2).a * rows(5).a + rows(2).b * rows(6).a + rows(2).c * rows(7).a

e = rows(2).a * rows(5).b + rows(2).b * rows(6).b + rows(2).c * rows(7).b

f = rows(3).a * rows(5).a + rows(3).b * rows(6).a + rows(3).c * rows(7).a

g = rows(3).a * rows(5).b + rows(3).b * rows(6).b + rows(3).c * rows(7).b

Print

Picture3.Print d; e

Picture3.Print f; g

End Sub

Private Sub Command4_Click()

End

End Sub

六、参考文献

[1] 刘瑞新.《Visual Basic程序设计教程》.北京:机械工业出版社,2003

[2] 王栋《Visual Basic程序设计使用教程》第三版北京清华大学出版社2007年2月

[3] 龚沛曾杨志强陆慰民.《Visual Basic程序设计教程》.北京:高等教育

出版社,2007

[4] 王学军张玉梅.《Visual Basic程序设计》.北京:中国铁道出版社,2010

相关主题
文本预览
相关文档 最新文档