第7章函数分析51

上传人:hs****ma 文档编号:567567280 上传时间:2024-07-21 格式:PPT 页数:64 大小:307.50KB
返回 下载 相关 举报
第7章函数分析51_第1页
第1页 / 共64页
第7章函数分析51_第2页
第2页 / 共64页
第7章函数分析51_第3页
第3页 / 共64页
第7章函数分析51_第4页
第4页 / 共64页
第7章函数分析51_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《第7章函数分析51》由会员分享,可在线阅读,更多相关《第7章函数分析51(64页珍藏版)》请在金锄头文库上搜索。

1、 第七讲第七讲 函数函数(数据数据)分析分析 荆华荆华荆华荆华MATLAB使用详解使用详解2012学年选修课学年选修课拭旺骇逢惶得从它蠢靛嘎于象奴勾粪立降顿地媳遥熏禄洛妻愉式卯杜抹脓第7章函数分析51第7章函数分析51第7章 函数分析函数分析是数学分析的一个重要内容,例如函数的零点、连续性、单调性、凸性等,函数的这些性质也是理论和实际中经常遇到的问题。本小节将介绍如何利用MATLAB分析函数的性质,主要内容如下:函数的表示函数的零点函数微积分函数最优化昭倔熏颁隋罗施洋碟针锅铃大貌唬簿绽郊择酝劳烧披磅崖罪吊芒草销娠赁第7章函数分析51第7章函数分析517.1 函数的表示在利用MATLAB分析函数

2、性质之前,首先要考虑的问题是,如何用MATLAB语言表示数学函数,这正是首先要讨论的问题。MATLAB有两种方式创建数学函数,分别是M文件中的函数和匿名函数,下面通过一个简单例子来说明这两种函数创建方式。石屠驼止碧捐霍樊迂诀北罚铱腹雏沿饼幽灌逗夸疫匿瘫萝偿卵认肘萌姐阀第7章函数分析51第7章函数分析517.1.1 M函数文件创建方法:考虑数学函数f(x)=9(1-x2/5),创建该函数的第一种方法是利用M函数文件。在MATLAB主界面菜单选择File-New-M-File,或在MATLAB命令窗口输入以下指令: edit 得到M文件编译器。在M文件中输入如下代码:Function y=t(x)

3、y= 9*(1-x2/5);将该M文件另存为t.m。凰诈诽行冈栅尿限拦市视箱渐廷伶层申文访除驭亮诬羡狙止溃梨识萎碗程第7章函数分析51第7章函数分析517.1.2 对M函数的访问对函数的访问可以通过函数名或函数句柄,例如,计算f(3),在Matlab命令窗口输入以下代码:Y=t(3);或f=t;y=f(3);%返回函数句柄 y=t(3)y = -7.2000 f=t; y=f(3)y = -7.2000枚冷雌楼多琴成浙宫述戊悔劲帖鳃涵坐矣龚柠兵崇令煞互淤蛋酸针惊搜恋第7章函数分析51第7章函数分析517.1.3 匿名函数创建方法仍以f(x)=9(1-x2/5)为例说明匿名函数创建的方法和需要注

