资源描述:
《Matlab第二讲》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Matlab编程程序设计概述-基本概念程序:数据结构+算法注解:数据结构定义操作对象算法定义求解过程-必要性问题求解需要复杂算法交互计算方式难以满足Matlab编程程序结构-顺序结构逐条顺序执行程序指令或模块-选择结构依据条件选择执行程序指令或模块if语句%条件选择switch语句%多值切换Matlab编程-循环结构根据条件重复执行程序指令或模块for语句%计数循环while语句%条件循环Matlab编程M-文件概述m-编辑器:创建以m为结尾标志的asccii文件分类:脚本文件/函数文件-脚本文件(script)执行批处理行命令文
2、件名:默认的宏命令全局性:与工作空间共享变量名适用性:实现小规模简单的问题求解Matlab编程-函数文件创建用户自己功能函数的方式允许参数传递机制定制求解允许局部变量,与工作空间隔离允许函数嵌套,子函数方式主函数:第一行定义的函数子函数:被同一文件其他函数调用的函数允许属性控制,私有函数方式私有函数:存放在Private目录下只能被上级目录函数调用Matlab编程-M-文件编程(Programming)m-文件编辑器>>editdrawPlot.m;%创建或编辑m文件>>edit;%启动编辑器GUI方式激活在桌面激活新文件图标利用
3、文件另存创建文件m-文件编辑器GUI文件操作:filenew/open/save/…编辑操作:editcut/copy/paste/…调试操作:debug…/run/…Matlab编程-程序运行程序定位查询用法举例:>>whichdrawPlotD:matlabR14workdrawPlot.m添加路径操作用法举例:>>addpath('D:matlabR14work')或在桌面GUI模块操作程序运行>>drawPlot(xdata,ydata)Matlab编程-m-文件的结构脚本文件文件体:行命令序列的集合再提醒
4、:文件名即为批处理命令名没有输入和输出所有变量均保留在工作空间函数文件函数定义行:申明和定义函数名/输入输出变量全局变量申明和定义程序体:程序指令集合(包括函数调用)再提醒:函数名与文件名一致Matlab编程-创建一个脚本文件1:%AnM-filescripttoproduce2:%Commentlines3:%"flowerpetal"plots4:theta=-pi:0.01:pi;%Computations5:rho(1,:)=2*sin(5*theta).^2;6:rho(2,:)=cos(10*theta).^3;7:r
5、ho(3,:)=sin(theta).^2;9:rho(4,:)=5*cos(3.5*theta).^3;10fork=1:4polar(theta,rho(k,:))%Graphicsoutputpause11:endMatlab编程-另一个脚本程序1:%easyplot:Scripttoplotdatainfilexy.dat2:%Loadthedata3:D=load(’xy.dat’);4:%Disamatrixwithtwocolumns5:x=D(:,1);y=D(:,2);6:%xin1stcolumn,yin2nd
6、column7:plot(x,y)%Generatetheplotandlabelit8:xlabel(’xaxis,unknownunits’)9:ylabel(’yaxis,unknownunits’)10:title(’Plotofgenericx-ydataset’)Matlab编程-创建一个简单的m-函数文件1:functionf=fact(n)2:%Computeafactorialvalue.3:%FACT(N)returnsthefactorialofN4:%usuallydenotedbyN!5:6:%Putsi
7、mply,FACT(N)isPROD(1:N).7:f=prod(1:n);第1行:函数定义行—函数名/输入/输出第2行:帮助提要-help目录/lookfor回应第3/4行:帮助详细信息-help函数回应第6行:程序注释行第7行:程序体Matlab编程-m-子函数实例1:function[mean,stdev]=stat(x)2:%STATInterestingstatistics.3:n=length(x);4:mean=avg(x,n);5:stdev=sqrt(sum((x-avg(x,n)).^2)/n);6:%----
8、---------------------7:functionmean=avg(x,n)8:%AVGsubfunction9:mean=sum(x)/n;Matlab编程-m-函数及子函数实例1:function[mean,stdev]=stat(