版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_第五章第五章 matlab科学计算科学计算5.1 符号对象和符号表达式符号对象和符号表达式5.2 微积分运算微积分运算5.3 线性代数运算线性代数运算5.4 数据分析数据分析5.55.6 可视化数学分析可视化数学分析tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.1 符号对象和符号表达式符号对象和符号表达式5.1.1 符号对象的生成和使用符号对象的生成和使用f指令格式:
2、指令格式:f=sym(arg):把表达式:把表达式arg转换为符号对象转换为符号对象f=sym(argn,flagn):把表达式:把表达式arg转换为转换为flagn格式的符号对象格式的符号对象argv=sym(argv,flgv):按:按flagv指定的要求把表达式指定的要求把表达式argv定义为符号对象定义为符号对象argvsyms(argv1,argv2,argvk):把字符:把字符arg1,arg2,argk定定义为基本符号对象义为基本符号对象farg是数值及其表达式时,是数值及其表达式时,flag可取选项:可取选项:d:最接近的十进制浮点精确表示:最接近的十进制浮点精确表示e:带估计
3、误差的有理表示:带估计误差的有理表示f:十六进制浮点表示:十六进制浮点表示r:最接近有理表示,缺省设置:最接近有理表示,缺省设置farg是字符时,是字符时,flag可取选项:可取选项:positive:限定:限定argv为正实数符号变量为正实数符号变量real:限定:限定argv为实数符号变量为实数符号变量unreal:argv为非实数符号变量为非实数符号变量tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.1 符号对象和符号表达式符号对象和符号表达式5.1.2 符号计算中的运算符和基本函数符号计算中的运
4、算符和基本函数f运算符:运算符:矩阵运算符:矩阵运算符:+、-、*、/、数组运算符:数组运算符:.*、./、.、.、.关系运算符:只有关系运算符:只有=、=f函数运算:函数运算:三角函数、双曲函数及其反函数三角函数、双曲函数及其反函数指数函数、对数函数:只有指数函数、对数函数:只有log,没有,没有log2、log10复数函数:复数函数:conj、real、imag、abs,没有求相角的指令,没有求相角的指令矩阵代数指令:矩阵代数指令:diag、triu、tril、inv、det、rank、rref、null、colspace、poly、expm、eig、svdf特例:特例:u,s,v=svd
5、(a)l如果如果a矩阵含有非常数的自由变量,只能使用矩阵含有非常数的自由变量,只能使用s=svd(a)l如果如果a不含有自由变量,不含有自由变量,u,s,v=svd(a)将可以给出将可以给出32位精度的数值形式的符号解位精度的数值形式的符号解tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.1 符号对象和符号表达式符号对象和符号表达式5.1.3 识别符号对象类别与自由变量确定识别符号对象类别与自由变量确定f识别符号对象类别:识别符号对象类别:符号对象类别识别:符号对象类别识别:class(sym)符号对象
6、大小判别:符号对象大小判别:size(sym)符号大小属性获取:符号大小属性获取:whos symf自由变量确定自由变量确定findsym(expr):确认表达式:确认表达式expr中所有自由中所有自由符号变量符号变量findsym(expr,n):从表达式:从表达式expr中确认出靠中确认出靠x最近的最近的n个独立自由变量个独立自由变量tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.1 符号对象和符号表达式符号对象和符号表达式5.1.4 符号表达式与符号函数的操作符号表达式与符号函数的操作f符号表达式
7、的操作:符号表达式的操作:collect(expr,v):对:对expr表达式中指定的符号对象表达式中指定的符号对象v的同幂项系的同幂项系数进行合并数进行合并expand(expr):对:对expr表达式进行展开表达式进行展开factor(expr):对:对expr表达式进行因式分解表达式进行因式分解horner(expr):把多项式:把多项式expr分解为嵌套形式分解为嵌套形式n,d=numden(expr):提取表达式:提取表达式expr的分母与分子的分母与分子simplify(expr):对表达式:对表达式expr进行化简进行化简simple(expr):把:把expr转换为最简形式转换
8、为最简形式pretty(expr):以习惯的书写方式显示:以习惯的书写方式显示expr表达式表达式f符号函数的操作:符号函数的操作:g=finverse(f,v):对函数:对函数f(v)求反函数求反函数g(v)g=finverse(f):对缺省自变量求反函数:对缺省自变量求反函数gfg=compose(f,g,v,w,t):对:对f(v)和和v=g(w)求复合函数求复合函数fg=f(g(w)fg=compose(f,g):依缺省自变量对:依缺省自变量对f和和g求复合函数求复合函数fg=f(g()缺省自变量由缺省自变量由findsym自动确定自动确定tel:63292873qq:64129608
9、2email:zuo_tel:63292873qq:641296082email:zuo_5.1 符号对象和符号表达式符号对象和符号表达式5.1.5 置换及其应用置换及其应用f自动执行的子表达式置换自动执行的子表达式置换rs,ssub=subexpr(s,ssub)运用符号变量运用符号变量ssub置换子表达式,重写置换子表达式,重写s为为rs被置换的子表达式是机器自动寻找的被置换的子表达式是机器自动寻找的置换原则与置换原则与pretty指令相同指令相同f通用置换指令:通用置换指令:res=subs(es,old,new):用:用new置换置换es中的中的old后产生后产生resres=subs
10、(es,new):用:用new置换置换es中的自由变量后产中的自由变量后产生生resres=subs(es):用当前内存中已知值置换:用当前内存中已知值置换es中所有可能中所有可能的同名变量后产生的同名变量后产生reslold可取串表达式、符号变量、元胞数组、数值变量可取串表达式、符号变量、元胞数组、数值变量lsubs指令可以嵌套指令可以嵌套tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.1 符号对象和符号表达式符号对象和符号表达式5.1.6 符号数值精度控制与计算符号数值精度控制与计算f向双精度数值转
11、换的向双精度数值转换的double指令指令对符号运算结果采用对符号运算结果采用double指令时所产生的误差是准确的指令时所产生的误差是准确的符号结果转换为数值时产生的,而不是整个运算过程中积符号结果转换为数值时产生的,而不是整个运算过程中积累而成累而成完全由数值计算所得结果精度较差完全由数值计算所得结果精度较差f任意精度的符号数值任意精度的符号数值digits:显示当前采用的数值计算的误差:显示当前采用的数值计算的误差digits(n):设置今后数值计算以:设置今后数值计算以n位相对精度进行位相对精度进行xs=vpa(x):在:在digits指定精度下给出指定精度下给出x的数值型符号结果的数
12、值型符号结果xsxsvpa(x,n):在:在n位相对精度下给出位相对精度下给出x的数值型符号结果的数值型符号结果xstel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.1 符号对象和符号表达式符号对象和符号表达式5.1.7 符号对象与其他数据对象间的转换符号对象与其他数据对象间的转换f符号、数值、字符串间的转换符号、数值、字符串间的转换数值型符号结果符号常数符号表达式数值字符串表达式ascii码str2num str2double sscanfint2str num2str mat2str sprintfd
13、oublevpavpacharsymchardoublesymdoubletel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.1 符号对象和符号表达式符号对象和符号表达式5.1.7 符号对象与其他数据对象间的转换符号对象与其他数据对象间的转换f符号多项式、系数向量、字符串多项式转换符号多项式、系数向量、字符串多项式转换符号多项式数值系数向量字符串多项式易读型表达式poly2strcharsymprettypoly2symsym2polytel:63292873qq:641296082email:zuo_te
14、l:63292873qq:641296082email:zuo_5.2 微积分运算微积分运算5.2.1 极限问题的求解极限问题的求解f一元函数的极限一元函数的极限l=limit(fun,x,x0):求:求xx0时函数时函数fun的极限的极限l=limit(fun,x,x0,left或或right):求:求xx0时函数时函数fun的单侧的单侧极限极限l=limit(fun):默认:默认x0时求函数时求函数fun的极限的极限若若x0为为,则可以用,则可以用inf直接表示直接表示f多元函数的极限:多元函数的极限:l=limit(limit(f,x,x0),y,y0):求函数:求函数xx0,yy0时函
15、数时函数f的的极限极限l=limit(limit(f, y,y0), x,x0):求函数:求函数yy0 ,xx0时函数时函数f的极限的极限如果如果x0或或y0不是确定的值,而是另一个变量的函数,则求极限不是确定的值,而是另一个变量的函数,则求极限的次序不可交换的次序不可交换f数值解法:数值解法:要求函数要求函数f(x)的极限,可以将自变量的极限,可以将自变量x用用x+eps代入代入f(x)直接计算直接计算如果如果x为为,则同样可以用,则同样可以用inf作为作为x的值直接计算的值直接计算tel:63292873qq:641296082email:zuo_tel:63292873qq:641296
16、082email:zuo_5.2 微积分运算微积分运算5.2.2 函数的导数函数的导数f一元函数的导数:一元函数的导数:y=diff(fun,x):求函数:求函数fun关于关于x的一阶导数的一阶导数y=diff(fun,x,n):求函数:求函数fun关于关于x的的n阶导数阶导数f多元函数的偏导数:多元函数的偏导数:fp=diff(diff(f,x,m),y,n):求函数:求函数f的的m+n阶混阶混合偏导数合偏导数fp=diff(diff(f,y,n),x,m):求函数:求函数f的的m+n阶混阶混合偏导数合偏导数j=jacobian(y,x):求向量函数:求向量函数y对对x的偏导数组的偏导数组成
17、的成的jacobi矩阵矩阵tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.2 微积分运算微积分运算5.2.3 函数的积分函数的积分f积分的解析解:积分的解析解:intf=int(f,v):求:求f对指定变量对指定变量v的不定积分的不定积分intf=int(f,v,a,b):求:求f对变量对变量v的定积分的定积分la、b分别是定积分的上下限,可以是任何合法表达式分别是定积分的上下限,可以是任何合法表达式l多重积分:多重积分:int(int(f(x,y),y,a,b),x,c,d)交互式近似积分:交互式近似
18、积分:aint=rsums(fx)lfx必须是以必须是以x为自变量的一元函数为自变量的一元函数l积分在积分在0,1区间上进行区间上进行f数值积分:数值积分:矩形法、梯形法、矩形法、梯形法、simpson法、法、romberg法法数值积分指令:数值积分指令:q=quadl(fun,a,b,tol,trace,p1,p2,)fun可以是字符串、内联函数、函数句柄可以是字符串、内联函数、函数句柄a、b是积分的下限和上限,都是确定的数值是积分的下限和上限,都是确定的数值前三个参数是必须的,后面的参数可以缺省前三个参数是必须的,后面的参数可以缺省tol是控制绝对误差的标量,缺省为是控制绝对误差的标量,缺
19、省为10-6p1,p2等是向被积函数传递的参数等是向被积函数传递的参数s=dblquad(fun,a,b,c,d,tol,method):计算二重积分:计算二重积分s=triplequad(fun,a,b,c,d,e,f,tol,method):计算三重积分:计算三重积分tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_5.2 微积分运算微积分运算5.2.4 数值导数数值导数tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_
20、3.2 m文件类型与运行机制文件类型与运行机制3.2.5 p码文件码文件f语法分析过程和伪代码语法分析过程和伪代码一个一个m文件首次被调用时,文件首次被调用时,matlab首先对该首先对该m文件进文件进行语法分析,并把生成的相应内部伪代码文件存放在内存行语法分析,并把生成的相应内部伪代码文件存放在内存中中再次调用该再次调用该m文件时,将直接调用该文件在内存中的文件时,将直接调用该文件在内存中的p码码文件,而不会对原码文件重复进行语法分析文件,而不会对原码文件重复进行语法分析p码文件与原码文件有相同的文件名,但扩展名是码文件与原码文件有相同的文件名,但扩展名是.pp码文件运行速度高于原码文件码文
21、件运行速度高于原码文件如果存在同名的如果存在同名的p码和原码文件,那么当该文件名被调用码和原码文件,那么当该文件名被调用时,被执行的肯定是时,被执行的肯定是p码文件码文件fp码文件的预生成码文件的预生成pcode funname:在当前目录上生成:在当前目录上生成funname.ppcode funname inplace:在:在funname.m所在目录所在目录上生成上生成funname.ptel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.2 m文件类型与运行机制文件类型与运行机制3.2.6 matla
22、b的搜索过程的搜索过程f如果如果matlab在一个文件中遇到指令在一个文件中遇到指令cow其搜索过程如下:其搜索过程如下:检查检查cow是否为一个变量名;如果不是,执行下一步是否为一个变量名;如果不是,执行下一步检查检查cow是否内建函数;假如不是,执行下一步是否内建函数;假如不是,执行下一步检查检查cow是不是是不是cow所在的所在的m文件中的一个子函数;如文件中的一个子函数;如果不是,再往下执行果不是,再往下执行检查检查cow是不是是不是cow所在的所在的m文件中的一个私有函数;文件中的一个私有函数;假如不是,再往下执行假如不是,再往下执行检查检查cow是不是当前目录上的文件;假如不是,再
23、往下是不是当前目录上的文件;假如不是,再往下执行执行检查搜索路径上是否有检查搜索路径上是否有cow存在存在fmatlab将使用最先找到的那个将使用最先找到的那个cowf如果一直找不到如果一直找不到cow,matlab就给出错误信息就给出错误信息tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.3 matlab程序控制流程序控制流3.3.1 for循环控制结构循环控制结构f格式:格式:f说明:说明:x:循环变量,依次取:循环变量,依次取array各列各列commands:循环体:循环体重复执行次数由重复执行
24、次数由array的列数决定的列数决定for循环结构可以嵌套循环结构可以嵌套array可以是任何合法的可以是任何合法的matlab数组数组l循环不会因为在循环体内对循环变量重新设置新值而中断循环不会因为在循环体内对循环变量重新设置新值而中断l为了得到高效代码,应尽量提高代码的向量化程度,而避为了得到高效代码,应尽量提高代码的向量化程度,而避免使用循环结构免使用循环结构l为了得到高效代码,在循环指令之前应尽量对数组进行预为了得到高效代码,在循环指令之前应尽量对数组进行预定义定义for xarray (commands)endtel:63292873qq:641296082email:zuo_tel
25、:63292873qq:641296082email:zuo_3.3 matlab程序控制流程序控制流3.3.2 while循环结构循环结构f格式:格式:f说明:说明:commands:循环体:循环体首先检测首先检测expression的值,如其为逻辑真,则执的值,如其为逻辑真,则执行循环体内的命令,直到行循环体内的命令,直到expression的值为逻辑的值为逻辑假时退出循环假时退出循环如果如果expression的值是数组,则只有在数组中所的值是数组,则只有在数组中所有元素均为真时才执行循环体有元素均为真时才执行循环体lwhile循环与循环与for循环的区别是执行循环体的次数循环的区别是执
26、行循环体的次数能否预先确定能否预先确定l如果如果expression的值为空数组,则的值为空数组,则matlab认认为表达式值为假,而不执行循环体为表达式值为假,而不执行循环体while expression (commands)endtel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.3 matlab程序控制流程序控制流3.3.3 ifelseend分支结构分支结构f格式:格式:一种选择一种选择两种选择两种选择多种选择多种选择f说明说明表达式有时由多个逻辑子表达式组成,表达式有时由多个逻辑子表达式组成,m
27、atlab将尽可能少地检测这些子表达式的值将尽可能少地检测这些子表达式的值if指令判决和指令判决和break指令的配合使用,可以强制指令的配合使用,可以强制终止终止for循环和循环和while循环循环if expression (commands)endif expression (commands)else (commands)endif expression1 (commands)elseif expression2 (commands)else (commands)endtel:63292873qq:641296082email:zuo_tel:63292873qq:641296082e
28、mail:zuo_3.3 matlab程序控制流程序控制流3.3.4 switch-case结构结构f格式:格式:f说明:说明:ex应为标量或字符串应为标量或字符串检测值检测值testk类型可以是标量或类型可以是标量或字符串,也可以是元胞数组字符串,也可以是元胞数组与与c语言不同,在执行完每个语言不同,在执行完每个case块后,块后,matlab会自动跳会自动跳出出switch结构,无需使用结构,无需使用break指令指令switch ex case test1 (commands) case test2 case testk (commands) otherwise (commands)en
29、dtel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.3 matlab程序控制流程序控制流3.3.5 try-catch结构结构f格式格式f说明:说明:只有当执行命令组只有当执行命令组1出现错误后,出现错误后,命令组命令组2才会被执行才会被执行可调用可调用lasterr函数查询出错原因函数查询出错原因如果如果lasterr的运行结果是一个空的运行结果是一个空串,则表明命令组串,则表明命令组1被成功执行被成功执行当执行命令组当执行命令组2时又出错,时又出错,matlab将终止该结构将终止该结构try (com
30、mands1)catch (commands2)endtel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.3 matlab程序控制流程序控制流3.3.6 其它常用指令其它常用指令f1.return:强制结束执行函数并把控制转出:强制结束执行函数并把控制转出f2.input:将控制权:将控制权“暂时暂时”交给用户交给用户v=input(message):将用户键入内容赋给:将用户键入内容赋给vv=input(message,s):将用户键入内容作为字符串赋给:将用户键入内容作为字符串赋给vf3.keyboar
31、d:将控制权交给键盘:将控制权交给键盘用户可以输入各种合法指令用户可以输入各种合法指令用户输入用户输入return指令后控制权交还给程序指令后控制权交还给程序f4.v=yesinput(prompt,default,possib)f5.pause:暂停执行文件,等待用户按任意键继续:暂停执行文件,等待用户按任意键继续f6.break:使包含该指令的:使包含该指令的while、for循环终止循环终止f7.continue:结束当前循环,开始下一次循环:结束当前循环,开始下一次循环f8.error和和warning指令:指令:error(message):显示出错信息,终止程序:显示出错信息,终止
32、程序warning(message):显示警告信息,程序继续运行:显示警告信息,程序继续运行errortrap:错误发生后,程序继续执行与否的双位开关:错误发生后,程序继续执行与否的双位开关tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.1 输入输出参数检测输入输出参数检测f检测指令:检测指令:nargin:在函数体内,用于获取实际输入参数数目:在函数体内,用于获取实际输入参数数目nargout:在函数体内,用于获取实际输出参数数目:在函数体内,用于获取实
33、际输出参数数目nargin(fun):获取:获取fun指定函数的标称输入参数数目指定函数的标称输入参数数目nargin(fun):获取:获取fun指定函数的标称输出参数数目指定函数的标称输出参数数目inputname(n):在函数体内使用,给出第:在函数体内使用,给出第n个输入参数个输入参数的实际调用变量名的实际调用变量名f说明:说明:在函数体内使用在函数体内使用nargin、nargout的目的是与程序流控制的目的是与程序流控制指令配合,对于不同数目的输入输出参数,函数可以完成指令配合,对于不同数目的输入输出参数,函数可以完成不同的任务不同的任务nargin、nargout、inputnam
34、e本身都是函数,而不是本身都是函数,而不是变量,因此用户不能使用赋值指令对它们进行处理变量,因此用户不能使用赋值指令对它们进行处理tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.2 变长度输入输出参数变长度输入输出参数f格式格式fvarargin:变长度输入参数列表:变长度输入参数列表fvarargout:变长度输出参数列表:变长度输出参数列表f变长度参数必须放在普通参数之后变长度参数必须放在普通参数之后fvarargin、varargout本身都是元胞数
35、组,编写本身都是元胞数组,编写m函数文件时,它们每个元胞应当作一个普通输入参函数文件时,它们每个元胞应当作一个普通输入参数处理数处理fm函数文件被调用时,函数输入变量首先依先后次函数文件被调用时,函数输入变量首先依先后次序逐个对应分配给输入参数列表中那些被明确定义序逐个对应分配给输入参数列表中那些被明确定义的普通输入参数,然后把剩余的输入变量依次逐个的普通输入参数,然后把剩余的输入变量依次逐个分配到分配到varargin元胞数组的元胞中,因此元胞数组的元胞中,因此varargin元胞数组的长度取决于分配到的输入变量元胞数组的长度取决于分配到的输入变量数数fvarargout的工作机理、规则与的
36、工作机理、规则与varargin相同相同function outputs,varargout=funname(inputs,varargin)tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.3 跨空间变量传递跨空间变量传递f跨空间计算串表达式的值跨空间计算串表达式的值evalin(ws,ex):跨空间计算串表达式值:跨空间计算串表达式值lws可取两个值:可取两个值:base和和callerl当当ws取取base时,从基本工作空间获得变量值时,从基本工作空间
37、获得变量值l当当ws取取caller时,从主调函数工作空间获得变量值时,从主调函数工作空间获得变量值evalin(ws,ex1,ex2):跨空间计算替代串表达式值:跨空间计算替代串表达式值l先从所在函数空间获取变量值,用先从所在函数空间获取变量值,用eval(exp1)计算原串计算原串表达式;若该计算失败,再从表达式;若该计算失败,再从ws指定的工作空间获取指定的工作空间获取变量值,再通过变量值,再通过eval(ex2)计算替代串表达式计算替代串表达式f跨空间赋值跨空间赋值assign(ws,vn,x):跨空间向变量:跨空间向变量vn赋值赋值tel:63292873qq:641296082em
38、ail:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.4 主函数和子函数主函数和子函数f主函数和子函数的定义:主函数和子函数的定义:matlab允许一个允许一个m函数文件包含多个函数代码,其中函数文件包含多个函数代码,其中第一个出现的函数称为主函数,该文件中的其他函数称为第一个出现的函数称为主函数,该文件中的其他函数称为子函数。子函数。保存时所用函数文件名与主函数文件名相同。保存时所用函数文件名与主函数文件名相同。外部程序只能对主函数进行调用外部程序只能对主函数进行调用f子函数的性质子函数的性质在在m函数文件中,
39、主函数的位置不可改变,但子函数的排函数文件中,主函数的位置不可改变,但子函数的排列次序可以任意改变列次序可以任意改变子函数只能被处于同一文件的主函数或其他子函数调用子函数只能被处于同一文件的主函数或其他子函数调用在在m函数文件中,子函数的优先级仅次于内建函数函数文件中,子函数的优先级仅次于内建函数同一文件的主函数、子函数的工作空间彼此独立同一文件的主函数、子函数的工作空间彼此独立help、lookfor等指令都不能直接提供关于子函数的任何等指令都不能直接提供关于子函数的任何帮助信息帮助信息子函数的帮助操作:子函数的帮助操作:help primefun/subfuntel:63292873qq:
40、641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.5 私有函数与重载函数私有函数与重载函数tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.6 串演算函数串演算函数tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.7
41、 函数句柄函数句柄f函数句柄的创建和观察函数句柄的创建和观察函数句柄创建:函数句柄创建:n利用利用符号,或利用转换函数符号,或利用转换函数str2funcn被创建句柄的函数文件必须在当前视野范围内被创建句柄的函数文件必须在当前视野范围内n如果函数不在当前视野内,所创建的函数句柄无效如果函数不在当前视野内,所创建的函数句柄无效n此时此时matlab既不会发布既不会发布“出错出错”信息,也不会警信息,也不会警告告n定义函数句柄时,所指定的函数名不应包括路径信息定义函数句柄时,所指定的函数名不应包括路径信息,也不应该包括扩展名,也不应该包括扩展名函数句柄内涵观察:函数句柄内涵观察:functions
42、functions函数只能接受(函数只能接受(11)函数句柄数组)函数句柄数组,并返回一个单构架,包含若干个域,以记录函,并返回一个单构架,包含若干个域,以记录函数的各种信息数的各种信息tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法f函数句柄的用法函数句柄的用法通过函数句柄执行相应函数的计算通过函数句柄执行相应函数的计算无效函数句柄无效函数句柄tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082em
43、ail:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.8 嵌套函数嵌套函数f在函数体内部定义的函数,包含在函数体内部定义的函数,包含m文件的基本元素,以文件的基本元素,以end表表示结束示结束f可以在一个函数内部定义多个嵌套函数,也可以使用多重嵌套可以在一个函数内部定义多个嵌套函数,也可以使用多重嵌套f函数可以调用自己函数体中的嵌套函数,但不能调用嵌套函数函数可以调用自己函数体中的嵌套函数,但不能调用嵌套函数内部更深层次的嵌套函数内部更深层次的嵌套函数f同级函数可以相互调用,也可以调用比自己低一级的嵌套函数同级函数可以相互调用,也可以调用比自己低一级的嵌套函数f嵌套函数拥有自己的
44、工作空间,但是它有权限访问其所嵌套地嵌套函数拥有自己的工作空间,但是它有权限访问其所嵌套地方的所有函数的工作空间方的所有函数的工作空间f被主函数赋值的变量可以被主函数中任意一个嵌套函数访问,被主函数赋值的变量可以被主函数中任意一个嵌套函数访问,嵌套函数的变量值也可以被任何包含它的函数访问嵌套函数的变量值也可以被任何包含它的函数访问f由嵌套函数返回的变量不包含在外部函数中由嵌套函数返回的变量不包含在外部函数中f使用函数句柄可以使得在函数的作用域之外也可以访问这个函使用函数句柄可以使得在函数的作用域之外也可以访问这个函数,但是函数的句柄必须在函数作用域内被创建数,但是函数的句柄必须在函数作用域内被
45、创建f嵌套函数在同一个嵌套函数在同一个m文件中与其他函数共享非全局变量文件中与其他函数共享非全局变量tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.9 内联函数与匿名函数内联函数与匿名函数tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_3.4 函数类型与使用方法函数类型与使用方法3.4.10 函数使用方法函数使用方法tel:63292873qq:641296082ema
46、il:zuo_tel:63292873qq:641296082email:zuo_3.5 数据数据i/o与文件操作与文件操作2.3.3 元胞数组内容的调取元胞数组内容的调取f调取一个元胞:使用圆括号,得到元调取一个元胞:使用圆括号,得到元胞胞f调取一个元胞的内容:使用大括号调取一个元胞的内容:使用大括号f调取元胞内的子数组调取元胞内的子数组f同时调取多个元胞内容:同时调取多个元胞内容:dealtel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_2.3 元胞数组及其运算元胞数组及其运算2.3.4 元胞数组与其它类
47、型的转换元胞数组与其它类型的转换f把数值数组转换为元胞数组把数值数组转换为元胞数组c=num2cell(a,dimn)把把dimn指定指定“维号维号”方向的数组元素存为方向的数组元素存为c的一个元胞的一个元胞dimn缺省时,默认数组每个元素各存为缺省时,默认数组每个元素各存为c的一个元胞的一个元胞f把矩阵分解成元胞数组把矩阵分解成元胞数组c=mat2cell(b,m,n)把矩阵把矩阵b转换为元胞数组转换为元胞数组cm、n的元素数分别决定的元素数分别决定c的行数和列数的行数和列数m、n的元素值分别决定的元素值分别决定c中相应位置元胞的行列大小中相应位置元胞的行列大小f把元胞数组转换为矩阵把元胞数
48、组转换为矩阵d=cell2mat(c)进行转换时元胞中的内容要合适进行转换时元胞中的内容要合适tel:63292873qq:641296082email:zuo_tel:63292873qq:641296082email:zuo_2.4 构架数组及其运算构架数组及其运算2.4.1 构架数组的创建和显示构架数组的创建和显示f直接创建法及显示直接创建法及显示创建方式:构架名创建方式:构架名.域名域名.子域名子域名显示方法:构架名显示方法:构架名.域名域名.子域名子域名f利用构造函数创建构架数组利用构造函数创建构架数组构造函数构造函数structstruct不能直接创建带子域的构架数组不能直接创建带子域的构架数组子域需要另行创建子域需要另行创建te
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 液化气生产运行中的防静电措施培训
- 二年级科学第三单元声音传播综合应用题拔高训练卷分层达标版
- 大型辊磨机磨盘衬板安装楔铁安装施工工法
- 2026存量博弈时代水质稳定剂商业模式从产品销售向水务托管转型深度研究报告
- 2026事业单位工勤技能-广东-广东中式烹调师二级(技师)历年参考题库含答案详解
- 2026事业单位工勤技能-山西-山西信号工-机车信号设备维修四级(中级工)历年参考题库含答案详解
- 2026事业单位工勤技能-安徽-安徽工程测量员三级(高级工)历年参考题库含答案详解
- 2026事业单位工勤技能-宁夏-宁夏房管员五级(初级工)历年参考题库含答案详解
- 催化剂活性与比表面积的比值极限
- 2026事业单位工勤技能-四川-四川环境监测工一级(高级技师)历年参考题库含答案详解
- 2027年中考英语【阅读理解】满分答题技巧
- 贵州省粮食储备集团有限公司招聘考试真题
- 部编版新教材道德与法治五年级上册第2课《探索中国革命道路》教学设计
- 四年级上数学学困生转化计划
- 2026国企中层干部竞岗笔试真题题库及标准答案(竞聘专用完整版)
- 苏轼自题金山画像 课件
- 2026小学教资教育科学研究方法课件
- (2026年)纪念红军长征胜利90周年主题班会-爱我中华 长征启新程课件
- 中医基础理论全套课件415P-课件
- 2026年农村房屋买卖合同模板
- 八年级生物下册生物的遗传教学教案苏科版(2025-2026学年)
评论
0/150
提交评论