资源描述:
《编程与作图课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三讲MATLAB编程与作图第三讲MATLAB编程与作图3.1程序设计3.2作图3.3在线帮助和文件管理3.1程序设计循环语句for循环变量=初值:增量:终值,语句;endwhile(条件式),语句;end分支语句if(条件式),语句;endif(条件式1),语句1;elseif(条件式2),语句2;……;else,语句;endswitch(分支变量)case(值1),语句1;case(值2),语句2;……;otherwise语句;end其它:pause,break,return,error3.1程序设计>>s=0;fo
2、rn=1:100,s=s+1/n/n;end;s>>clear;s=0;n=1;whilen<=100,s=s+1/n/n;n=n+1;end;s强行中断:Ctrl+C3.1程序设计M脚本文件在Editor窗口例eg3_1文件名一律以字母开头,以字母、数字或下划线组成,不要含有空格、减号等.M文件名一般都用小写字母保存在当前目录(CurrentDirectory)s=0;forn=1:100s=s+1/n/n;end;s保存为eg3_1.m3.1程序设计M函数文件function输出变量=函数名(输入变量)语句;M函数必
3、须给予输入参数值M函数在edit窗口编写,在command窗口调用M函数是以该函数的磁盘文件主名调用,而不是文件中的函数名称M函数中变量为局部变量%M函数eg3_1f.mfunctions=f(m)s=0;forn=1:ms=s+1/n/n;end3.1程序设计函数句柄(handle)fname=@eg3_1f;feval(fname,1000)Inline函数fun=inline(‘expr’,arg1,arg2,...)匿名函数fun=@(arg1,arg2,….)>>fname=inline('sum(1./(1:
4、m).^2)','m')fname=Inlinefunction:fname(m)=sum(1./(1:m).^2)>>feval(fname,1000)ans=1.6439>>k=2;fname=@(m)sum(1./(1:m).^k)fname=@(m)sum(1./(1:m).^k)>>feval(fname,1000)ans=1.64393.1程序设计注释:%开头,对本行后面字符起作用,不参与运算。对话:input,disp全程变量与局部变量nargin、nargout和varargin子函数和嵌套函数提
5、高速度3.1程序设计普通编程functions=f(m)s=0;forn=1:ms=s+1/n/n;end向量化编程functions=f(m)n=1:m;s=sum(1./n.^2);尽量少用for语句3.1程序设计例3.2编一M函数,对任意输入的向量x,可计算分段函数值构成的向量。分量方式eg3_2a,慢向量方式eg3_2b,eg3_2c快数组预分配y=zeros(size(x)%M函数eg3_2a.mfunctiony=eg3_2a(x)n=length(x);fork=1:nifx(k)>1y(k)=x(k)^
6、2;elseifx(k)>-1y(k)=1;elsey(k)=3+2*x(k);endend%M函数eg3_2b.mfunctiony=eg3_2b(x)y=zeros(size(x));k1=find(x>1);y(k1)=x(k1).^2;k2=find(x>-1&x<=1);y(k2)=1;k3=find(x<=-1);y(k3)=3+2*x(k3);%M函数eg3_2c.mfunctiony=eg3_2c(x)y=(x>1).*x.^2+(x>-1&x<=1)+(x<=-1).*(3+2*x);3.2作图曲线图p
7、lot(x,y)以数据(x(i),y(i))为节点的折线图,其中x,y为同长度的向量plot(x1,y1,x2,y2,...)多组数据折线图fplot(fun,[a,b])函数fun在区间[a,b]上的函数图plot3(x,y,z)空间曲线图,其中x,y,z为同长度的向量图形导出到word线型与标记eg3_3曲线图y=x3-x-1和y=
8、x
9、0.2sin(5x)3.2作图线型点标记颜色-实线:虚线-.点划线--间断线.点o小圆圈x叉子符+加号*星号s方格d菱形^朝上三角v朝下三角>朝右三角<朝左三角p五角星h六角星y黄色
10、m棕色c青色r红色g绿色b蓝色w白色k黑色helpplot查看3.2作图%M文件eg3_3.mfplot(inline('x^3-x-1'),[-1,2]);holdon;x=-1:0.2:2;y=abs(x).^0.2.*sin(5*x);plot(x,y,':ro');holdoff3.2作图曲面图[x,y]=m