Matlab自定义函数

Matlab提供了强大的函数库供用户调用,但也支持用户自己定义函数。本文使用了范德堡大学教授Akos Ledeczi授课中的例子来一步步说明如何在Matlab中自定义函数。

首先,在command window中输入edit命令,开始编辑函数。本函数实现的是随机生成一个3行4列的矩阵,该矩阵的元素取值范围在0-1之间。

function myRand
a = rand(3,4)
end

其中,function和end是关键字,function表示该文件是一个函数,end表示函数体的结束。在command window中执行myRand命令,得到的结果如下:

>> myRand
a =
    0.5688    0.3371    0.3112    0.6020
    0.4694    0.1622    0.5285    0.2630
    0.0119    0.7943    0.1656    0.6541

然后,为函数增加参数。本函数实现的是随机生成一个3行4列的矩阵,该矩阵的元素取值范围在low-high之间。

function a = myRand(low, high)
a = low+rand(3,4)*(high - low);
end

其中,low和high是函数体的两个输入参数,分别代表了矩阵元素取值范围的上限和下限;a是函数的范围值。在command window中执行myRand命令,得到的结果如下:

>> myRand(1,6)
ans =
    4.4461    1.4191    1.7619    5.9807
    4.7408    2.1449    5.1291    1.3909
    3.2527    5.5667    3.6917    3.2134

最后,为函数再增加一个返回参数。该函数将随机生成的矩阵中的每一个元素相加,返回其总和。

function [a, s] = myRand(low, high)
a = low + rand(3,4)*(high-low);
v = a(:);
s = sum(v);
end

其中,s是新增加的返回参数。在command window中执行myRand命令,得到的结果如下:

>> [x ss] = myRand(2,4)
x =
    3.1504    2.7063    2.0860    3.4634
    2.1196    3.6424    2.3380    3.2955
    2.4696    2.0308    3.2982    2.9018
ss =
   33.5021

到此为止,在Matlab中简单自定义函数的方法已经介绍完毕。Matlab还支持常见的for-loop和if-else等循环和判断结构,参见后续博客。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-07-30 02:16:20

Matlab自定义函数的相关文章

matlab自定义函数的五种表示(前2种重点)

1.命令文件/函数文件+函数文件:多个M文件 2.函数文件+子函数:一个M文件 3. inline:无需M文件 4.符号表达式+subs方式:无需M文件 5.字符串+subs方式:无需M文件 第一种:命令文件/函数文件+函数文件 %命令/函数文件:myfile1.m clear for t=1:10 y=mylfg(t); fprintf('%4d^(1/3) = %6.4f\n',t,y); end %函数文件:mylfg.m function y = mylfg(x) y=x^(1/3);

MATLAB自定义函数Rodrigues

The customized MATLAB function is to onvert a rotation vector to a rotation matrix. function [rotation_matrix] = Rodrigues( rotation_vector ) % Convert a rotation vector to a rotation matrix. rotation_vector = rotation_vector'; theta = norm(rotation_

Matlab中函数定义方法

Matlab自定义函数的六种方法 n1.函数文件+调用函数(命令)文件:需单独定义一个自定义函数的M文件: n2.函数文件+子函数:定义一个具有多个自定义函数的M文件: n3.Inline:无需M文件,直接定义: n4.匿名函数: n5.Syms+subs:无需M文件,直接定义: n6.字符串+subs:无需M文件,直接定义. ------------ 1.函数文件+调用函数文件:定义多个M文件 % 调用函数文件:myfile.m clear clc for t=1:10 y=mylfg(t);

Matlab基本功能:自定义函数、添加块注释、定时器的试用

1.自定义函数 新建一个m文件 在m文件里面第一行输入function [X,Y]=pll(X1,Y1,X2,Y2),这里x1 x2 y1 y2是你函数的输入值, x y是输出值,接着定义你要实现的功能,比如:x = x1 + x2; y = y1 + y2; 接着保存这个m文件,注意!! 这个m文件的名字必须是定义的函数的名字,即保存为pll.m 否则会出错. 接着在matlab命令窗口中输入 pll(1,2,3,4)看看会得到什么? 也可以另外创建一个m文件,在这里调用pll()这个函数.

Oracle自定义函数1

用户定义函数是存储在数据库中的代码块,可以把值返回到调用程序.调用时如同系统函数一样,如max(value)函数,其中,value被称为参数.函数参数有3种类型. IN 参数类型:表示输入给函数的参数. OUT 参数类型:表示参数在函数中被赋值,可以传给函数调用程序. IN OUT参数类型:表示参数既可以传值也可以被赋值. 1.语法格式: SQL语法方式创建的语法格式为: CREATE OR REPLACE FUNCTION function_name         /*函数名称*/(Para

一个可以使用多个正则表达式进行多次尝试匹配,并进行替换的Excel VBA自定义函数(UFD)

以下代码可使用多个正则表达式对目标单元格进行多次匹配尝试,如匹配成功,将停止尝试匹配其他正则表达式,并且使用该正则表达式相对应的替换表达式进行替换,返回替换结果. 使用前需要做Early Binding.即在VBE编辑器中,选择菜单栏中的Tool - Reference,如图: 弹出如下图的对话框后,选择Microsoft VBSscript Regular Expression 5.5,打钩,点OK. 此UDF的使用方法为: Text参数:需要进行处理的原始文字或单元格. MatchPatte

MySQL学习笔记-自定义函数

MySQL学习笔记-自定义函数 1.自定义函数简介 自定义函数:用户自定义函数(user-defined function,UDF)是一种对MySQL扩展的途径,其用法与内置函数相同 自定义函数的两个必要条件:(1)参数  (2)返回值 自定义函数: 创建自定义函数 CREATE FUNCTION function_name RETURNS {STRING|INTEGER|REAL|DECIMAL} routine_body 关于函数体: 1.函数体可以由合法的SQL语句构成: 2.函数体可以是

FastReport调用Delphi中的自定义函数

//定义一个函数: function SmallToMoney(akey: real): string; begin   //'1234500' end; //此处为fastreport加载自定义函数以便引用 procedure Tprint_from.FormCreate(Sender: TObject);begin  frxReport1.AddFunction('function SmallToMoney(akey: real): string;', 'Myfunction', '函数功能

SQL 自定义函数(Function)——参数默认值

sql server 自定义函数分为三种类型:标量函数(Scalar Function).内嵌表值函数(Inline Function).多声明表值函数(Multi-Statement Function) 标量函数:标量函数是对单一值操作,返回单一值. 内嵌表值函数:内嵌表值函数的功能相当于一个参数化的视图.它返回的是一个表,内联表值型函数没有由BEGIN-END 语句括起来的函数体. 多声明表值函数:它的返回值是一个表,但它和标量型函数一样有一个用BEGIN-END 语句括起来的函数体,返回值