欢迎来到天天文库
浏览记录
ID:50297194
大小:3.37 MB
页数:63页
时间:2020-03-07
《MATLAB仿真及电子信息应用 教学课件 作者 王亚芳 第4章 MATLAB编程基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、第4章MATLAB编程基础M文件文件操作流程控制语句程序优化与调试基本绘图图像函数绘图(一)M文件MATLAB输入命令有两种方法:一是在MATLAB主窗口逐行输入命令,每个命令之间用分号或逗号分隔,每行可包含多个命令。二是将命令组织成一个命令语句文集,使用扩展名“.m”,称为M文件。它由一系列的命令和语句组成。当程序需要使用大量语句时,使用M文件非常方便,其编写和执行的效率远远高于从主窗口逐条输入语句的效率。启动M文件从命令窗口选择【新建】或【打开】,或在命令窗口输入“edit”脚本文件和函数文件脚本文件是一连串的MATLAB命令,它解决了运行
2、指令较多时过于麻烦的问题,运行时只需在MATLAB命令窗口输入文件名或单击M文件编辑窗口的绿色三角图标。函数文件的第一句可执行语句是以function引导的定义语句。函数文件可以接受输入变量,返回结果,且可以返回任意多个值。事实上,MATLAB提供的函数命令大部分都是由函数文件定义的。函数文件基本格式function[返回参数列表]=函数名(输入变量)%函数定义行%H1行及帮助文档:解释此函数的功能输入、返回变量格式的检测函数主体及注释函数体语句例4-2编写一个函数文件,实现对输入数值求平方的功能。functiony=fun1(x)y=x.^2
3、;脚本文件和函数文件的比较脚本文件函数文件参数没有输入参数,没有返回参数可以接收和返回参数数据处理数据即为脚本中的数据,全局变量产生局部变量,但可设为全局变量应用编程执行一连串的命令可以扩充MATLAB函数库以供调用局部变量和全局变量M文件中的语句对整个MATLAB工作空间里的变量起作用,这样的变量称为全局变量。局部变量是在函数体内部使用的变量,其影响范围只能在本函数体内,只在函数执行期间存在。脚本文件过程中产生的变量均为全局变量,保存在内存工作空间。函数文件中产生的变量如果不是特别声明均为局部变量。函数调用函数调用有两种语法方式:函数名参数1
4、参数2…参数N;[返回参数1,返回参数2,…,返回参数N]=函数名(参数1,参数2,…,参数M)。例4-4:举例说明两种参数传递方式。>>A=pi;>>dispAA%显示结果为A,参数A以字符串形式传递>>disp(A)3.1416%显示结果为pi的值,参数以值进行传递。(二)文件操作1.打开文件fid=fopen(文件名,‘打开方式’)2.关闭文件关闭文件用fclose函数,调用格式为:sta=fclose(fid)。3.在MATLAB中,读取二进制文件的命令是fread,其调用格式为:A=fread(fid,count,precisio
5、n)使用fread读取该文件后,得到的为代码对应的数值数组,使用char()命令可以将数值数组转换成程序代码。(三)MATLAB的流程控制语句通常MATLAB程序按照前后顺序执行,但在实际中,常会运到很多情况需要重复执行一段语句,多次写同一组命令非常麻烦,为此MATLAB提供了多种流控制语句:循环控制语句条件控制语句其它流程控制语句1.循环控制语句1)for循环语句for语句执行固定次数的循环,将循环条件的初值、判别和变化放在循环的开头。for循环语句的一般形式是:for(计数器=初值:增量:终止值)执行语句,…,执行语句end2)while循
6、环语句while循环函数用于当循环过程不满足某个指定条件时终止的情况就,此时事先并不能确定循环的执行次数。while循环的格式为while(逻辑表达式)执行语句end例:利用for循环求1!+2!+3!++5!的值sum=0;fori=1:5pdr=1;fork=1:ipdr=pdr*k;endsum=sum+pdr;end例:找出近似级数中误差大于1%之前的最大的x值(精确到小数点后两位位置)其MATLAB程序为:x=0;while(exp(x)-1-x-x^2/2-x^3/6<=0.01)x=x+0.01;enddisp(x-0.0
7、1)2.条件控制语句1)if、else、elseif语句if语句用来检查逻辑运算、逻辑函数、逻辑变量值等逻辑表达式的真假,若为真则执行if和else之间的执行语句,否则,转去执行另一分支。其格式为:if逻辑表达式执行语句1else执行语句2end例:分区间显示函数值functiony=f(x)ifx<0y=0;elseifx<1f=x;elseifx<2f=2-x;elsef=0;end2)switch语句switch函数的语法结构为:switch输入表达式(标量或字符串)case条件语句1执行语句1case条件语句2执行语句2otherwis
8、e执行语句nend例:根据用户要求找出数组x中的最大值、最小值或所有元素的和。t=[0:100];x=exp(-t).*sin(t);%给定数组xre
此文档下载收益归作者所有