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等循环和推断结构。參见兴许博客。


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

  1. MATLAB如何定义函数

    自定义函数的途径:M文件函数(M file function)在线函数(Inline Function)匿名函数(Anonymous Function)1.M文件函数范例function c=myad ...

  2. matlab学习创建变量定义函数

    定义变量a,b,c,计算输出d >> a=-3;b=2;c=5;>> d=(a^2+b)/c;>> d=(a^2+b)/c d = 2.2000 系统默认变量  a ...

  3. matlab中patch函数的用法

    http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...

  4. matlab 中“newff” 函数的参数设置

    matlab 中"newff" 函数的使用方法技巧|和各参数的意义 先来一个简单的源程序让大家练习一下: % Here input P and targets T define a ...

  5. Matlab学习记录(函数)

    Matlab中的内建函数 Matlab自定义函数 用function构造函数 用inline构造函数 用syms构造符号函数 多项式相关函数 polyvalx convx 向量和矩阵运算函数 向量运算 ...

  6. Matlab中的函数句柄@

    本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50699990 @是Matlab中的句柄 ...

  7. Matlab中imfilter()函数的用法

    Matlab中imfilter()函数的用法 功能:对任意类型数组或多维图像进行滤波.用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,... ...

  8. MATLAB 中自定义函数的使用

    MATLAB在文件内部(在函数内部)定义函数,但文件名以开头函数来命名,与Java中每个文件只能有一个公开类,但在文件内部还是可以定义其他非公开类一个道理. 无参函数 do.m function do ...

  9. matlab中nargin函数输入参数数目

    来源:https://ww2.mathworks.cn/help/matlab/ref/nargin.html?searchHighlight=nargin&s_tid=doc_srchtit ...

随机推荐

  1. VMware 虚拟机的网络连接方式详解

         VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式).要想在网络管理和维护中合理应用它们,你就应该先了解一下这三种工作 ...

  2. IOS开发之---触摸和手势

    Touch:在与设备的多点触摸屏交互时生成. 响应者对象 响应者对象就是可以响应事件并对事件作出处理.在iOS中,存在UIResponder类,它定义了响应者对象的所有方法.UIApplication ...

  3. Unity 梯子生成算法

    Unity之生成梯子算法的实现. 1.通过预制物体动态生成角度可设置的梯子形状. 1.1 主要涉及到的数学知识点,角度与弧度的转化. 弧度=角度乘以π后再除以180 角度=弧度除以π再乘以180 1. ...

  4. jquery .net 无刷新多文件上传

    Uploadify是JQuery的一个上传插件,实现的效果非常不错,带进度显示.不过官方提供的实例时php版本的,本文将详细介绍Uploadify在Aspnet中的使用,您也可以点击下面的链接进行演示 ...

  5. 在Android Studio中进行单元测试和UI测试

    本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...

  6. iOS开发面试题整理(二)

    8 类别的作用?继承和类别在实现中有何区别? 答案:category 可以在不获悉,不改变原来代码的情况下往里面添加新的方法,只能添加,不能删除修改. 并且如果类别和原来类中的方法产生名称冲突,则类别 ...

  7. div背景等比例缩小

    background: url("http://www.asdear.com/Content/loginPage/newimages/nchina.png") 50% 0px no ...

  8. jquery mobile 入门

    简介:jQuery Mobile框架可以轻松的帮助我们实现非常好看的.可跨设备的Web应用程序.我们将后续的介绍中向大家介绍大量的代码及实例. jQuery一直以来都是非常流行的富客户端及Web应用程 ...

  9. 在vs.net c#中添加mysql模型

    http://weblogs.asp.net/gunnarpeipman/getting-mysql-work-with-entity-framework-4-0 http://dev.mysql.c ...

  10. 从汇编看c++中指向成员变量的指针(一)

    在c++中,指向类成员变量的指针存储的并不是该成员变量所在内存的地址,而仅仅是该成员变量在该类对象中相对于对象首地址的偏移量.因此,它必须绑定到某一个对象或者对象指针上面,这里的对象和对象指针,就相当 ...