函数可以接受多个输入参数和可能返回多个输出参数。

函数语句的语法是:function [out1,out2, ..., outN] = myfun(in1,in2,in3, ..., inN)

详细例子

下述有个 mymax 函数,它需要五个数字作为参数并返回最大的数字。

建立函数文件,命名为 mymax.m 并输入下面的代码:function max = mymax(n1, n2, n3, n4, n5)

%This function calculates the maximum of the

% five numbers given as input

max = n1;

if(n2 > max)

max = n2;

end

if(n3 > max)

max = n3;

end

if(n4 > max)

max = n4;

end

if(n5 > max)

max = n5;

end

每个函数的第一行要以 function 关键字开始。它给出了函数的名称和参数的顺序。

在我们的例子中,mymax 函数有5个输入参数和一个输出参数。

注释行语句的功能后提供的帮助文本。这些线条打印,当输入:help mymax

MATLAB执行上述语句,返回以下结果:This function calculates the maximum of the

five numbers given as input

可以调用该函数:mymax(34, 78, 89, 23, 11)

MATLAB执行上述语句,返回以下结果:ans =

89

MATLAB匿名函数

一个匿名的函数就像是在传统的编程语言,在一个单一的 MATLAB 语句定义一个内联函数。

它由一个单一的 MATLAB 表达式和任意数量的输入和输出参数。

在MATLAB命令行或在一个函数或脚本可以定义一个匿名函数。

这种方式,可以创建简单的函数,而不必为他们创建一个文件。

建立一个匿名函数表达式的语法如下:f = @(arglist)expression

详细例子

在这个例子中,我们将编写一个匿名函数 power,这将需要两个数字作为输入并返回第二个数字到第一个数字次幂。

在MATLAB中建立一个脚本文件,并输入下述代码:power = @(x, n) x.^n;

result1 = power(7, 3)

result2 = power(49, 0.5)

result3 = power(10, -10)

result4 = power (4.5, 1.5)

运行该文件时,显示结果:result1 =

343

result2 =

7

result3 =

1.0000e-10

result4 =

9.5459

主要函数和子函数

在一个文件中,必须定义一个匿名函数以外的任何函数。每个函数的文件包含一个必需的主函数和首先出现的任何数量的可选子函数,在主要函数之后使用。

主要函数可以调用的文件,它定义之外,无论是从命令行或从其他函数,但子功能不能被称为命令行或其他函数,外面的函数文件。

子功能可见函数内的文件,它定义它们的主要函数和其他函数。

详细例子

我们写一个 quadratic 函数来计算一元二次方程的根。

该函数将需要三个输入端,二次系数,线性合作高效的和常数项,它会返回根。

函数文件 quadratic.m 将包含的主要 quadratic 函数和子函数 disc 来计算判别。

在MATLAB中建立一个函数文件 quadratic.m 并输入下述代码:function [x1,x2] = quadratic(a,b,c)

%this function returns the roots of

% a quadratic equation.

% It takes 3 input arguments

% which are the co-efficients of x2, x and the

%constant term

% It returns the roots

d = disc(a,b,c);

x1 = (-b + d) / (2*a);

x2 = (-b - d) / (2*a);

end % end of quadratic

function dis = disc(a,b,c)

%function calculates the discriminant

dis = sqrt(b^2 - 4*a*c);

end % end of sub-function

可以从命令提示符调用上述函数为:quadratic(2,4,-4)

MATLAB执行上面的语句,返回以下结果:ans =

0.7321

MATLAB嵌套函数

在这个机体内另一个函数,可以定义函数。这些被称为嵌套函数。

嵌套函数包含任何其他函数的任何或所有的组件。

嵌套函数被另一个函数的范围内定义他们共享访问包含函数的工作区。

嵌套函数的语法如下:function x = A(p1, p2)

...

B(p2)

function y = B(p3)

...

end

...

end

详细例子

我们重写前面例子的 quadratic 函数,但是,这一次的 disc 函数将是一个嵌套函数。

在MATLAB中建立一个函数文件 quadratic2.m,并输入下述代码:function [x1,x2] = quadratic2(a,b,c)

function disc % nested function

d = sqrt(b^2 - 4*a*c);

end % end of function disc

disc;

x1 = (-b + d) / (2*a);

x2 = (-b - d) / (2*a);

end % end of function quadratic2

可以从命令提示符调用上面的函数为:quadratic2(2,4,-4)

MATLAB执行上面的语句,返回以下结果:ans =

0.7321

MATLAB私有函数

一个私有函数是一个主要的函数,是只看得见一组有限的其它函数。

如果不想公开的执行的一个函数,可以创建私有函数。

私有函数驻留特殊的名字私人的子文件夹中。

他们是可见的,只有在父文件夹的函数。

详细例子

重写 quadratic 函数。然而,这时计算​​的判别式 disc 函数,是一个私有函数。

在MATLAB中建立一个子文件夹命名为私人工作目录。它存储在以下函数文件 disc.m:function dis = disc(a,b,c)

%function calculates the discriminant

dis = sqrt(b^2 - 4*a*c);

end % end of sub-function

在工作目录,创建一个函数 quadratic3.m ,输入下述代码:function [x1,x2] = quadratic3(a,b,c)

%this function returns the roots of

% a quadratic equation.

% It takes 3 input arguments

% which are the co-efficients of x2, x and the

%constant term

% It returns the roots

d = disc(a,b,c);

x1 = (-b + d) / (2*a);

x2 = (-b - d) / (2*a);

end % end of quadratic3

可以从命令提示符调用上面的函数为:quadratic3(2,4,-4)

MATLAB执行上面的语句,返回以下结果:ans =

0.7321

MATLAB全局变量