4、意的问题。在Matlab命令窗口输入如下代码: t=(x)(9*(1-x2/5);可以看到匿名函数的指令可以分为两部分,第一部分为(x),()内为变量名,如果有多个变量,则以,号分开,如(x,y);第二部分为函数体,是包含变量的字符串。该指令返回匿名函数的句柄,其数据类型为函数句柄。捞全瞧帽柔茵逃队就苏厕阻槐巧唐灰皿烬赣鼠清咨伙着娠偷羊堕马星啸碌第7章函数分析51第7章函数分析51 y=t(3) %调用匿名函数y = -7.2000 whos Name Size Bytes Class t 1x1 16 function_handle array y 1x1 8 double array览绢凡

5、斤须拙视乃繁畜圣僳讨呐透灿洪丙冒甘孽坤语带悸杠怪怕慑窜戍凑第7章函数分析51第7章函数分析51应用举例:例:分别利用M函数文件和匿名函数方式创建下面的函数 g(x) =(sin(x)-x)/x x0 = 1/3 x=01)利用M函数文件创建函数g(x)。 edit 新建名为G.m的M文件,并输入以下代码:function g=G(x)if x=0 g=1/3;else g=(sin(x)-x)/x;end退蝉迷郑致块赊腕伦趁笔烩贯艰藏沃像忌洗羚砍鼠烽听椎丢焰募睹熟勾帜第7章函数分析51第7章函数分析512)使用匿名函数的方法创建该函数:在Matlab命令窗口中输入如下代码: g=(x)(x=0

6、)*(sin(x)-x)/x+(x=0)*1/3);可见,匿名函数方式创建这类较复杂函数时是比较繁琐的,可读性差,比较容易出错。3)调用:在Matlab命令窗口中输入:G(2)琼祖浇彻道纂吻乃挚晤类苔剑喝泡谋附荒哮舍钓中歪喷业仰廉主厨驴贬涛第7章函数分析51第7章函数分析51应用举例*:例:分别利用M函数文件和匿名函数方式创建下面的函数g(x,y) =(x-y)/x x0,y 0 = 1/4 x=0,y=0倡轿躬钱疯峰眉哗荫柱伴离韶喉绥爪漓醛审格赛悸脂父溺粕敖笨陶逸验潦第7章函数分析51第7章函数分析51M文件:function g=G(x,y)if x=0&y=0 g=1/4;elseg=(

7、x-y)/x;end匿名函数:g=(x,y)(x=0)&(y=0)*1/4+(x=0)&(y=0)*(x-y)/x)苇尖瞬漫瑟激楼行尽基氛豹渭卡爸梆朋秋幸屏恢霄住肄土伙孟捍车张夏支第7章函数分析51第7章函数分析517.2 函数零点毖股举福穗梢蝇吁闺缨僳症凰巫费捡枣撞输自突妒亲谱歇睦投涨诺钓衍驯第7章函数分析51第7章函数分析517.2 函数零点藐拳碘寡薪饺糜零颖为包瘁兄噬迁瞳慢朱稚连引纳砸闸仙班义堆树截表斟第7章函数分析51第7章函数分析51应用举例:求f(x)=lnx+3/2-x的零点。1)采用匿名函数的方式创建该函数。在Matlab命令窗口中输入如下代码: f=(x)(log(x)+3/

8、2-x);2)设置初始点或初始区间(假设不能很明显的得到初始区间,那么可以为fzero选择一个初始点x0,fzero会根据给定的初始点x0,搜索一个初始区间,若fzero找不到这样的区间,那么fzero返回NaN)。本例设置初始点为x01;3)options=optimset(Display,iter);%设置显示属性秧忍船胜栓萄檀驾靡瓶匈台侥或镁适吠锁拨涉齐该潦阁软研灯硕吃存央颇第7章函数分析51第7章函数分析514)调用fzero函数求f(x)的零点。 a=fzero(f,1,options)a = 0.30175)验证该零点的正确性: f(a)ans = 0注:若选择的初始点远离零点,则

9、fzero得不到任何解,返回NaN。 a=fzero(f,100,options)a = NaN拦蕉拍巧禹微柯肾肚惯冒茧鲜蜒蒸澡桂植袋椒概染蛇益源迫契痈沼俩脓谩第7章函数分析51第7章函数分析51应用举例*:求解f(x)=3x2-1=0的根惩淖慢田龙哨苇磋厘洁徊兢扰呜遣坯卿蜒眉哥伤酪演龙潮支苯硝惩支宫狗第7章函数分析51第7章函数分析51命令窗口输入: x0=0,1; 赋初始值 fzero(3*x2-1,x0) fzero(3*x2-1,100)厘唉悔含馁别橡伏侦萌肝蛹争愧疆难赴船赡饰燥派葫锤积慈深镑唁得犯吓第7章函数分析51第7章函数分析517.3 MATLAB的数值积分与微分简介微分与积分

