Matlab自己定义函数

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

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

function myRand
a = rand(3,4)
end

当中,function和end是keyword,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-12-14 05:05:13

Matlab自己定义函数的相关文章

MATLAB如何定义函数

自定义函数的途径:M文件函数(M file function)在线函数(Inline Function)匿名函数(Anonymous Function)1.M文件函数范例function c=myadd(a,b)%这里可以写函数的使用说明,前面以%开头%在工作区中,help myadd将显示此处的说明c=a+b;%end %非必须的第一行function告诉Matlab这是一个函数,a,b是输入,c是输出,myadd是函数名.以m文件定义的函数必须保存为函数名的形式,上例中,函数应保存为myad

Matlab基础学习--------函数句柄

函数句柄是Matlab的一种常见数据类型. 函数句柄创建使用 @ 或者 str2func()来生成函数句柄. >> %创建一个cos()函数句柄 >> %方法1:[email protected] >> [email protected] hcos = @cos >> %方法2:fh = str2func('cos') >> fh = str2func('cos') fh = @cos >> functions(hcos) %使用fu

MATLAB信号处理工具箱函数列表分类

现将MATLAB信号处理工具箱函数进行分组,便于记忆查询和长期回顾.(只解释基本用途,具体用法请在help目录下查询) Waveform Generation(波形产生) chairp: 产生扫频余弦函数: diric: 产生Dirichlet或周期sinc函数: gauspuls: 产生高斯调制地正弦曲线脉冲: pulstran: 产生一个脉冲序列: rectpuls: 产生一个非周期的抽样方波: sawtooth: 产生锯齿波或三角波: sinc: 产生sinc函数,即sin(πt)/πt;

javascript学习笔记(二):定义函数、调用函数、参数、返回值、局部和全局变量

定义函数.调用函数.参数.返回值 关键字function定义函数,格式如下: function 函数名(){ 函数体 } 调用函数.参数.返回值的规则和c语言规则类似. 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta chaset="UTF-8"> 5 <title></title> 6 </head> 7 <body

Javascript学习笔记:3种定义函数的方式

①使用函数声明语法定义函数 1 function sum(num1,num2){ 2 return num1+num2; 3 } ②使用函数表达式定义函数 1 var sum=function(num1,num2){ 2 return num1+num2; 3 } ③使用Function构造函数定义函数 1 var sum=new Function('num1','num2','return num1+num2'); 三种定义函数的方式,其中第二和第三种从技术角度讲都属于函数表达式的方式,但是不

Entity Framework 6 Recipes 2nd Edition(11-4)译 -&gt; 在”模型定义”函数里调用另一个”模型定义”函数

11-4.在”模型定义”函数里调用另一个”模型定义”函数 问题 想要用一个”模型定义”函数去实现另一个”模型定义”函数 解决方案 假设我们已有一个公司合伙人关系连同它们的结构模型,如Figure 11-4所示: Figure 11-4. A model representing the associate types in a company together with the reporting association 在我们的虚拟的公司里, , team members被一个team lea

Entity Framework 6 Recipes 2nd Edition(11-2)译 -&gt; 为一个”模型定义”函数返回一个计算列

11-3. 为一个”模型定义”函数返回一个计算列 问题 想从”模型定义”函数里返回一个计算列 解决方案 假设我们有一个员工(Employee)实体,属性有: FirstName, LastName,和BirthDate, 如 Figure 11-3所示. Figure 11-3. An Employee entity with a few typical properties 我们想要创建一个”模型定义”函数,让它返回FirstName 和LastName 合并后的full name . 我们想

python学习日常-调用函数&amp;定义函数

这几天由于生病,所以停了下. 调用函数相当的简单,比其他许多语言简单多了.我们知道,python中有许多自带的方法,我们要用的时候,就直接“方法名(参数);"就可以调用了.比如调用类型转换方法将一个int类型转换为str类型就可以str(123):就好了 定义函数,一个函数简单的定义就是 关键字(def) 方法名(参数): 做什么: 比如定义一个a+b的方法 def Add(a,b): return a+b; 忘了说明,python函数一定有返回值,即return,你可以返回为none,但是还是

用typedef定义函数指针类型(转)

typedef可以用于定义函数指针类型: [语法]typedef <返回类型> (*<函数类型名>)(参数表)typedef <返回类型> (<类名>::*<函数类型名>)(参数表) [用途]1.可以用来定义该函数类型的函数指针,就不用每次使用函数指针都要写一次函数原型了:2.有了类型名,就可以使用在容器里面,譬如map<int, 类型名>,用于实现灵活的函数调用. [示例] 例1:typedef void (*PF)(int x);