欢迎来到天天文库
浏览记录
ID:25952437
大小:72.77 KB
页数:3页
时间:2018-11-23
《matlab参数传递的方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、ParameterizingFunctions一.实现参数传递的方法实现参数传递的方法有两个,分别是Parameterizing UsingNested Functions(嵌套函数法)和Parameterizing UsingAnonymous Functions(匿名函数法)。一.Parameterizing UsingNested Functions(嵌套函数法)1.简介:使用完全包含在程序文件中的另一个函数中的嵌套函数进行参数传递 。2.具体做法:首先,创建一个m文件(findzero.m),包含母函数findzero和嵌套函数poly:f
2、unctiony=findzero(b,c,x0)y=fzero(@poly,x0);functiony=poly(x)y=x^3+b*x+c;EndEnd然后,在CommandWindow里面调用函数:x=findzero(2,3.5,0)x=-1.09453.原理:嵌套函数定义了具有一个输入变量x的三次多项式,母函数findzero接受参数b和c输入值。母函数findzero的嵌套函数poly可以共享母函数的 workspace。因此,参数b和c的值由母函数传递给了嵌套函数。4.举例说明:functiony=findzero(b,c,x0)3y
3、=fzero(@poly,x0);functiony=poly(x)y=3*x^7+x^2+b*x+c;endend>>x=findzero(1,2,0)x=-0.9399三.Parameterizing UsingAnonymous Functions(匿名函数法)1.简介:使用匿名函数进行参数传递。匿名函数是在单个命令中定义的函数,而需要不创建单独的程序文件,可以使用当前woekspace中可用的任何变量。2.具体做法:首先,创建一个描述三次多项式的匿名函数的句柄,并找到零:b=2;c=3.5;cubicpoly=@(x)x^3+b*x+c;x
4、=fzero(cubicpoly,0)然后,在CommandWindow里面调用函数:x=-1.09453.原理:3函数cubicpoly是具有一个输入值x的匿名函数的函数句柄,输入的匿名函数将在符号@后面的括号中显示。因为在创建函数cubicpoly时参数b和c已经在工作空间中,所以匿名函数不需要这些输入系数。3.举例说明:>>b=1;c=2;cubicpoly=@(x)5*x+b*x^2+c+2;x=fzero(cubicpoly,0);>>xx=-1.00003
此文档下载收益归作者所有