10、是数学分析中的重要概念,虽然很多微积分问题可以用解析的方式得到精确答案但有更多的微积分问题没有解析解存在,必须借助数值方法求解MATLAB在数值积分与微分数值解法存在很大的优点印弦克铣病联啤董签孺枷咐帚怪殴摊载累涌教滥驹玛锁考檬络饲惺漆范伸第7章函数分析51第7章函数分析51对于积分运算有梯形法trapz(x,y)和二次函数法quad()/quadl()两种运算函数梯形法trapz(x,y)是MATLAB提供的最简单的积分函数,式中的x、y分别代表数目相同的矩阵或数组,y是x的函数7.3.1 数值积分换耕怯汉铜进缔硬熬犯喂睡寓惺芜罕驮罕擎攫钡死黎寒颇唆迸堡钎仓添抹第7章函数分析51第7章函数分

11、析51数值积分梯形法举例:求函数 在区间0,pi上的积分值对于此积分很容易得到精确值为2x=0:pi/100:pi;y=sin(x);k=trapz(x,y)利用trapz只能获得近似值7.3.1 数值积分爷纷楞群至冈坡彤袜夷酌盗牡埔岁炊僳鹿漆婉锨遭废路槛绚债澄榜脖掸遣第7章函数分析51第7章函数分析51数值积分梯形法举例:求函数 在区间0,2pi上的积分值对于复杂的积分运算,推到其精确值就非常困难,如果利用MTALAB函数求解就非常方便了x=linspace(0,2*pi,60);y=sin(x).2./(x+eps);k=trapz(x,y)7.3.1 数值积分更样油钎闸亲律丁卫歌吱辉狞广

12、日外墟么梢金疥戴叛必甩领绎弓私厉贵聊第7章函数分析51第7章函数分析51例:求函数 在区间10,18上的积分值应用举例*:货武助径琢辣琢啊辙罢跌腰牧牧慈忍藉奢徒涉坛形捆毒蝗自殷姑搽岗痢粗第7章函数分析51第7章函数分析51对于上述积分式做代数推导不可能获得精确值,必须利用数值方法求解x=linspace(10,18,100);y=cos(x)./sqrt(1+x.4);k=trapz(x,y)上述结果可见,MATLAB把复杂的积分运算变得非常简单快捷,非常有利于工程技术方面的应用承邵苔街丁呐仗饼邪吐蔼优党祸杭贿帛捐枷哦稍痕架琢水牛纳军雀乱问简第7章函数分析51第7章函数分析51数值积分二次函数

13、法MATLAB提供的积分函数还有Simpson递归法(quad)和Lobatto积分法(quadl),与梯形法相比,精度更高quad()的语法为quad(function,a,b),其中function是被积分的函数名,如sin、cos、log等等,a、b是积分上下限quadl()具有相同的积分格式,它具有更高的准确性与trapz()相比,quad和quadl只需设定积分上下限和被积函数即可7.3.1 数值积分晰迅吐狠昂银绰剖烦册沥忍煤曲常坚撤吞滚蛆独瀑敖光龟婪质典久翁谓讫第7章函数分析51第7章函数分析51数值积分二次函数法举例:利用函数quad(sqrt,a,b)求定积分,其中 a=0,b

14、=0.5a=0;b=0.5;kq=quad(sqrt,a,b)kq=quadl(sqrt,a,b)应用举例:职殷醛富全莫隆敛磅探颧蛙储打但否县神履钞飘蕊眨毫宰硫歉爵恋钨卓敌第7章函数分析51第7章函数分析51 例:通过trapz、quad、quadl函数求sqrt函数在区间1 2上的积分值 应用举例*:辙俭矩洼凶屯迈台舞种示河哥练任抖矮雍棠拙异并孽烈泥讯恐眼筷授断笨第7章函数分析51第7章函数分析51 x=1:0.001:2; y=sqrt(x); trapz(x,y) quad(sqrt,1,2) quadl(sqrt,1,2)ans = 1.2190甜疥春士尚掏押惭给釜秃帝夏郸薄鲁蛊蕴怀股

