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等循环和推断结构。參见兴许博客。
Matlab自己定义函数的更多相关文章
- MATLAB如何定义函数
自定义函数的途径:M文件函数(M file function)在线函数(Inline Function)匿名函数(Anonymous Function)1.M文件函数范例function c=myad ...
- 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 ...
- matlab中patch函数的用法
http://blog.sina.com.cn/s/blog_707b64550100z1nz.html matlab中patch函数的用法——emily (2011-11-18 17:20:33) ...
- matlab 中“newff” 函数的参数设置
matlab 中"newff" 函数的使用方法技巧|和各参数的意义 先来一个简单的源程序让大家练习一下: % Here input P and targets T define a ...
- Matlab学习记录(函数)
Matlab中的内建函数 Matlab自定义函数 用function构造函数 用inline构造函数 用syms构造符号函数 多项式相关函数 polyvalx convx 向量和矩阵运算函数 向量运算 ...
- Matlab中的函数句柄@
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/50699990 @是Matlab中的句柄 ...
- Matlab中imfilter()函数的用法
Matlab中imfilter()函数的用法 功能:对任意类型数组或多维图像进行滤波.用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,... ...
- MATLAB 中自定义函数的使用
MATLAB在文件内部(在函数内部)定义函数,但文件名以开头函数来命名,与Java中每个文件只能有一个公开类,但在文件内部还是可以定义其他非公开类一个道理. 无参函数 do.m function do ...
- matlab中nargin函数输入参数数目
来源:https://ww2.mathworks.cn/help/matlab/ref/nargin.html?searchHighlight=nargin&s_tid=doc_srchtit ...
随机推荐
- PHP MySQL Select 之Select
从数据库表中选取数据 SELECT 语句用于从数据库中选取数据. 语法 SELECT column_name(s) FROM table_name 注释:SQL 语句对大小写不敏感.SELECT 与 ...
- hdu 2438 Turn the corner(几何+三分)
Problem Description Mr. West bought a new car! So he is travelling around the city. One day he comes ...
- django 启动和请求
Django运行方式 调试模式 直接 python manage.py runserver python manage.py runserver python manage.py runserver ...
- 让magento的validate验证hidden field
Object.extend(Validation, { isVisible : function(elm) { return true; }, insertAdvice : function(elm, ...
- iOS 实时监听app的网络连接状态
实际iOS开发中,在网络通信中我们大部分使用第三方(只谈短链),譬如 AFNetworking.ASIHttpRequest(这个停更了,想必现在没多少人用),swift的 Alamofire 等. ...
- C#主要字典集合性能对比[转]
A post I made a couple days ago about the side-effect of concurrency (the concurrent collections in ...
- kaggle之旧金山犯罪
kaggle地址 github地址 特点: 离散特征 离散特征二值化处理 数据概览 import pandas as pd import numpy as np # 载入数据 train = pd.r ...
- 【进制问题】【HDU2056】A + B Again
A + B Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
- 【枚举+数学】【HDU1271】整数对 难度:五颗星
整数对 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submis ...
- DropDownList 绑定数据后 插入一条不属于表中的数据
ddlFGiftId.DataSource = dtGift; ddlFGiftId.DataTextField = "FGiftName"; ddlFGiftId.DataVal ...