[理学]第7讲 程序设计.ppt

  1. 1、本文档共71页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第7讲 程序设计

MATLAB2009从入门到精通 课程主要内容 第1章 MATLAB简介 第2章 数值运算 第3章 单元数组和结构 第4章 字符串 第5章 符号运算 第6章 MATLAB绘图基础 第7章 程序设计 第8章 计算方法的MATLAB实现 第9章 优化设计 第10章 SIMULINK仿真初探 第7章 程序设计 MATLAB作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算、符号计算、矩阵运算的能力和丰富的绘图功能,还可以像C语言、FORTRAN等计算机高级语言一样进行程序设计,编写扩展名为.m的M文件,实现各种复杂的运算,同时MATLAB自带的许多函数就是M文件函数,用户也可以利用M文件来生成和扩充自己的函数库。 7.1 脚本和函数 所谓M文件,简单来说就是用户把要实现的命令写在一个以.m作为扩展名的文件中,然后由MATLAB系统进行解释,最后运行出结果。 M文件有函数和脚本两种格式。两者只是在语法和使用上有些不同。脚本式M文件没有输入参数或输出参数,而函数式M文件有输入参数和输出参数;函数可以有零个或多个输入或输出变量。 7.1.1 脚本 脚本是一个扩展名为.m的文件,其中包含了MATLAB的各种命令,与批处理文件很类似,在MATLAB命令窗口下直接输入此文件的主文件名,MATLAB可逐一执行在此文件内的所有命令,和在命令窗口逐行输入这些命令一样。脚本式M文件运行产生的所有变量都是全局变量,运行脚本后,所产生的所有变量都驻留在MATLAB基本工作空间,只要用户不使用clear命令加以清除,且MATLAB指令窗口不关闭,这些变量将一直保存。基本空间随MATLAB的启动而产生,在关闭MATLAB软件时该基本空间被删除。 例:huitu0.m huitu0程序结果 7.1.2 函数 MATLAB中许多常用的函数都是函数式M文件,使用时,MATLAB获取传递给它的变量,利用操作系统所给的输入,运算得到要求的结果,然后返回这些结果。函数文件类似于一个黑箱,由函数执行的命令以及这些命令所创建的中间变量都是隐含的。运算过程中的中间变量都是局部变量(除特别声明外),存放在函数本身的工作空间内,不会和MATLAB基本工作空间的变量相互覆盖,对用户来说,可见的只是输入和输出,因此易于使程序模块化,特别适合于大型程序代码。 例:huitu.m huitu(1,2,3)程序结果 7.2 M文件的程序结构 程序结构一般分为顺序结构、循环结构、分支结构三种。 理论上讲,只要有以上三种结构就可以构造功能强大的程序。 与大多数计算机语言一样,MATLAB也提供了上述三种程序结构。 虽然MATLAB没有C语言那样具有丰富的控制结构,但是MATLAB自身的强大功能弥补了这个不足,使用户在编程时几乎感觉不到困难。下面分别对这三种结构进行介绍。 7.2.1 顺序结构 顺序结构就是依次顺序地执行程序的各条语句。顺序结构一般不含有其他子结构或控制语句,批处理文件就是典型的顺序结构的文件。 例:jizhi.m jizhi程序结果 7.2.2 循环结构 在实际计算中,经常会碰到许多有规律的重复计算,此时就要对某些语句进行重复执行。 一组被重复执行的语句称为循环体,每个循环语句都要有循环条件,以判断循环是否要继续进行下去。 MATLAB中的循环语句包括for循环与while循环。 1、for循环 for循环允许一组命令以固定的和预定的次数重复执行,for循环的一般形式如下所示: for 循环变量=数组 循环体(执行语句); end 在for与end语句之间的执行语句是按矩阵(或数组)中的每一列执行一次,即在每一次循环中,矩阵(或数组)元素一个一个地被赋给循环变量,然后由执行语句执行。 例:for1.m,specmat.m 程序结果 for1 x = Columns 1 through 7 2.0304 1.8008 1.5131 1.4165 1.7183 2.5111 3.7462 Columns 8 through 10 5.2620 6.8587 8.3891 specmat(6) ans = 1 1 1 1 1 1 1 2 3 4 5 6 1 3 6 10 15 15 1 4 10 10 15 15 1 5 15 15 15 15 1 6 15 15 15 15 用for循环语句需要注意以下事项: (1)不能

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档