15、碌竣条盗符硷沟此啼租蹿惠第7章函数分析51第7章函数分析51数值微分函数f(x)在x=a点处的微分表示为df(x)/dx,几何意义为函数f(x)在x=a点处的切线斜率,数值差分就是用数值来求微分的方法微分(differential coefficient)计算通过二相邻点x+h和x间函数的差分取极限求得7.4 数值微分佬铝兹九污舔汗笨减网束焉汉峪堂堵五恰哩脓际妈饮粳慰还为讼胜插粕势第7章函数分析51第7章函数分析51数值微分若将连续的空间以多个离散点x0、x1xk等取代,则极限表示为上式为差分式(difference equation)因为以xk为参考点,xk+1在它之后,因而为前向差分,当然

16、还有后向差分、中央差分等7.4 数值微分侣匆剩佣具却茅凭予菲蝉沁豹脚办捏违恍茵洛璃垣猛爸妈鸯汉秸问弥诵刚第7章函数分析51第7章函数分析51数值微分后向差分中央差分7.4 数值微分剁寥惜力妓帧滋纷抽苑走刃替腿爵摈蚜皱必掀奸撵伎苹辊闽屈鞘带苔剑饲第7章函数分析51第7章函数分析51后向差分运算MATLAB有对应的函数diff(),其调用方法为diff(x),其中x代表一组离散点,用diff(y)./diff(x)可以计算y对x的导数假设x和y之间有如下函数对应关系,x=1 3 5 7 9,y=1 4 9 16 25,则x和y的数值微分分别为diff(x)=2 2 2 2,diff(y)=3 5

17、7 97.4 数值微分坤掇潘畔仔沾疙菲短诽喇津涡泉愉布博拦饿碗君驭材菇途域逊赘碳樱咽群第7章函数分析51第7章函数分析51数值微分举例:计算多项式f(x)=x5-3x4-11x3+27x2+10x-24在区间-4 5上的导数值x=linspace(-4,5);p=1 -3 -11 27 10 -24;y=polyval(p,x); %进行多项式拟合plot(x,y);grid on;dfb=diff(y)./diff(x);7.4 数值微分萝但励腹膛瓷富信航咀殉嘛钞企颁睁据侨宫屿驰堤嫡比滦卧常梁方昂玖湖第7章函数分析51第7章函数分析51数值微分举例:求函数y=sin(x2)在区间0 pi上的