全局变量可以共享由一个以上的函数。对于这一点,需要将变量声明为全局在所有的函数可使用。

如果想访问该变量从基工作区,然后在命令行声明的变量。

全局声明必须出现在变量中实际上是使用功能。这是一个很好的做法是使用大写字母为全局变量的名称,以区别于其他变量。

详细例子

创建一个函数文件名为 average.m ,输入下述代码:function avg = average(nums)

global TOTAL

avg = sum(nums)/TOTAL;

end

在MATLAB中建立一个脚本文件,输入下面的代码:global TOTAL;

TOTAL = 10;

n = [34, 45, 25, 45, 33, 19, 40, 34, 38, 42];

av = average(n)

运行该文件,显示以下结果:av =

35.5000

matlab函数power,MATLAB函数相关推荐

  1. Power BI--DAX函数入门

    目录 Power BI--DAX函数入门 概述 度量值 计算列 计算表 行级别安全性 数据类型 运算符 运算符书写规范 聚合函数 CALCULATE函数 ALL函数 ALLEXCEPT和ALLSELE ...

  2. Hive常用运算(关系运算)、逻辑运算与数学运算、数值运算、日期函数、条件函数、字符串函数

    hive 常用运算 第一部分:关系运算 Hive支持的关系运算符 •常见的关系运算符 •等值比较: = •不等值比较: <> •小于比较: < •小于等于比较: <= •大于比 ...

  3. Matlab中power函数的使用

    目录 语法 说明 示例 计算向量每个元素的平方 计算每个矩阵元素的倒数 以列向量为指数对行向量按元素求幂 计算数的根 power, .^函数的功能是按元素求幂 语法 C = A.^BC = power ...

  4. MTM:matlab实现5主函数解码

    前言 之前讲了MTM(多锥形窗谱估计)的相关原理,现在来分析一下它的matlab实现. 想要复习的可以参考一下之前的文件: 现代谱估计:多窗口谱 想要复习一下如何实现的可以参考: MTM:matlab ...

  5. matlab拟合多自变量函数,matlab曲线拟合公式中含有两个变量,x是自变量,y既是自变量又是因变量,求指导,y=f(x,y)...

    首先,将x.y看成同一变量,即x(1).x(2) 然后,定义自变量函数,即fun=inline('x(2)-f(x(1),x(2))','a','x')%a是拟合系数 再用Matlab的nlinfit ...

  6. matlab使用杂谈5-fftshift函数的使用

    matlab使用杂谈5-fftshift函数的使用 fftshift基本使用 主要作用:将零频分量移到频谱中心 简单示例 一般使用场合 fftshift基本使用 主要作用:将零频分量移到频谱中心 基本 ...

  7. matlab中匿名(Anonymous)函数及bsxfun函数

    一.匿名函数/Anonymous Function 匿名函数matlab解释: FUNHANDLE = @FUNCTION_NAME returns a handle to the named fun ...

  8. matlab 函数,matlab 语法1

    目录 matlab中fullfile使用 MATLAB中fopen.fprintf函数的用法 Matlab之fgetl函数 Matlab中的Inf和NaN matlab zeros函数的使用 MATL ...

  9. matlab脚本文件和函数文件

    M文件可分为脚本文件(MATLAB scripts)和函数文件(MATLAB functions).脚本文件是包含多条MATLAB命令的文件:函数文件可以包含输入变量,并把结果传送给输出变量. 两者的 ...

最新文章

  1. asp.net 学习笔记 代码块标记
  2. DRF 商城项目 - 用户操作(收藏, 留言, 收货地址)
  3. 点击切换图标方法,jquery bootstrap方法
  4. 【Netty】Netty 入门案例分析 ( Netty 线程模型 | Netty 案例需求 | IntelliJ IDEA 项目导入 Netty 开发库 )
  5. 手机端viewport的设置规范
  6. linux网络编程常用函数详解与实例(socket--bind--listen--accept)
  7. 基于Python的特征自动化选择:两行代码完成特征工程
  8. 海外服务器维护,海外服务器运行不正常的原因是什么?
  9. POS tagging中英文对应
  10. linux不同内核驱动移植问题,基于tiny4412的Linux内核移植 -- MMA7660驱动移植(九-2)...
  11. mysql 23000_mysql – SQLSTATE [23000]:完整性约束违规:1452无法添加或更新子行:外键约束失败...
  12. SecureCRT 64位 安装破解版v8.1.4
  13. android学习code3 布局上
  14. win7变成xp风格了怎么改回_win7怎么变成xp界面|win7系统变成xp界面主题的方法
  15. 计算机语言输入不见了,电脑输入法不见了怎么处理 输入法修复方法
  16. 供应链安全 | 北京大学软件工程国家工程研究中心 张世琨:软件供应链安全的风险和成因分析
  17. ZZULIOJ:1125: 上三角矩阵的判断
  18. 18.3.7给小可爱们的(NBUOJ)
  19. php异步检测用户名是否存在,AJAX_Ajax——异步检查用户名是否存在示例,在任何网站注册用户的时候, - phpStudy...
  20. python有vlookup的功能么,vlookup函数功能非常强大,那在Python中如何实现?

热门文章

  1. 彭慧胜:如果再读一次研究生
  2. sip rtp长时间通话 挂断_智能语音机器人中的语音通话实践
  3. 想象一双结实而富有弹性的大腿:理解 Flexbox 布局
  4. 输入多个城市名字,按升序排列输出
  5. Centos6.9下tar.xz结尾的文件的解压方法
  6. PAT 乙级 1094 谷歌的招聘 (20分)
  7. java scanner怎么循环_java怎么实现循环输入一个数?
  8. 六千字带你快速上手操作MySQL
  9. quantile normalization原理
  10. JavaScript 模板文字(模板字符串)