资源描述:
《第3章MATLAB程序设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章MatLab程序设计本章学习的主要目的:1.熟炼掌握MatLab程序设计的顺序、分支和循环结构;2.熟炼掌握脚本M文件和自定义函数的设计和使用;3.1M文件的使用3.1.1M文件的运行操作步骤1启动MatLab2点击菜单File-New-M-file,进入文件编辑窗口3在文件编辑窗口输入M文件内容4以m为扩展名存盘,注意函数文件的文件名一定和函数名一样。5在命令窗口中输入脚本文件名,即可运行脚本M文件,函数文件的使用和内部函数的使用方法一样。3.1.2变量变量名是以字母开头,由字母、数字和下划线组成
2、,最多31个字符,区分大小写字母。注:变量不需要任何类型的说明语句,当输入一个新的变量名时,MatLab会自动建立变量并为其分配内存空间。MatLab有几个特殊的量:pi圆周率;eps最小浮点数;Inf正无穷大,特指1/0;NaN不定值,特指0/0;i,j虚数单位。注为了防止除以0的运算,可如下处理:如x=(-3:3)/3;x=x+(x==0)*eps;sin(x)./x3.1.3语句形式一般赋值语句形式:变量=表达式若变量和“=”省略,则名为ans的变量自动建立;若输入一个语句并以回车结束,则在工作区中
3、显示计算的结果;若语句以“;”结束,则只计算,不显示计算的结果。若表达式太长,可以用续行号…将其延续到下一行。一行中可以写几个语句,它们之间用逗号或分号分开。语句注释符为%。3.1.4控制循环语句1.for循环变量=初值:步长:终值循环体语句组end例1计算1到10的和脚本文件example1.ms=0;fori=1:10;s=s+i;end;s在命令窗口输入example1,运行结果:S=552.while(条件式)循环体语句组end例2Fibonacci数组的元素满足Fibonacci规则:,;且。求
4、出该数组中第一个大于10000的元素。脚本文件example2.ma(1)=1;a(2)=1;i=2;whilea(i)<=10000a(i+1)=a(i-1)+a(i);i=i+1;end;i,a(i),在命令窗口输入example2,运行结果:i=21ans=109463.1.5条件控制语句1if(条件式1)条件块语句组1elseif(条件式2)条件块语句组2else条件块语句组3end例3用for循环指令来寻求Fibonacc数组中第一个大于10000的元素。脚本文件example3.mn=100;
5、a=ones(1,n);fori=3:na(i)=a(i-1)+a(i-2);ifa(i)>=10000a(i),break;end;end,i在命令窗口输入example3,运行结果:ans=10946i=212switch-case结构switch表达式case表达式1语句块1case表达式2语句块2otherwise语句块nend例4学生的成绩管理脚本文件example4.mmark=86;n=fix(mark/10);switchncase10Rank='满分'case9Rank='优秀'case
6、8Rank='良好'case{6,7}Rank='及格'otherwiseRank='不及格'end在命令窗口输入example4,运行结果:Rank=良好3.1.6自定义函数function<因变量>=<函数名>(<自变量>)说明:M-文件的文件名必须是<函数名>.m。若有多个因变量用[]括起来。例5函数文件randint.mfunctiona=randint(m,n)%产生m×n随机整数矩阵a=floor(10*rand(m,n));使用方法:在工作区直接输入变量名=函数名(自变量组)在命令窗口输入x
7、=randint(2,3)后运行结果:x=968247例6,求f(2),f(0.5),f(-1)先建立函数M文件fun.m定义函数f(x),再在MatLab命令窗口中输入fun(2),fun(0.5),fun(-1)。functionf=fun(x)ifx>1f=x.^2+1elseifx<=0f=x.^3elsef=2*xendend例7求二元函数g(x,y)=4x+5y在(1,2)处的函数值。方法1建立函数M文件fun1.m定义函数g(x,y),再在MatLab命令窗口中输入fun1(1,2)func
8、tionz=fun1(x,y)%2个输入参数,z=4*x+5*y方法2建立函数M文件fun2.m定义函数g(x,y),再在MatLab命令窗口中输入fun2([1,2])functionz=fun1(x)%1个输入参数z=4*x(1)+5*x(2)3.1.7程序流控制break用于循环控制中,终止包含break语句的最内层的循环。return使当前正在运行的函数正常结束并返回调用它的函数继续运行,或返回到调用它的环境如命令窗口