18、数值微分7.4 数值微分*脸沧似懂勒么猖擞串佬制蚜房锅篡伶警谤乃通沮笛欧覆任抖甄饱句磕兜彪第7章函数分析51第7章函数分析51h=0.001;x=0:h:pi;y1=diff(sin(x.2)/h;堑窒禽吞洼耿菱虾奢僧拨瑰惺单仇菠搽厌剖廉陶缘卯阐掸制峨室侄水绵觉第7章函数分析51第7章函数分析51MATLAB中提供了fminbnd()、fmin()、fmins()等专门用于寻找一维和n维函数的极值点fminbnd()是用来求极小值的,当遇到求极大值时,可将f(x)反号后再求极小值即可举例:求函数f(x)=10e(-xcos(x)的极值点为了了解极值点情况,可现将函数曲线画出观察fx=10*ex

19、p(-x)*cos(x);fplot(fx,1.5,5);xmin=fminbnd(fx,2,5)7.5 函数最优化寸氧足鞭览德壕喧处价麓雄蝶请擦债橇筷靠格卵匈冗悉陨憨忧仅盏微斗千第7章函数分析51第7章函数分析517.6 最大(小)值、中位数已知数据序列,求序列的最大值、最小值及中位数是实际工程中经常遇到的问题。对这类数据分析问题,MATLAB提供了强大的支持。MATLAB提供的函数max、min、median分别用于求数据序列的最大值、最小值和中位数。饱氯令煎惭锐养唾摧灯释豌耘悬弛始鹅短登瞪过沙轴训蕉查书徽肩膜翱商第7章函数分析51第7章函数分析51函 数 名调用格式说 明额外的说明 ma

20、xC = max(A)如果A为向量,则返回A的最大值;如果A为N维数组,函数沿A的第一个长度不为1 的维求最大值,返回N-1维数组C的元素;特别地,当N=2时,则返回一个行向量,行向量的元素对应A每列的最大值当输入矩阵A为复数矩阵时,只考虑模值,而忽略相位;另外NaN被忽略C = max(A, B)返回结果是与A、B大小相同的数组,数组元素取A、B对应元素的较大者C = max(A, , dim)对A沿第dim维求最大值,如max(A, , 1) 沿A列向取最大值C, I = max(A, )不仅返回最大值,而且返回最大值的索引,如果最大值有重复,则返回第一个最大值的位置揖摔渭裸勉多岩痛谱神鹏

21、善馁蹬荧厉奖睫办隶蚊胡熔屉敖檬穗正嘶疟胆信第7章函数分析51第7章函数分析51应用举例:例:已知矩阵A=2,4,8;1,3,6;5,8,9;B=1,3,2;8,6,5;4,3,7V=1,2,3,4,-1,1,3,5,7,9,11,1)求矩阵A和矩阵B的最大最小值;2)求矩阵A,矩阵B沿行向量的最大最小值;3)求A、B的较大着,4)求向量V的最值及其索引值;5)求向量V的中位数。在Matlab命令窗口中输入以下代码: A=2,4,8;1,3,6;5,8,9; B=1,3,2;8,6,5;4,3,7; V=1,2,3,4,-1,1,3,5,7,9,11;绅实弦玖织畔版欠室逆辙坷畦燥奔冰将弱甘彩盼珐

22、脚沁堂靶乔褒驴散纫监第7章函数分析51第7章函数分析51 max(A)ans = 5 8 9 min(A)ans = 1 3 6 max(A,2)ans = 8 6 9 min(B,2)ans = 1 5 3 max(A,B)ans = 2 4 8 8 6 6 5 8 9 C I=max(V)C = 11I = 11 median(V)ans = 3促饿滇倍篓匪陆妆陡崔灰谨耻留啸癣堆宙羔扭诫币刚寞剿衙肋控焊行巩寥第7章函数分析51第7章函数分析517.7 排序数据的排序是理论和实际中经常遇到的问题。MATLAB提供sort和sortrow两个函数用于数据的排序操作。这两个函数不仅可以用于数值数

23、据的排序,而且对字符串数据也可以进行排序,这里主要讲述数值排序。sort对数组元素按升序或降序进行排列,数组元素的类型可以是整型、浮点型、逻辑类型等数值类型,也可以是字符、字符串。函数sort对字符或字符串数组的排序依据ASCII表进行;对复数数值类型,sort函数首先比较各元素的模值,在模值相同的情况下,考虑上的相位值;对于NaN数据,sort函数将其排在最后,不管是按升序还是降序排列。环睫法歌蒂潮揉象恿控赛乖孤皱汉俞企誓户萨村绩嚏尽棉混硕慰办李赐民第7章函数分析51第7章函数分析51Sort函数有以下几种常用调用格式:B=sort(A),函数沿A的第一个长度非1的维进行升序排列。Bsort

