- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学习matlab的吐血经验
经验之一:Matlab函数句柄、feval函数和inline函数的使用MATLAB函数句柄函数句柄(Function handle)是MATLAB的一种数据类型。包含了函数的路径、函数名、类型以及可能存在的重载方法;引入函数句柄是为了使feval及借助于它的泛函指令工作更可靠;使“函数调用”像“变量调用”一样方便灵活;提高函数调用速度,特别在反复调用情况下更显效率;提高软件重用性,扩大子函数和私用函数的可调用范围;迅速获得同名重载函数的位置、类型信息。--------------------------------------可以与变量一样方便地使用:比如说,在现在这个目录运行时,创建了本目录一个函数的句柄,当转到其他目录时,可以通过函数句柄直接调用上一个目录的函数,而不需要把那个函数文件复制过来,因为创建的函数句柄中已经包含了路径信息;提高函数调用速度:因为matlab对函数的调用每次都是要搜索所有的路径,从set path中可以看到,路径是非常的多的,所以如果一个函数在程序中需要经常用到的话,使用函数句柄,对速度会有提高的;--------------------------------------MATLAB中函数句柄的使用使得函数也可以成为输入变量,并且能很方便的调用,提高函数的可用性和独立性。函数句柄实际上提供了一种间接调用函数的方法。创建函数句柄需要用到操作符@创建函数句柄的语法:fhandle = @function_filename调用函数时就可以调用该句柄,可以实现同样的功能。例如fhandle = @sin就创建了sin的句柄,输入fhandle(x)其实就是sin(x)的功能。如% % ------------------------------------------------fhandle=@sinfhandle(pi)sin(pi)% % ------------------------------------------------例如:新建M文件f1.mfunction y=f1(X)x1=X(1);x2=X(2);y=x1^2+x1*x2;新建M文件ftest.mfunction Y=ftest(f,X)syms x1 x2;F=f([x1,x2]);v=[x1,x2];grad=jacobian(F,v);Y=subs(grad,v,X);在MATLAB命令窗口输入Y=ftest(@f1,[2,1]),得到结果:Y = 5 2此处@f1即为函数f1的句柄,可以用class(@f1)判断变量的类型,得到ans = function_handle即函数句柄。函数ftest是求一个二维函数在指定点的梯度值。我们可以替换目标函数为f2或其他函数同样可以求得梯度。这样函数ftest就可以适用于任何二维函数而不必做改动了。feval函数如何理解feval函数的最通常的应用是以下形式:feval(functionname,parameter),举个简单的例子:比如要计算sin(2),当然可以直接用命令y=sin(2);利用feval,还可以这样来做:y=feval(sin,2);另外这里的函数名字还可以是一个函数句柄,即h=@sin;y=feval(h,2);或者直接写成y=feval(@sin,2);内联函数(inline function)inline函数不是函数句柄, 是另外一种类型, 它也可以用变量来表示函数, 用法也和一般函数, 函数句柄是一样的.内联函数和普通的函数句柄,准确说跟匿名函数比较类似,可以通过一个函数表达式近而得到该函数。在matlab中创建局部函数时,可用inline。优点是不必将其储存为一个单独文件。在运用中有几点限制:不能调用另一个 inline函数,只能由一个matlab表达式组成,并且只能返回一个变量---显然不允许[u,v]这种形式。因而,任何要求逻辑运算或乘法运算以求得最终结果的场合,都不能应用inline。语法格式如下:1 变量名=inline(表达式);2 变量名=inline(函数表达式, 变量名1,变量名2, ... ,变量名n);(推荐)例如:a=x+y;f=inline(a);f(2,3)ans = 5或者:f=inline(x+y,x,y);f(2,3)ans = 5inline函数可以对某个变量调用数组,如:Fofx=inline(‘x .^2*cos(a*x)-b’ , ‘x’,’a’,’b’);g= Fofx([pi/3 pi/3.5],4,1)系统输出为:g=-1.5483 -1.7259经验之二:break就是直接跳出该层循环continue就是直接进入该层循环的下一次迭代return就是直接退出程序或函数返回了经验之
您可能关注的文档
最近下载
- 甬兴证券-2025年商贸零售行业投资策略:消费拾级而上,关注零售边际反转.pdf VIP
- 贵阳市2025年高三二模生物试卷(含答案).pdf
- 消化道狭窄扩张及支架置入术.pdf VIP
- 15K502 供热计量系统设计与安装国标 建筑图集 汇编 .docx VIP
- 2023年云南省职教高考数学真题 .pdf VIP
- 污水处理厂冬季低温运行的研究及实践.doc VIP
- 建筑工程图集 15K502:供热计量系统设计与安装.pdf VIP
- 《夜书所见》--完整版课件.ppt VIP
- 2025·四川巴中·中考真题“韧性的力量”审题立意指导与拓展训练-2025年中考语文作文真题解析与导写.docx VIP
- 丘脑出血护理PPT课件.pdf
文档评论(0)