y=[800:100:1700]
[count,edge,group]= histcounts(x,y)%获得计数,每组的边界,然后将其标号
t=table(x,group)%使原始数表和其标号后的group结合成表后就可以进行分类汇总
z=grpstats(t,'group',{'mean','std','var','min','max'}) %按照group进行分类,并指定求出某些参数
matlab常用的函数种类:Anonymous Functions -- 匿名函数
Primary Functions -- 主函数
Nested Functions -- 嵌套函数
Subfunctions -- 子函数
Private Functions -- 私有函数
Anonymous Functions -- 匿名函数
提供了一种快速定义简单函数的方法,可以在matlab命令框、任何函数、脚本中定义。定义方式如下
fhandle = @(arglist) expr
如
sqr = @(x) x.^2
这种函数比较简单,不多说了,有意思的一种用法是可以在函数定义中使用变量,如下
a = 1.3b = .2c = 30parabola = @(x) a*x.^2 + b*x + cfplot(parabola, [-25 25])
a = -3.9b = 52c = 0fplot(parabola, [-25 25])
以后可以尝试用用。
Primary Functions -- 主函数
Subfunctions -- 子函数
就是在一个文件中第一个被定义的函数,其它的都称为子函数。
主函数名一般和文件名一致,调用文件名即是调用主函数,而其它子函数不对外可见,只能在文件内部被主函数和其它子函数调用。
Nested Functions -- 嵌套函数
就是在其他函数内部定义的函数,注意它不能在程序控制语句中定义,即不能在if判断语句、while循环语句中定义。
这种函数有点讲究,但感觉用的不多,要定义直接定义子函数了。不过有三个地方使用感觉挺方便。
一种是如果懒得传递参数给子函数,可以写成嵌套函数,因为在嵌套函数中是可见其上一层函数定义的变量,感觉如果偏向于尽快完成任务的话,可以用用,不过这不利于代码的封装和可读性。
另一种是在figure的鼠标响应中,如在buttondown函数中定义buttonup嵌套函数,因为buttonup一般是发生在buttondown之后的,嵌套定义就是发生了buttondown事件才开启buttonup事件,这样用确实感觉思路上很顺。可参考博客http://blog.sina.com.cn/s/blog_6163bdeb0100n8r7.html
还有一个用法,也是嵌套定义的好处,就是修改了嵌套函数的代码,不用重新运行主程序,原来的程序会自动使用修改过的程序。比如还是figure鼠标响应,将鼠标按下、抬起响应函数写成嵌套函数,运行后,鼠标按下、抬起会运行相应的响应函数,如果修改了按下、抬起的响应函数代码,鼠标 *** 作马上按新修改的代码执行,蛮方便。
Private Functions -- 私有函数
matlab 循环自加,以实现计数功能,编码如下:j=0
for i=1:30
if ((c(i)>ucl)|(c(i)<lcl))
j=j+1
end
end
matlab简介:
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)