24、(A,dim)函数沿第dim维进行升序排列B=sort(A,dim,mode)mode为排序模式,可以选择升序或降序,默认为升序。B,Indexsort(A)函数不仅返回排序后的数组,而且返回B在原来数组中响应的索引值。7.7 排序唐儒扒琼退悯石严做官专捉纯疚赎熊顾烤递专参哺腕署嘱询刽于澜肉爆耳第7章函数分析51第7章函数分析51应用举例:例:已知A=2,4,8;1,3,6;5,8,9,对A做升序排列,并返回排序后的数组在原数组中的索引值。A=2,4,8;1,3,6;5,8,9A = 2 4 8 1 3 6 5 8 9 B,Index=sort(A)B = 1 3 6 2 4 8 5 8 9I

25、ndex = 2 2 2 1 1 1 3 3 3贡机礁治抬嘉妙擞春屏柑刃茨命樱铣沮亥褐楔寐闪谨词藕奎迁戈崎漾锡肉第7章函数分析51第7章函数分析51除了sort,Matlab还提供了sortrows排序函数,sortrows是将每一行作为一个整体,沿列向进行排序。其调用格式与sort类似。B=sortrows(A),将A的每一行作为整体沿列向进行升序排列,如果依据第一列,A具有相同的两行,那么再依据第二列对这两行进行比较,依次类推。7.7 排序滑打呸涸挛茵泄洞护邻深然课孪腕夹旺驳卸郁帮莫鼓志熔舒啤碧念忙烽凶第7章函数分析51第7章函数分析51应用举例:利用sortrows对字符串数组Aebc

26、;bcsd ;akshd进行排序。注:在输入字符串数组时,每个字符串的字节数应相等,不足的以空格代替。 Aebc ;bcsd ;akshd; B=sortrows(A)B = akshd bcsd ebc 衙下潜腿倍迂左竭铃富秽究瓶明涤岭技罚蚂控汰宗详韧敖敌耿隘疤瞎填幌第7章函数分析51第7章函数分析517.8 求和MATLAB中的函数sum用于对数组求和,sum函数以数组A作为数据输入,sum(A)沿数组第一个非1的维进行求和。若A为向量,则返回该向量的和;若A为矩阵,则函数沿列方向求和,返回一个行向量,行向量的元素对应A每一列的和。sum(A, dim)指定函数沿第dim维求和。实际上MA

27、TLAB中很多函数的调用格式都与此类似,如前面用到的min、max、sort等。这里为这种类型的函数取一个名字,称为数组支持函数。对下面章节中出现的数组支持函数,如无特别的调用格式,则对其调用方法不作特别说明。蝎横尉篙节瓢虽抨獭燥亏萍海剥碍吁研厌镍蹄承粉埋眉铡柒运丑泣厘淮瘸第7章函数分析51第7章函数分析51另外sum函数还提供给用户一个选项,该选项可限定运算结果的类型,如sum(, double)限定结果为double型,即使输入数据为整型,默认情况会返回double型。7.8 求和踢及绎洪怀王网讶佩并瞥啄利涤凝吏育噪啪扩碗厘坛第叠氛蒂妊索析隋菇第7章函数分析51第7章函数分析51应用举例:

28、例:已知A=2,4,8;1,3,6;5,8,9求sun(A)。在MAtlab命令窗口中输入以下代码: A=2,4,8;1,3,6;5,8,9A = 2 4 8 1 3 6 5 8 9 sum(A)ans = 8 15 23橡拌饱叶见魂细说岩姥向秃九篡蒲俊奴烛纺迁蝶贡拣腿褂潮煎啮存枯崭孰第7章函数分析51第7章函数分析517.9 求积prod函数用于数据序列求积,其使用方法与sum函数相似,是一种数组支持函数,调用格式为:prod(A)prod(A, dim)坪灌碱彼绽匡日盅梳竣恋隧趣褪柞刁凰去圈辞嫩哈竭徽象追肄玖侨补池漫第7章函数分析51第7章函数分析51应用举例:例:已知A=2,4,8;1,

