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

矩阵的乘法运算

沈阳航空航天大学课程设计学号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)详细设计:显示文本文件OptionBase 1 Do读取数据计算显示结果退出(4)界面设置:界面设置一定要美观得体,如果窗体比较多,就会显得比较乱,要便于操作与观察以便很快理解。

关键技术1建立读取文本文件的连接代码如下Option Base 1Private Type Mytypea As String '声明变量属性b As Stringc As Stringd As Integere As Integerf As Integerg As IntegerEnd TypeDim rows() As MyTypePrivate Sub Command1_Click()(二)打开顺序文件open 文件名For Input/ output/ As # 文件号Dim i As Integer, pos As Integeri = 1Open "c:\file05_矩阵相乘.txt" For Input As #1Do While i = 1ReDim Preserve rows(i) '动态数组定义列Input #1, rows(i).ai = i + 1LoopDo While i < 4 And i > 1 用Do While Loop形式Do 【Whil 条件表达式】语句块(循环体)LoopReDim Preserve rows(i) 'Input #1, rows(i).a, rows(i).b, rows(i).ci = i + 1LoopDo While i = 4ReDim Preserve rows(i)Input #1, rows(i).ai = i + 1LoopDo While i < 8 And i > 4ReDim Preserve rows(i)Input #1, rows(i).a, rows(i).bi = i + 1Loop(三)关闭文件Clos [ [#] 文件号]Close #1For i = 2 To 3Picture1.Print rows(i).a; Tab(4); rows(i).b; Tab(8); rows(i).cNext iPrintFor i = 5 To 7Picture2.Print rows(i).a; Tab(4); rows(i).bNext iPrintPrintEnd SubPrivate 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; "="EndSub由于相乘的两个矩阵分别是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).ae = rows(2).a * rows(5).b + rows(2).b * rows(6).b + rows(2).c * rows(7).bf = rows(3).a * rows(5).a + rows(3).b * rows(6).a + rows(3).c * rows(7).ag = rows(3).a * rows(5).b + rows(3).b * rows(6).b + rows(3).c * rows(7).b PrintPicture3.Print d; ePicture3.Print f; gEnd SubPrivate Sub Command4_Click()EndEnd Sub总结这次课设我的题目是矩阵乘法运算,通过这次课设让我了解了怎样读取文本文件的数据来进行运用,文件的调用和矩阵乘法运算法则,也同时了解了二维数组,可以应用赋值并循环运算,还可以应用读/写数据文件向其中添加新的信息。

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

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

所以,学好VB是社会发展的需要。

五、完整的源程序Option Base 1Private Type MyTypea As Stringb As Stringc As Stringd As Integere As Integerf As Integerg As IntegerEnd TypeDim rows() As MyTypePrivate Sub Command1_Click()Dim i As Integer, pos As Integeri = 1Open "C:\file05_矩阵相乘.txt" For Input As #1Do While i = 1ReDim Preserve rows(i) 'Input #1, rows(i).ai = i + 1LoopDo While i < 4 And i > 1ReDim Preserve rows(i) 'Input #1, rows(i).a, rows(i).b, rows(i).ci = i + 1LoopDo While i = 4ReDim Preserve rows(i)Input #1, rows(i).ai = i + 1LoopDo While i < 8 And i > 4ReDim Preserve rows(i)Input #1, rows(i).a, rows(i).bi = i + 1LoopClose #1For i = 2 To 3Picture1.Print rows(i).a; Tab(4); rows(i).b; Tab(8); rows(i).cNext iPrintFor i = 5 To 7Picture2.Print rows(i).a; Tab(4); rows(i).bNext iPrintPrintEnd SubPrivate 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 SubPrivate Sub Command3_Click()d = rows(2).a * rows(5).a + rows(2).b * rows(6).a + rows(2).c * rows(7).ae = rows(2).a * rows(5).b + rows(2).b * rows(6).b + rows(2).c * rows(7).bf = rows(3).a * rows(5).a + rows(3).b * rows(6).a + rows(3).c * rows(7).ag = rows(3).a * rows(5).b + rows(3).b * rows(6).b + rows(3).c * rows(7).bPrintPicture3.Print d; ePicture3.Print f; gEnd SubPrivate Sub Command4_Click()EndEnd Sub六、参考文献[1] 刘瑞新.《Visual Basic程序设计教程》.北京:机械工业出版社,2003[2] 王栋《Visual Basic程序设计使用教程》第三版北京清华大学出版社2007年2月[3] 龚沛曾杨志强陆慰民.《Visual Basic程序设计教程》.北京:高等教育出版社,2007[4] 王学军张玉梅.《Visual Basic程序设计》.北京:中国铁道出版社,2010。

相关主题