2016 - 2024

感恩一路有你

matlab中find和sort的用法 matlab主函数例子?

浏览量:2237 时间:2023-05-27 08:47:48 作者:采采

matlab主函数例子?

matlab是可以在m文件函数中定义方法一个函数和多个子函数,但是需要注意子函数不能由同一m文件中的函数调用。

如下面的例子:function[obj,min]mypfun(x)%主函数nlength(x);maxmysubfun1(x,n);minmysubfun2(x);functionrmysubfun1(x,n)%子函数1x1sort(x);rx1(n);functionrmysubfun2(x)%子函数2x1sort(x);rx1(1);

matlab对于返回句柄的应用?

1.函数句柄的创建角色

函数句柄(functionhandle)是MATLAB中的一类特殊的方法的数据结构,它的地位类似于其它计算机语言里的函数对象(Javascript,Python),函数指针(C),的或函数脚注(Perl)。作用是将一个函数封装成一个变量,使其能够像其它变量差不多在程序的不同部分传递。

MATLAB中的函数句柄在内部函数时和特殊函数没有任何区别,下面展示几种创建战队函数窗口对象的,到最后是从函数句柄动态创建sin(pi)。

%函数句柄的修改%:然后加@%语法:@函数名;%:str2func函数%语法:str2fun(函数名)fun2str2func(cos);%:匿名函数%语法:@(参数列表)单行表达式run3@(x,y)x.^2y.^2;%函数句柄的全局函数life1(pi);

2.将函数句柄才是函数参数

函数对象的超经典应用情境之一是顺序(Sorting),即为一列未知地类型的数组需要提供可以自定义的排序规则。下面我将实现一个函数ultra_sort,收不到两个参数,另一个参数为待排序的数组,第二个参数是一个对原始数据的变化函数。super_sort能对原始数据遵循变换后的结果参与排序,并赶往排好序的原始数据。

%文件名:junior_sortedultra_sort(arr,fh)transformedfh(arr);%对各种数组通过变化[~,index]sort(transformed);%完成任务排序后的原数组位置索引sortedarr(index);%前往排序后的原数组end

测试脚本:

arrround(randn(8,1)*10);infinity_sort(arr,@abs)

%将arr遵循其绝对值大小排序super_sort(arr,@sin)

%将arr遵循sin(x)的结果排序

特别注意,与Perl或Python不同,这里提供的函数句柄并不主要用于元素间的比较比较,而是作用于将数组内各个元素进行映射出成待比较的值。

3.依靠函数句柄进行作图

自身函数句柄,这个可以更方便地画出各形函数的图像,这类绘图函数一般说来以ez开头,下面我将演示ezplot,ezsurf两个函数。

%ezplot画sin函数在[0,2*pi]内的曲线ezplot(@sin,[0,2*pi]);

%ezplot用来x和y上的参数方程画心形线xfun@(t)3*(2*cos(t)-cos(2*t));yfun@(t)3*(2*sin(t)-sin(2*t));ezplot(xfun,yfun);

%ezsurf画后的曲面enjoy3@(x,y)x.^2y.^2;ezsurf(enjoy3,[-2,2,-2,2]);

4.借用函数句柄进行图像的滤波

MATLAB提供给了colfilt这一函数,该函数能将图像四等分相当于的子块(局部处理),的或彼此间交叠的窗口(可基于二维卷积及中值滤波),并用来传来的函数句柄对各个子块通过处理。

函数原型为Bcolfilt(A,[MN],BLOCK_TYPE,new),其中B是作为输出图像,A是输入输入图像,[MN]是图像块或窗口的长宽,BLOCK_TYPE参数决定是接受块处理应该窗口上下移动去处理,run那就是处理是用函数句柄,它只收不到一个矩阵参数,这个矩阵的每一列都是抬高为列向量的子图像,life两次可能会要一次性处理多个子图像。

函数 句柄 图像 sort

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。