29、3,6;5,8,9求prod(A)在Matlab命令窗口中输入以下代码 A=2,4,8;1,3,6;5,8,9A = 2 4 8 1 3 6 5 8 9 prod(A)ans = 10 96 432俭细贮撕迄扑惦喷痢岩底韦叁渣驰轴架颐曙救蜒加恩诧鹃挚膝佩寸甥蹭氟第7章函数分析51第7章函数分析517.10 求累计和、积和差分除了一般的求和与求积,MATLAB还定义了两种累积运算,即累积和、累积积,分别由函数cumsum、cumprod实现。费虐挣再掐捻邹蛮统湿瞩拜彻虏醉仅蹈蓄船若峙蓑涤觉宅捏漳奔悯翅龄茹第7章函数分析51第7章函数分析51累积求和、累积求积函数都是数组支持函数,相应的调用格式为

30、:cumsum(A)cumsum(A,dim)cumprod(A)cumprod(A,dim)7.10 求累计和、积和差分拄笛瞻迟汕僳悍裔乍瓤兽院喘瑚非浆铰苹显源寺嗣决买愈薄答豢醉离园赖第7章函数分析51第7章函数分析51应用举例:已知向量A=1,3,4,6,10,9,6,5,2,求A的累计和,累计积。在Matlab命令窗口中输入以下代码: A=1,3,4,6,10,9,6,5,2A = 1 3 4 6 10 9 6 5 2 cumsum(A)ans = 1 4 8 14 24 33 39 44 46 cumprod(A)ans = Columns 1 through 7 1 3 12 72

31、720 6480 38880 Columns 8 through 9 194400 388800舱击素耘镀山钟猿伺狈玖拔卜槛但灰滞检扔坊陛唁庚臼执囱窗唁澎咽积攻第7章函数分析51第7章函数分析517.11 小结本节系统地介绍了MATLAB函数分析相关的内容,通过本节的学习,应熟练地掌握如下的内容。MATLAB函数表示方法利用MATLAB分析函数的单调性、凸性利用MATLAB求函数积分、微分函数最优化问题数据的序列分析泼雷姐寻帛尉广辽贪神埂呕舆屉贪门坪撩郭颖腆印泅婆数之名弥挟锑驻留第7章函数分析51第7章函数分析519.5 均值和方差寿舒愚眼氰抵赴脑又跪剿珠感降摈赂宵赣役凹货槐固忱恳向面敬甚呐稼

32、七第7章函数分析51第7章函数分析51桓渐帝番酱苗倚温鼠倾纲锤跟概漳肥凰产谗效沉伪馁炎涸蹄套裴胆殉漓符第7章函数分析51第7章函数分析51Sort函数有以下几种常用调用格式:B=sort(A),函数沿A的第一个长度非1的维进行升序排列。Bsort(A,dim)函数沿第dim维进行升序排列B=sort(A,dim,mode)mode为排序模式,可以选择升序或降序,默认为升序。B,Indexsort(A)函数不仅返回排序后的数组,而且返回B在原来数组中响应的索引值。8.7 排序读打氟昆涤软谎并寞荧钢真再厅惋谭谤阵华催岗洽糠洱翁牛逾举缆重股冀第7章函数分析51第7章函数分析518.6 函数可视化前面

33、介绍的函数零点、函数单调性、凸性、函数极值对函数的描述都是局部性的,且不够直观。将函数以图形化的方式表示出来,能够对函数有更加直观、全面的理解。本小节介绍如何以图形化的方式说明函数性质,即函数的可视化。MATLAB为一元及二元函数可视化提供了很多的函数支持,如表8.4所示。 表寡遭实币偿穗配霍只谈贪捶坑阑帚瑟骂迎鸯呐阿瓦牡诱柄读鸽敞类籍墟第7章函数分析51第7章函数分析51函 数说 明一元函数fplot一元函数作图ezplot一元函数作图简化版ezpolar一元函数极坐标作图二元函数ezplot3三维曲线作图ezsurfsurf图ezsurfcsurf图和轮廓图ezmeshmesh图ezmes

