MATLAB数学实验第二章II备注

发布 2022-07-14 14:27:28 阅读 1119

第二章ii ppt备注。

与去年相比删了一些例题ppt16页,例题只有6道。课堂教学主要内容介绍matlab程序设计方法(由程序文件向函数文件的过渡)。matlab系统中有大量的函数文件,它们是为用户提供解决常规的问题而编写的程序。

创建新的函数文件可以对matlab系统做进一步扩充。一个好的函数文件的编写可能比程序文件需要花费更多的时间,但好的函数文件能给用户提供更高效和完整的数据处理能力。

特别值得注意的是不少学生到目前为止仍使用贴**的方式做题(即将程序内容粘贴到命令窗口运行程序)。这是提高程序水平的一个障碍,用函数文件时一定改正过来。

一、摩托车问题。

第一个例题(摩托车问题)是一个普通的程序设计题,为了说明程序文件中的变量多余。所涉及的数学知识不多,只用到“相遇问题”中的相遇时间的计算公式,却需要比较全面的程序设计思维。程序的目标是要统计摩托车来回行驶的次数,摩托车与绿队(或与红队)相遇时刻做为观察时刻,于是就产生了第k个观察时刻的相遇时间tk的计算,由此根据各自的速度计算红队和绿队在每个观察时刻的位移、位置以及相间的距离,在模拟计算过程中实现统计摩托车行驶次数。

程序运行结束时,共有八个变量都被保留在内存中,而实际上很多是不需要的中间变量,因为根据这一问题的程序设计目标,只需要输出摩托来回趟数k。由于没有引入局部变量的概念,这是matlab程序文件方法需要改进的地方。

二、 函数文件编写。

函数文件不同于程序文件的第一大特点是,使用局部变量。

与程序文件不同,程序文件运行结束后,中间变量会继续逗留在内存中占用资源,甚至造成数据混乱。局部变量就是函数在实现数据处理任务过程中,使用的中间变量(临时变量),函数的功能实现之后这些中间变量的生命周期也结束了。当一个函数文件运行(一般都要在函名后的圆括号内键入数据)之后,在内存中没有留下多余的变量。

第二特点是函数文件有明确的返回值。

不同于程序文件,程序文件运行结束时有用的数据和没用的数据都很多。所以函数文件的返回变量一般都要用赋值语句跟一个表达式。

总体上函数文件使得程序编写更规范化和标准化。

函数文件第一行的特定格式是四个有效元素按秩序排列,它们分别是。

关键字——function(编程时键入正确会自动变蓝色)

函数的因变量(传递输出数据)

函数名(用英文字母开始且与文件名同名)

圆括号内的自变量名(传递输入数据)

函数文件的注解初学者都不够重视,函数的功能仍是处理数据,以实现算法为主要目的。注解每一行以百分号“%”开始可以写编程备忘,给用户的帮助信息,所解决的问题,使用的算法,编程的时间,程序员名字。

输入变量的格式检测可以理解为程序员对对用户负责。设想用户可能出现的误操作。

函数体实际上就是一个完整的程序块,用于实现算法,实现函数的功能。编写程序块是将解决问题的步骤具体化、明朗化和细节化。将处理数据的大任务分解,用matlab的语句(命令)去分别实现。

在实现这些子任务时,可以运用一切手段,包括高级操作和初级操作。只要matlab可用的资源都可利用,不违反语法就行。但是一定要注意操作的次序。

第二个例题(扬辉三角形)有输入数据和输出数据,程序中用到扬辉三角形数据规律,即前一行相邻数据相加得后一行数据。使用matlab的矩阵行数据调用实现算法。

第三个例题(绘地球图形)是一个特例,该函数输出的是三维地球图形,不是数据。是比较典型的无输入无输出(数值数据输出)的案例。程序的目标是生成三个矩阵用于绘曲面网图,但装三个矩阵的变量都是局部变量,程序运行结束后,这三个变量将自动被删除掉。

axis off 是扔掉坐标框架,使球面很象一个三维地球。

第四个例题(河内塔问题)是教学中一个难点,是程序设计的经典问题。不讲递归的技术原理,只是总体上将n个盘问题视为两个盘问题。即将上面(n-1)个盘打包视为一个,将这(n-1)个盘放到b,而将最后一个直接放c,再从b将(n-1)个盘放c,完成任务。

而( n-1)问题交给计算机做。程序员需要小心设计好一个盘的特殊情况。

三、数据文件。

数据文件输入方法,将下面数据拷贝到一个用记事本打开的文档中(在matlab工作目录work下鼠标击右键,选择新建文本文档,将文件名改为data,再回车就进入编辑)

存盘后(要保存到c盘matlab工作目录work下),按ppt的第12和平共处3页所讲方法可以实现对数据文件的操作。

四、牟合方盖实验。

这是中国古代数学家刘徽在研究球积公式时创建的几何模型,由正方体内两轴互相垂直的内切圆柱面相交所围的空间立体。这个立体的外形如同两把上下对称的正方形雨伞,所以称它为牟合方盖。

ppt上只有六行语句的程序段可以直接运行,也可以做成函数文件。

练习与思考。

2题:需要2n-1次操作。

3题:用mesh不方便,4题:先定义六面体八个顶点的坐标矩阵(8行三列),然后对六面体的六个面分别定义它们的四个顶点编号(即坐标在坐标矩阵中的行位置),最后用填充命令实现绘图。

第二章MATLAB

2 matlab 一个强有力的科学计算与。控制系统cad软件。2.1 概述。matlab的名字由matrix和laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的cleve moler教授。于1984年由mathworks公司推出 dos版 1993年推出ma...

第二章MATLAB

2 matlab 一个强有力的科学计算与。控制系统cad软件。2.1 概述。matlab的名字由matrix和laboratory两词的前三个字母组合而成,始创者是时任美国新墨西哥大学计算机科学系主任的cleve moler教授。于1984年由mathworks公司推出 dos版 1993年推出ma...

MATLAB第二章

目录。第二章matlab基础 1 2.1 变量和数组 1 2.2 matlab变量的初始化 3 2.2.1 用赋值语句初始化变量 3 2.2.2 用捷径表达式 short expressions 来赋值 4 2.2.3 用内置函数来初始化 5 2.2.4用关键字input初始化变量 6 测试2.1 ...