收藏 分销(赏)

MATLAB程序设计孙蓬专题培训课件.ppt

上传人:精*** 文档编号:12831910 上传时间:2025-12-12 格式:PPT 页数:715 大小:1.80MB 下载积分:25 金币
下载 相关 举报
MATLAB程序设计孙蓬专题培训课件.ppt_第1页
第1页 / 共715页
MATLAB程序设计孙蓬专题培训课件.ppt_第2页
第2页 / 共715页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,MATLAB 程序设计(孙蓬),了解课程,Matlab,是个什么软件?,帮我们计算。(,1+1,),帮我们绘图。,(,x=(0:0.1:2*pi),;y=sin(x);plot(x,y),),3,帮我们利用函数。,(paintFlower),4,航空、航天、航海、力学结构、数学等专业都有各自特色的应用。,了解课程,一、课程特色,从零开始,精讲多练,崇尚个性,了解课程,一、课程,主旨,从零开始,#,本课程的教学内容以基础入门为主。,不要求学生有程序设计方面的先修课程。,#,但是,如果具有以下知识点学习,更轻松,:,一门程序设计语言(,C/VB/,其他),;,高等数学知识;线性代数知识;,熟悉,Windows,;熟练的键盘操作能力;,了解课程,一、课程主旨,2,“,精讲多练”,,轻松学习,所教即所学 所学即所练,了解课程,一、课程主旨,崇尚个性,适合各个专业,(,1,)入门容易熟练难。,(,2,),MATLAB,与专业息息相关。,了解课程,二、课堂及实验课要求,课堂。,实验。,请假。,了解课程,二、课堂及实验课要求,课堂,课堂随机提问(点名)是本课程的特点之一。,课堂上不要出现,随意旷课,迟到,早退,接打电话,等不文明行为。每次将记录在案。如确有急事,请举手示意一下即可。,了解课程,二、课堂及实验要求,实验,勤能补拙。光说不练假把式。,注意:实验课独立,成绩独立。,第一次实验课按班级和学号排好座位,一学期无特殊原因不变化。不用每次找座位,并且方便老师定点交流。,了解课程,二、课堂及实验要求,请假(严格管理),*请假(理论课)必须经过辅导员签名同意。,*请假(实验课)必须经过辅导员签名同意。,*请假(考试)必须经过辅导员和学院两级批准。,*,如有作假,发现即取消参加考试资格。,*,理论和实验无故旷课累计达到三次者,取消参加本课程的考试资格。,了解课程,三、课程安排,总课时:,72,学时,理论课学时,40,(,4,学时,10,周),实验课学时,32,(,3,学时,10,周,+2,学时考试),了解课程,四、考试方案,*理论课:闭卷笔试。,笔试卷面分。,*,实验课:开卷,平时成绩和测验成绩。,了解课程,五、,认识教学用课本,MATLAB,基础教程,1,西工大非计算机专业,MATLAB,教学用书 第一版,2,孙蓬等编著,欢迎大家查错纠错。,西工大友谊校区本部基础楼,409,室,西工大长安校区计算机学院楼,C,北,106,室,联系方式,:,18992800436,sp214,了解课程,六、,参考用书,若干电子书籍供大家使用,/for Stu,如果你们下载到了好的资料,请与大家共享谢谢!,关于排实验课的若干问题,金工实习,:冲突问题,选修课,:冲突问题,课后任务,:,(,1,),确定大班长,各小班课代表。,(,2,)完成班级名册;,(,3,)提供课表,找出各个班级空余时间。,(,4,)大班长与我联系,确定实验课时间。,(很重要!),ok,,开始学习了!,第一章,MATLAB,概述,*,第一节教学目标,1,了解,MATLAB,软件,2,安装,MATLAB,软件,3,了解,MATLAB,的软件环境,第一章,MATLAB,概述,一、,MATLAB,MATrix +LABoratory,MATLAB=MAT+LAB,第一章,MATLAB,概述,二、,MATLAB,简史,MATLAB,本身由,C,语言,编写,,是,MathWorks,公司的产品。,目前主流版本:,MATLAB7.*,第一章,MATLAB,概述,三、,MATLAB,支撑平台,Windows,/NT,操作系统;,Macintosh,的,Mac OS,操作系统;,Solaris,Unix,Linux,等操作系统。,第一章,MATLAB,概述,四、,MATLAB,特点,1,强大的,数值运算,功能;,2,强大的,图形处理,能力;,3,高级,但,简单,的程序环境;,4,丰富,的工具箱(参见表,1-1,)。,第一章,MATLAB,概述,四、,MATLAB,特点,简而言之,,MATLAB,是一个可编程的计算器。,第一章,MATLAB,概述,五、,MATLAB,的安装,1,系统要求,硬件,:,CPU,;内存;硬盘;,显示器;显卡;声卡;,软件,:,Windows 95/98,操作系统;,Windows Office97,;,Web Browser,(,IE3.0,);,Adobe Acrobat Reader,;,Java Virtual Machine,;,硬件配置越高越好!,第一章,MATLAB,概述,五、,MATLAB,的安装,2,安装方法和步骤,Step1,:找到安装光盘,/,安装文件;,Step2:,开始安装(一路,next,即可);,(细节处请关注每个版本的区别!),Step3,:安装成功。,第一章,MATLAB,概述,与安装相关自学内容(独立阅读内容):,install_guide.pdf,第一章,MATLAB,概述,看看,MATLAB,软件到底是什么样?,六、,MATLAB,的视窗环境,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,第一章,MATLAB,概述,六、,MATLAB,的视窗可视化环境,*标题栏(,Title Bar,),*菜单(,Menu,),*工具栏(,ToolBar,),*视图一:,current directory/workspace,*,视图二:,command window,*,视图三:,command history,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*标题栏,标题,+,窗口最小化按钮,+,窗口缩放按钮,+,关闭按钮,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*菜单,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*菜单,(,1,),File,:,新建,+,打开,+,保存,+,关闭,+,打印,+,退出,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*菜单,(,2,),Edit,:,对源代码和窗体进行编辑。,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*菜单,(,3,),View/Window,:,查看当前系统打开的所有窗口。,不同窗口之间的转换。,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*菜单,(,4,),Help,:,实现,MATLAB,的帮助功能。,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*,ToolBar,提供了一些最常用的菜单命令的快捷方式。,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*,视图一:,current directory/workspace,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command window,用于输入和显示计算结果。,例如:,1+2+3+4+5,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command window,“,”,:,提示符,提示用户目前系统已经处于等待状态,用户可以在提示符后面键入命令,回车后,系统会解释执行所输入的命令,并给出计算结果。,例如:,ver,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command window,“,上下左右箭头,,Home,,,End,,,Delete,,,Insert,”,:,功能一用便知。,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command window,“,Ctrl+C,”,:,终止正在执行中的,MATLAB,的工作。,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command window,“,命令行尾,+,分号;,”,:,不在屏幕上显示运行结果。,例如:,x=6,;,x=6,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command window,“,命令行尾,+,逗号,,”,:,例如:,x=6,y=8,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command window,“,续行符,”,:,如果一个语句在一行内书写太长了,可能要另起一行接着写,在这种情况下我们需要在第一行末打上半个省略号(,.,),再开始第二行的书写。,举例如下,下面这两语句是等价的。,x1=1+1/2+1/3+1/4+1/5+1/6;,And,x1=1+1/2+1/3+1/4,.,+1/5+1/6;,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command history,第一章,MATLAB,概述,六、,MATLAB,的视窗环境,*视图二:,command history,(,1,),历史命令,窗口用于记录用户在命令窗口中键入的命令。,(,2,),双击,这些命令可使它再次执行。,示例演示:,1+1,等命令。,第一章,MATLAB,概述,七、,MATLAB,的在线帮助,寻求帮助方法:,1,帮助命令,help,2,查找命令,Lookfor,3,帮助窗口,Help Window,4,在线帮助页,/,通过网络链接到,MathWorks,公司,第一章,MATLAB,概述,七、,MATLAB,的在线帮助,寻求帮助方法:,1,帮助命令,Help,语法:,help,第一章,MATLAB,概述,七、,MATLAB,的在线帮助,寻求帮助方法:,2,查找命令,lookfor,语法:,lookfor,发现了么?,help,和,lookfor,有什么不同?,第一章,MATLAB,概述,七、,MATLAB,的在线帮助,寻求帮助方法:,3,帮助窗口,Help Window,(,1,)菜单,help,(,2,)双击,Toolbar,上的问号按钮,(,3,)键入,helpwin,命令,(,4,)键入,helpdesk,命令,第一章,MATLAB,概述,七、,MATLAB,的在线帮助,寻求帮助方法:,4,在线帮助页,通过网络链接到,MathWorks,公司,第一章,MATLAB,概述,八、退出,MATLAB,1,键入命令,Exit,2,键入命令,Quit,3,直接关闭,MATLAB,的窗口,课后任务,一、亲自安装,MATLAB,一次。,并总结安装技巧。,二、上机熟悉,MATLAB,软件环境。,三、找几个你手边熟悉的计算公式,,代入已知数据,用,MATLAB,计算结果。,第一章,MATLAB,概述,九、应用举例,【,书,例题,1-1,】,计算式子,“,1+2+3+4+5,”,的值。观察分号和续行符的使用方法以及,ans,变量的用法。,1+2+3+4+5%,计算,“,1+2+3+4+5,”,的值,1+2+3+4+5;%,使用了分号后,计算结果不在命令窗口输出,1+2+3+4.%,使用了续行符,“,”,5,第一章,MATLAB,概述,九、应用举例,【,书,例题,1-2,】,一个半径,r=5,的圆,计算其,面积,area,的值。,r=5,;,%,指定半径,r,的值,分号确保赋值后无需在命令窗口显示,r,的值,area=pi*r2%,计算圆面积,,pi,是圆周率常数,第一章,MATLAB,概述,九、应用举例,【,书,例题,1-3,】disp,屏幕输出函数。,disp(the area is:);disp(area);%,屏幕输出字符串和变量的值,%,输出超链接,disp(The MATLAB Site),第一章,MATLAB,概述,九、应用举例,例题:设两个复数,a=1+2i,b=3-4i,计算,a+b,a-b,a*b,a/b,。,a=1+2i;b=3-4i;,a+b,a-b,a*b,a/b,第一章,MATLAB,概述,九、应用举例,例题:计算下式的结果,其中,x=-3.5,。,,,Y=6.7,。,x=pi/180*(-3.5);y=pi/180*6.7;,z=sin(abs(x)+abs(y)/sqrt(cos(abs(x+y),第一章,MATLAB,概述,九、应用举例,例题:我国人口按照,2000,年第五次全国,人口普查的结果为,12.9533,亿,如果年增长率为,1.07%,,求公元,2010,年末的人口数。,计算人口的公式为:,P1=P0(1+r),n,,其中:,P1,为几年后的人口,,P0,为人口初值,,r,为年增长率,,n,为年数。,第一章,MATLAB,概述,九、应用举例,用,MATLAB,解题:,r=0.0107;,n=2010-2000;,p0=,12.9533E8,;,p1=p0*(1.0+r)n,第一章,MATLAB,概述,九、应用举例,例题:求解,ax,2,+bx+c=0,一元二次方程的根,,其中,a=1,,,b=2,,,c=3,。,求根公式:,x,1,,,2=,a=1;b=2;c=3;,d=sqrt(b*b-4*a*c);,x1=(-b+d)/(2*a),x2=(-b-d)/(2*a),第一章,MATLAB,概述,发现:?,(,1,),MATLAB,是一个计算器。,第一章,MATLAB,概述,发现:?,(,2,)有些规律。,输入,已知,条件;,代入,公式(利用一些函数);,开始,计算,!,第一章,MATLAB,概述,发现:?,(,3,)找出一些可用函数。,第一章,MATLAB,概述,发现:,(,1,),MATLAB,是一个计算器。,(,2,)有些规律。,输入已知条件;,带入公式(利用一些函数);,开始计算!,(,3,)找出一些可用函数。,第一章,MATLAB,概述,*,第二节教学目标,1 MATLAB,的,工作空间,。,2 MATLAB,的,搜索路径,。,第一章,MATLAB,概述,一、,MATLAB,的工作空间,什么是工作空间?,工作空间是,MATLAB,的一个,变量管理中心,。,*,管理系统所提供的特殊变量,*管理用户自己定义的所有变量,第一章,MATLAB,概述,一、,MATLAB,的工作空间,(,1,),显示变量的,名称、尺寸、字节、长度,等信息,(,2,)变量处理,在某一变量上单击鼠标右键会弹出菜单。,第一章,MATLAB,概述,一、,MATLAB,的工作空间,(,1,),显示变量的,名称、尺寸、字节、长度,等信息,(,2,)变量处理,在某一变量上单击鼠标右键会弹出菜单。,第一章,MATLAB,概述,一、,MATLAB,的工作空间,什么是工作空间?,我们需要知道的:,*当,MATLAB,启动后,系统会自动建立一个工作空间,,这时的工作空间内只包含系统所提供的一些特殊变量,,如,pi,,,eps,,,nan,,,i,等。,*随着用户的使用,逐渐增加一些用户自己定义的变量。,*使用,who,,,whos,可以查看到当前工作空间所有变量的情况。,*使用,clear,可以删除全部或部分工作空间中的变量。,*关闭,MATLAB,,释放工作空间,所有变量会被释放。,第一章,MATLAB,概述,一、,MATLAB,的工作空间,什么是工作空间?,【,书,例题,】,执行,who,、,whos,、,clear,、,size,和,length,等命令,查询变量信息。注意观察,Workspace,窗口的变化。,who,whos,clear r,clear,clear all,clc,s=1 2 3 4 5;,size(s),length(s),p=helloworld;,size(p),length(p),第一章,MATLAB,概述,二、,MATLAB,的搜索路径,键入下面这个命令的结果是什么?,path,第一章,MATLAB,概述,二、,MATLAB,的搜索路径,打开菜单项,file/setpath,会出现什么?,第一章,MATLAB,概述,二、,MATLAB,的搜索路径,注意:只有在,当前目录,或,搜索路径,下的文件、函数可以被运行或调用。否则视为非法命令。,*默认当前目录为,My DocumentsMATLAB,*,早期版本略有细微差异。,第一章,MATLAB,概述,二、,MATLAB,的搜索路径,MATLAB,每遇到一个命令(例如,test,)时,,其处置过程为:,1.,将,test,视为使用者自定义的变量。,2.,若,test,不是使用者自定义的变量,将其视为系统定义的常量。,3.,若,test,不是常量,检查其是否为,当前工作目录,下的,M,文件。,4.,若不是,则由,搜寻路径,寻找是否有,test.m,的文件。,5.,若在搜寻路径中找不到,则,MATLAB,会印出错误讯息。,*处置过程可能因版本不同而略有不同。,第一章,MATLAB,概述,二、,MATLAB,的搜索路径,which,命令,:,查询某一命令是在搜寻路径的何处,.,What,命令,:显示当前目录里,MATLAB,相关文件及路径。,【,书,例题,1-7,】which,和,what,命令。,which help,which lookfor,what,第一章,MATLAB,概述,三、,MATLAB,中数据的读写,思考:,关闭,MATLAB,,释放工作空间,所有变量会被释放。,这样会出现什么问题?,第一章,MATLAB,概述,三、,MATLAB,中数据的读写,解决方法:,将工作空间中的变量存储到文件中。,这样,即使退出了,MATLAB,系统,变量依然存在。,需要使用时,将这些变量从文件中读取出来即可。,第一章,MATLAB,概述,1 save,命令,功能,:将变量以二进制的方式存储至,后缀名为,.mat,的文档中。,格式,:,save filename,第一章,MATLAB,概述,1 save,命令,命令实例:,假定内存中已经存在变量,X,Y,Z,save myFile X Y Z,dir,.myFile.mat,.,第一章,MATLAB,概述,1 save,命令,注意事项,:,),存储文件为,.mat,的二进制,mat,文档中。,),若文件名缺省,则自动存储到,matlab.mat,中。,),若为,save filename x,则只将变量,x,存储到文件中去。,第一章,MATLAB,概述,1 save,命令,注意事项,:,4),若为,save filename u w,append,则将变量,u,,,w,添加,到文件名为,filename.mat,的文件中。,5),若为,save filename u w,ascii,则将变量,u,,,w,保存为,filename,的,8,位,ASCII,文档。,6),若为,save filename u w,ascii,-double,则将变量,u,,,w,保存为,filename,的,16,位,ASCII,文档。,第一章,MATLAB,概述,1 save,命令,ASCII,文档特色(使用,-ascii,后缀):,(,1,),ASCII,文档可以看到文档内容。,(,2,)默认的存储格式是二进制的,mat,文件。,存储,ASCII,文档必须加,-ascii,。,(,3,),save -ascii,通常只存为一个变量,原有变量名消失。,load,载入时,取用文件名为变量名。,(,4,)对于复数,,save-ascii,后只存实部,虚部抛弃。,(,5,),ASCII,文件通常比二进制文件大,二进制文档较小,,读取速度快。,第一章,MATLAB,概述,1 save,命令,建议:,尽量使用二进制文件存储,MATLAB,变量。,第一章,MATLAB,概述,2 load,命令,功能,:读取保存在文件中的变量。,格式,:,load filename,load filename,ascii,load filename,mat,第一章,MATLAB,概述,2 load,命令,注意事项,:,首先,,,MATLAB,在系统默认路径中自动寻找名称为,filename.mat,的二进制文件。,其次,,若无该文件,则找,filename,的文件,用,ASCII,方式载入。,第一章,MATLAB,概述,2 load,命令,【,例题,】,:,clear all;,a=1;b=2;c=3;,save mydata1,save mydata2 a b,load mydata1,load mydata1 a,课后任务,一、熟悉,MATLAB,系统环境。,二、熟悉工作空间以及变量的读写。,三、熟悉搜索路径的设置。,四、,阅读,“,实用技巧,”,并自己操作。,第二章,MATLAB,程序设计基础,*,第一节教学目标,1,基本运算介绍。,2,变量的概念。,3,系统函数的概念。,4,一般的应用问题转换为计算机模型。,第二章,MATLAB,程序设计基础,一、基本运算,MATLAB=,第二章,MATLAB,程序设计基础,一、基本运算,简单的数学运算,1+2+3+4+5,1+2+3+4+5;,第二章,MATLAB,程序设计基础,一、基本运算,复杂一点点的数学运算,已知:,x=15,,,y=10,,,z=7,求解:(,x+2Y+5z,),/3,x=15;y=10;z=7;,(x+2*y+5*z)/3,第二章,MATLAB,程序设计基础,一、基本运算,这些运算的本质:基本数学运算。,操作数,运算符,第二章,MATLAB,程序设计基础,一、基本运算,1 MATLAB,算术运算符,加、减、乘、除、幂次方,+-*/,运算次序:自左向右运算。,优先级最高,乘除次之,后加减。,如果有括号,括号优先执行。,第二章,MATLAB,程序设计基础,一、基本运算,2 format,命令,用来,显示,计算的,精度,。,不是,用来,改变,计算的,精度,。,MATLAB,默认以,double(,双精度,),进行运算和存储。,使用,format,可以控制数据不同的显示格式。,format short,format short e,format long,format long e,format rat,format bank,第二章,MATLAB,程序设计基础,一、基本运算,2 format,命令,用,pi,来测试一下显示精度:,pi,format short,pi,format long,pi,format rat,pi,第二章,MATLAB,程序设计基础,二、变量,变量,程序执行过程中可以,变化的量,。,MATLAB,中的,变量可以由,用户指定,变量名。,通过变量名随时可以引用变量和修改变量。,第二章,MATLAB,程序设计基础,二、变量,MATLAB,特殊之处:,无需进行变量声明,。,(遇到新变量名时,,自动生成,变量,,并指定合适的存储空间。,如变量早已存在,则,自动更新,。),*,利,与,弊,的分析*,第二章,MATLAB,程序设计基础,二、变量,1.,系统特殊变量,1+2+3+4+5,ans,是个特殊的系统变量。,没有指定变量来存储运算结果时,,系统会自动将结果存储在,临时变量,ans,中。,第二章,MATLAB,程序设计基础,二、变量,1.,系统特殊变量,MATLAB,的系统特殊变量,ans:,临时变量,pi,:,inf,:无穷大,eps,:极小值,NaN,:,Not a Number,(,Not Available,),nan,:同上,i,:虚数,sqrt,(,-1,),j,:虚数,sqrt,(,-1,),第二章,MATLAB,程序设计基础,二、变量,2,自定义变量,注意我的这些操作:,a=1,abc=1+2+3+4+5,a=1;b=3;c=5;,A=2,B=4,C=6,area=r2,?,第二章,MATLAB,程序设计基础,二、变量,2,自定义变量命名规则,*,变量名由字母、数字和下划线组成。,字母间不可留空格且第一个字符必须为字母,*,区分大小写。,*,变量名的长度上限为,n,个字符。,补充:,*变量名不能为中文;,*系统变量名不要和自定义重名。,第二章,MATLAB,程序设计基础,二、变量,万一自定义变量名和系统变量名,一样结果会怎样?怎么办,?,第二章,MATLAB,程序设计基础,二、变量,观察下面的变量名是否合理?,isvarname myVarName,isvarname 7myVarName,第二章,MATLAB,程序设计基础,二、变量,3,获取当前变量,命令行直接键入变量名。,第二章,MATLAB,程序设计基础,二、变量,4,变量的显示精度,控制显示精度函数,:,format,控制精度计算的函数:,digits(n):,设置缺省的精度;,vpa(S,n,):,将,S,表示为,n,位有效位数的形式。,第二章,MATLAB,程序设计基础,4,变量的显示精度,问题,:积少成多的累计误差?,(1/3+1/3)=?,format long,1/3+1/3,第二章,MATLAB,程序设计基础,s=1/3+1/3,digits(2),s,?,vpa(s),vpa(s,10),s=1+1/3+1/3,?,4,变量的显示精度,第二章,MATLAB,程序设计基础,二、变量,5,查看变量,who,:,查看当前工作区(,workspace,)的变量。,whos,:,查看当前变量的详细信息。,第二章,MATLAB,程序设计基础,二、变量,6,清除变量,clear,:,清除所有定义过的变量。,clear,变量名,:清除某个变量。,第二章,MATLAB,程序设计基础,二、变量,7,变量的初始化(,三种方式,),1,用赋值语句初始化变量。,2,用,input,函数从键盘输入初始化变量。,例如:,in1=input(enter data:);,Enter data:,1.23,in2=input(enter data:,s),Enter data:,1.23,in1+in2,(?),3,从文件读取一个数据。(以后介绍),第二章,MATLAB,程序设计基础,二、变量,8,变量的作用域,(,1,),局部变量(,Local,),(,2,),全局变量(,Global,),(,3,),永久变量(,Persistent,),第二章,MATLAB,程序设计基础,二、变量,7,变量的作用域,局部变量,:在函数中使用的变量,,只能在函数的范围内使用。,全局变量,:在命令文件或工作空间中定义。,用,global,定义全局变量。,global Gvar1 Gvar2 Gvar3,永久变量,:,只能在函数文件中定义和使用,,只允许定义它的函数存取。,只有清除函数或者关闭,MATLAB,时,,才能从内存中清除它们。,persistent perVar;,第二章,MATLAB,程序设计基础,四、函数相关知识,3,变量的作用域,局部变量,:在函数中使用的变量,,只能在函数的范围内使用。,全局变量,:在,命令文件或工作空间,定义。,用,global,定义全局变量。,global var1 var2 var3,例如:,(?),func1.m,function y=func1(x),global Gvar;,(?),y=x;,Gvar=x*10,func2.m,function y=func2(x),global Gvar;y=x;,Gvar=x*100,例如:,global Gvar (,!,),func1.m,function y=func1(x),global Gvar;,Y=x;,Gvar=x*10,func2.m,function y=func2(x),global Gvar;,Y=x;,Gvar=x*100,第二章,MATLAB,程序设计基础,tips,:尽量不使用全局变量和永久变量!,第二章,MATLAB,程序设计基础,三、常用函数,初等数学函数,:,help elfun,高等数学函数:,help specfun,help elmat,第二章,MATLAB,程序设计基础,三、常用函数,注意问题:,(,1,)等式中,函数一定是出现在等式的右边。,(,2,)函数参数要求。(变量个数和格式要求,),(,3,)允许函数嵌套。,第二章,MATLAB,程序设计基础,四、现实问题转化为数学模型,例如:哥哥弟弟年龄问题。,哥哥比弟弟大,19,岁,哥哥年龄是弟弟的,3,倍还多,1,,问:哥哥和弟弟的年龄分别是多少?,第二章,MATLAB,程序设计基础,四、现实问题转化为数学模型,例如:吃桃问题。,桃子,1,毛钱一个,每,3,个桃核可以换一个桃子。如果有一元钱,问:一共能吃到多少桃子?,课后任务,一、,熟悉,基本数学运算。,二、,熟练,使用变量的相关应用,。,第二章,MATLAB,程序设计基础,*,第二节教学目标,通过实例演练熟悉部分常用函数。,第二章,MATLAB,程序设计基础,实战演练常用,函数,的使用,第二章,MATLAB,程序设计基础,函数,?,第二章,MATLAB,程序设计基础,小整理:,MATLAB,常用的基本数学函数,abs(x),:纯量的绝对值或向量的长度,sqrt(x),:开平方,real(z),:复数,z,的实部,imag(z),:复数,z,的虚部,conj(z),:复数,z,的共轭复数,angle(z),:复数,z,的相角,round(x),:四舍五入至最近整数,fix(x),:无论正负,舍去小数至最近整数,floor(x),:地板函数,即舍去正小数至最近整数,ceil(x),:天花板函数,即加入正小数至最近整数,rat(x),:将实数,x,化为多项分数展开,rats(x),:将实数,x,化为分数表示,第二章,MATLAB,常用的基本数学函数,小整理:,MATLAB,常用的基本数学函数,sign(x),:符号函数,(Signum function),。,当,x0,时,,sign(x)=1,。,rem(x,y),:求,x,除以,y,的馀数,gcd(x,y),:整数,x,和,y,的最大公因数,lcm(x,y),:整数,x,和,y,的最小公倍数,exp(x),:自然指数,pow2(x),:,2,的指数,log(x),:以,e,为底的对数,即自然对数,log2(x),:以,2,为底的对数,log10(x),:以,10,为底的对数,第二章,MATLAB,程序设计基础,实战,1,:函数,abs,功能 数值的绝对值与复数的幅值,格式,Y=abs(X)%,返回参量,X,的,每一个分量的,绝对值;,%,若,X,为复数的,则返回每一分量的,幅值,%abs(X)=sqrt(real(X).2+imag(X).2),例,x=-18;,z1=abs(x),y=-2+4i;,z2=abs(y),第二章,MATLAB,程序设计基础,实战,2,:函数,sqrt,功能 求平方根函数,格式,Y=sqrt(X)%,数值的平方根运算,例,x=16;,z1=sqrt(x),y=-18;,z2=sqrt(y),f=2+4i;,z3=sqrt(f),第二章,MATLAB,程序设计基础,实战,3,:函数,exp,功能 以,e,为底数的指数函数,格式,Y=exp(X)%,对参量,X,的每一分量,求以,e,为底数的指数函数,Y,。,%X,中的分量可以为复数。,%,对于复数分量如,,z=x+i*y,,,%,则相应地计算:,ez=ex*(cos(y)+i*sin(y),。,例,x=3;,z1=exp(x),y=-3;,z1=exp(y),f=2+4i;,z3=exp(f),第二章,MATLAB,程序设计基础,实战,4,:函数,log,功能 自然对数,即以,e,为底数的对数。,格式,Y=log(X)%,对参量,X,中的每一个元素计算自然对数。,%,其中,X,中的元素可以是复数与负数,但由此可能得到意想不到的结果。,%,若,z=x+i*y,,则,log,对复数的计算如下:,%log(z)=log(abs(z)+i*atan2(y,x),例,:,x=20.0855,z1=log(x),f=2+4i;,z3=log(f),下面的语句可以得到无理数,的近似值:,pai=abs(log(-1),第二章,MATLAB,程序设计基础,实战,5,:函数,log10,功能 常用对数,即以,10,为底数的对数。,格式,Y=log10(X)%,计算,X,中的每一个元素的常用对数,,%,若,X,中出现复数,则可能得到意想不到的结果。,例,x=10;,z1=log10(x),y=-10;,z1=log10(y),f=2+4i;,z3=log10(f),第二章,MATLAB,程序设计基础,实战,6,:函数,lcm,功能 整数,x,和,y,的最小公倍数,格式,z=lcm(x,,,y)%,计算整数,x,和,y,的最小公倍数,例,x=10;y=23;,z1=lcm(x,y),x=10;y=2;,z2=lcm(x,y),x=10;,y=-2,;,/?,z3=lcm(x,y),第二章,MATLAB,程序设计基础,实战,7,:函数,gcd,功能 整数,x,和,y,的最大公约数,格式,z=gcd(x,,,y)%,计算整数,x,和,y,的最大公约数,例,x=10;y=23;,z1=gcd(x,y),x=10;y=2;,z2=gcd(x,y),x=10;y=-2;,z3=gcd(x,y),第二章,MATLAB,程序设计基础,实战,8,:函数,real,功能 复数的实数部分。,格式,Y=real(Z)%,返回输入参量,Z,的每一个分量的实数部分。,例,f=3+8i;,z=real(f),第二章,MATLAB,程序设计基础,实战,9,:函数,imag,功能 复数的虚数部分,格式,Y=imag(Z)%,返回输入参量,Z,的每一个分量的虚数部分。,例,f=9+7i;,z=imag(f),第二章,MATLAB,程序设计基础,实战,10,:函数,conj,功能 复数的共轭值,格式,ZC=conj(Z)%,返回参量,Z,的每一个分量的共轭复数:,%conj(Z)=real(Z)-i*imag(Z),例,f=9+7i;,z=conj(f),如果两复数的实部相等,虚部系数互为相反数,那么,这两个复数叫做共轭复数,.,共轭复数的乘积是一个实数,.,提问:什么是复数的共轭值?,第二章,MATLAB,程序设计基础,实战,11,:函数,sin,功能 正弦函数,格式,Y=sin(X)%,计算参量,X,(可以是向量、矩阵,元素可以是复数),%,中每一个角度分量的正弦值,Y,*,所有分量的角度单位为弧度值,第二章,MATLAB,程序设计基础,书例,1-3,计算下式的结果,其中,x=-3.5,度,,Y=6.7,度,.,x=pi/180*(-3.5);y=pi/180*6.7,;,z=sin(abs(x)+abs(y)/sqrt(cos(abs(x+y),第二章,MATLAB,程序设计基础,实战,12,:函数,cos,功能 余弦函数,格式,Y=cos(X)%,计算参量,X,(可以是向量、矩阵,元素可以是复数),%,中每一个角度分量的余弦值,Y,*,所有分量的角度单位为弧度值,第二章,MATLAB,程序设计基础,书例,1-3,计算下式的结果,其中,x=-3.5,度,,Y=6.7,度,.,x=pi/180*(-3.5);y=pi/180*6.7,;,z=sin(abs(x)+abs(y)/sqrt(cos(abs(x+y),第二章,MATLAB,程序设计基础,实战,13,:函数,asin,功能 反正弦函数,格式,Y=asin(X)%,返回参量,X,(可以是向量、矩阵)中每一个,%,元素的反正弦函数值,Y,。,%,若,X,中有的分量处于,-1,1,之间,,%,则,Y=asin(X),对应的分量处于,-/2,/2,,,%,若,X,中有分量在区间,-1,1,之外,,%,则,Y=asin(X),对应的分量为复数。,第二章,MATLAB,程序设计基础,实战,13,:函数,asin,例题:,x=-1;,z1=asin(x),x=-2;,/?,z2=asin(x),第二章,MATLAB,程序设计基础,实战,14,:函数,acos,功能 反余弦函数,格式
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服