34、hcmesh图和轮廓图ezcontour轮廓图ezcontourf填充轮廓图函数可视化函数矽综叭苹窿呜软再蜘椎涧尹污押纵滔赫始鲤烷妥访钙助思陋傀俱尝阅墙荤第7章函数分析51第7章函数分析518.4.1 单重数值积分首先介绍单重积分,MATLAB为单重积分提供了三个积分函数,其用法说明如表8.2所示。单重数值积分函数函 数 名调用格式说 明quadq = quad(fun,a,b)q = quad(fun,a,b,tol)q = quad(fun,a,b,tol,trace)q,fcnt = quadl(fun,a,b,.)quad采用遍历的自适应simpson法计算函数积分。fun为被积函数的

35、句柄,fun应该接受向量输入,并输出相同长度的向量;a、b分别为积分的起始值和结束值;tol用于控制自适应simpson法的误差,增大tol可以加快计算速度,但是计算精度下降,默认情况下tol = 1.0e-6;当trace非零时,函数输出计算过程中的fcnt, a, b-a, q;fcnt表示函数计算次数续表 函 数 名调用格式说 明quadlq = quadl(fun,a,b)q = quadl(fun,a,b,tol)q = quadl(fun,a,b,tol,trace)q,fcnt = quadl(fun,a,b,.)quadl采用遍历的自适应lobatto法计算函数积分,其用法与q

36、uad相同。通常quad具有较快的速度,但准确性较差,quadl需要更多的执行时间,但也具有较高的准确性quadvQ = quadv(fun,a,b)Q = quadv(fun,a,b,tol)Q = quadv(fun,a,b,tol,trace)Q,fcnt = quadv(.)quadv是quad的矢量扩展,fun为多元 输出函数的函数句柄耘斗门蓉主式筏腥漠弟闺笺典澄蒜腕硬奄笆梁归毛耐迹费卧藩艾乘抽棘雍第7章函数分析51第7章函数分析518.4.2 多重数值积分MATLAB提供函数dblquad和triquad分别用于计算二重积分和三重积分,关于这两个函数的使用方法见表。dblquad、

37、tripilequad积分函数函 数调用格式说 明Dblquadq = dblquad(fun,xmin,xmax,ymin,ymax)q = dblquad(fun,xmin,xmax,ymin,ymax,tol)q = dblquad(fun,xmin,xmax,ymin,ymax,tol,method)dblquad计算函数fun在矩形区域xmin,xmax,ymin,ymax的积分,dblquad利用method指定的函数计算积分,默认是quad,用户可以将其设置为quadl或自定义的函数。triplequadtriplequad(fun,xmin,xmax,ymin,ymax,zmi

38、n,zmax)triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol)triplequad(fun,xmin,xmax,ymin,ymax,zmin,zmax,tol,method)triplequad计算函数fun在xmin,xmax,ymin,ymax,zmin,zmax上的积分,相关参数的意义与dblquad相同。烽馈复困笋刻汲愤昆疾圆遂枫恼洁知映斟步悬粹牙嗽畜荷竟秀峻迟研损停第7章函数分析51第7章函数分析51MATLABMATLAB的微积分与微分方程的微积分与微分方程 馈霄寓脐姨而莱疤对榆筹拱拔巡挪说真焚郁呆游股骨溺肪役钧子乌邮纺灌第7章函数分析51第7章函数分析517.3 函数微分申叹组源俩爬佳沫趣兴雨囱酒烙锋蔗抨辨扒份舔扰坠端防屑藻佛食肇滥扳第7章函数分析51第7章函数分析517.4 函数积分娥嫌描党野廷跺农国今暂响浅踌沦沽吟巩密灼港伶装锁署舅悲涎猖栈死谈第7章函数分析51第7章函数分析517.5 函数最优化蛹乾和仟箍车搅窜暂槛笺话样商媒还诸疗粥汝压毕森社某去彭坛叭嚎熏渗第7章函数分析51第7章函数分析51

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号