自定义函数

M文件的分类:脚本文件和函数文件

利用which + 文件名可查找文件的位置

H1行:指的是帮助文本的第一行,是函数定义下的第一个注释行,是供Look for查询时使用的

函数的定义:

function [返回值1,返回值2,....] =  函数名(参数值1,参数值2,...)%当返回值只有一个时,可以不用写方括号

%H1行

%其他注释行

可执行代码

return%return也可以写在可执行代码中的某一行,当代码执行到return时则返回该函数结果,如果return是放在一个函数的最后一行时,可以省略不写

保存函数文件时文件名要与函数名相同

函数定义完之后不能独立运行,需要有表达式或其他函数来调用才可以运行

例:

function y = dist2(x1,y1,x2,y2) %定义了一个函数名为dist2的函数,其返回值为y

%这是一个计算两点间距离的函数  %H1行

%........   %其他注释行

y = sqrt((x1-x2)^2+(y1-y2)^2)

return

命令行窗口调用

>> a1 = 3;
>> a2 = 4;
>> b1 = 5;
>> b2 = 6;
>> result = dist2(a1,a2,b1,b2)
result =
          2.82842712474619

另一种方法

function y = dist2(p1,p2)
% 计算两点间的距离
%......
x1 = p1(1);
y1 = p1(2);
x2 = p2(1);
y2 = p2(2);
y = sqrt((x1-x2)^2+(y1-y2)^2);

命令行窗口运行

>> A = [3,4];
>> B = [5,6];
>> result = dist2(A,B)
result =
          2.82842712474619

保存自定义函数时保存的位置要与文件的位置一致,否则系统会找不到自定义的函数

设置断点:在变量前面有横线的都可以设置断点,可以直接点击变量前面的横线设置断点,或者是将光标放在要设置断点的那一行按快捷键F12,进行重复操作可删除断点

 遇到断点之后若是像继续执行程序进入下一个断点可以按快捷键F5

matlab中无论是数组还是变量都是按值进行传递,

函数内部不会受到外部的影响,

matlab中内置有nargin(用来判断输入了多少个参数),nargout(用来判断输出多少个参数),一般只出现在函数体的内部,可用if 语句进行判断,如:if nargin == n

matlab中检测函数的工具:

message = nargchk(min,max,num)%当接收到参数num小于最小的min参数时,则返回not enough input argument,若num大于max时则返回too many input argument

error(message)%将出错的信息传到error并显示

也可以写成error(nargchk(min,max,num))

warning('  ')%警告函数

函数与程序之间的数据交换方式:形参列表与全局变量

原文地址:https://www.cnblogs.com/2277098974-qqcom/p/8810693.html