Matlab 学习 入门篇 三 M文件
来源:互联网 发布:淘宝如何清洗订单 编辑:程序博客网 时间:2024/09/21 08:54
m文件分为脚本文件和函数文件。
脚本文件就是 打在命令窗口的一些指令,只不过是这些个指令比较的繁杂,重复率比较高,所以写在一个文件里了,以后需要对某个数据这么处理,直接调用,然后实现某个功能,它所产生的数据,会在workspace中停留。比如一道特别水的acm题:
密文和电文进行转换,每个字母变换为其之后的第4个字母,A变E,最后四个循环回来。
可以吧上述的功能写进一个.m文件里;
如:
结果是:
其实就目前而言我感觉,这种脚本文件,就像是没有返回值的函数。
那么,下面说说函数文件:
既然是函数了,那么每回运行时,都会个函数开辟临时工作空间,称之为函数工作区间
下面展示一个函数递归求和问题。
比如:
S = 1+2x3+3x4+4x5+……+n(n+1)
n为输入的参数
则:
结果是:
然后,我觉得重点来了,matlab 把函数分的很细,我选出有意思的记录:
1.M文件主函数
每个M文件的第一行定义的函数就是M文件的主函数,一个M文件只能有一个主函数,
习惯上主函数的名字和文件的名字是一致的。之所以有主函数一说,是相对子函数和嵌套函数来说的,一个M文件中,除了主函数外还可以编写多个嵌套函数和子函数。
2.子函数
编写在主函数后的函数成为子函数。所有的子函数只能被其所在的M文件的主函数和其他子函数调用。子函数有自己独立的函数申明和帮助等结构,子函数之间的相互顺序没有限制。
3.匿名函数
匿名函数是自MATLAB 7.0版起给出的一种全新的函数描述形式,其一般使用格式为:
其中expr 是有效的表达式,arg1,arg2,......是指定的出现在expr里的变量名称,fun 是所定义的匿名函数的名称
4.嵌套函数
一个函数内部,可以定义一个或多个函数,这种定义在其他函数内部的函数就被称为嵌套函数。一个函数内部可以嵌套多个函数,这些嵌套函数内部又可以继续嵌套其他函数。
嵌套函数的书写语法格式如下:
结果是:
5.私有函数
私有函数是具有限制性访问权限的函数,它们对应的M文件需要保存在名为private的文件夹下,这些私有函数代码编写上和普通的函数没有什么区别,但私有函数只能被private目录的直接父目录下的函数调用。因此,用户可以开发自己的函数库,函数的名称可以与系统标准M函数库名称相同,而不必担心在函数调用时发生冲突,因为 MATLAB首先查找私有函数,再查找标准函数。
同样的,我们也可以通过help命令获取私有函数的帮助信息,但需要声明其私有特点,例如要获取私有函数myprifun.m的帮助信息,可以使用语句help private/myprifun。(摘自网络)
6.重载函数
MATLAB中重载函数通常放置在不同的文件夹下,通常文件夹名称以符号@开头,然后跟一个代表MATLAB数据类型的字符,如@double目录下的重载函数的输入参数应该是双精度浮点型,而@int32目录下的重载函数的输入参数应该是32位整型。(摘自网络)
值得一提的是串演算函数
相当有意思,这些函数可以把一些有意义的字符串当做命令来执行
比如:
1.eval函数
2.内联函数
3.feval函数
MATLAB提供的feval函数是用来执行函数操作的函数 ,有“函数的函数”之称
变量的传递与检测
MATLAB中,提供了多种函数来实现变量检测、传递,同时也提供了“变长度”输入输出变量。灵活使用这些命令可以完成多种复杂的功能。
输入输出变量检测
在MATLAB中,提供了多个变量检测命令,它们用于实现判断输入和输出变量的个数的功能,见表。
- Matlab 学习 入门篇 三 M文件
- matlab 编程入门(M文件函数)
- matlab 编写M文件(函数)入门笔记
- matlab的M文件
- matlab【M文件】
- MATLAB的M文件
- matlab startup.m文件
- Matlab---M文件概述
- Matlab的M文件
- M文件程序设计(matlab)
- matlab m档案学习
- MATLAB的M文件的学习和使用
- MATLAB 学习(六)M文件和面向对象编程
- MATLAB学习之旅(二)MATLAB M文件变exe文件
- Matlab .m文件的命名
- matlab r2001b 关联M文件
- Matlab运行指定m文件
- MATLAB 练习02 M文件
- Codeforces 385E Bear in the Field(矩阵快速幂)
- 【C++运用】(基于控制台)完成3个章节的文字游戏---ShinePans
- 2.序列的运算
- 用MDK+h-converter+ulink2烧写norflash sst39vf1601
- c#摄像头编程大全(源码)
- Matlab 学习 入门篇 三 M文件
- 【windowsApi运用】随机取点画线条---ShinePans
- 如何编写一个最简单的嵌入式操作系统(1)简单任务调度
- LeetCode OJ:Sudoku Solver
- java线程之CyclicBarrier
- 新博客开通
- popwindow的大小
- [01背包]HDU 3466 Proud Merchants
- BZOJ 1783 [Usaco2010 Jan]Taking Turns