Matlab自学笔记四:调用函数基本方法、传递参数、函数工作区、命令语法、调用匿名函数

1.调用函数的基本方法

题目:创建函数y=x²+x+1

首先,使用上一篇的创建函数文件的方法(推荐先看上一篇:Matlab创建函数文件、函数语法定义、匿名函数、多元函数、局部函数等知识串联理解),创建之后,函数的架构大概是:y=myfun(x)= x²+x+1,其中y是因变量,myfun是函数名,x²+x+1是表达式;

那么,调用格式就显而易见:

>>y=myfun(2)

y=7

说明,使用函数名称调用该函数,调用时必须输入实参,也就是x=2的具体数值,Matlab内部执行函数表达式运算之后,返回结果。

2.匿名函数的调用

题目1:创建二元函数z=x²+y²

以匿名函数方式创建函数:z=@(x,y)x²+y²;

调用格式如下:

>> z(1,2)

ans=5

说明,匿名函数的函数名就是等号左边的变量名,调用时,使用小括号把自变量输入(如果有多个自变量使用逗号分开)。

3.调用函数的语法

通过上述两个示例,可以得出Matlab调用函数的一般语法

[out1,out2]=function(input1,input2)

说明,调用时,把输入参数括在小括号内,有多个输入参数时,用逗号分隔;有多个输出参数时,放入中括号内,用逗号分隔,如果不指定输入变量,则Matlab使用默认变量ans作为输入变量;

这是函数语法,还有一种命令语法。

4.命令语法

当一个函数没有输出,只有输入,且所有输入都是字符型数据时,以下两种语法是等效的:

functionName(input1,input2,...,inputN)  %函数语法

functionName  input1 input2 ... inputN  %命令语法

说明,命令语法,函数名和输入变量使用空格隔开,如果有多个输入变量,也使用空格隔开;

这个知识可能没看懂,别着急,下面会举例。

5.调用Matlab内置函数

Matlab中预定义了很多函数,可以直接调用,无需再进行自定义;

(1)计算正弦值,使用函数sin,调用方法:

>>sin(0)

ans=0

(2)创建2*3的全1矩阵,使用函数ones,调用方法:

>>a=ones(2,3)

a=

      1 1 1

      1 1 1

(3)显示一串字符,使用函数disp,调用方法:

>>disp('abcd')

abcd

这里符合命令语法的调用情况,所以,也可以写出:

>>disp abcd

abcd

(4)常用的清除变量函数clear,和清除屏幕函数clc,调用方法:

>>clear

>>clc

6.函数工作区

函数工作区,是函数运行时产生的数据和变量的存储区;

与之对应的是,

基础工作区,是命令行窗口或脚本文件中产生的数据和变量的存储区;

注意,这两个工作区之间不能相互访问对方的变量,这是很多初学者经常编程报错的原因之一,两者交换数据的方式:传递参数;

另外,很多同学为了方便,可能会使用全局变量的方式,以达到两个工作区传递参数的目的,非常不推荐,除非编程逻辑非常缜密,否则可能由于变量生效范围太大,导致许多不可预期的报错;

7.传递参数示例

题目:计算直径为d的圆的面积

创建函数文件,程序代码如下:

function  y = myfun(d)

r=d/2;

y=2*3.14*r²;

end

创建脚本文件,或者在命令行窗口,程序代码如下:

>>d=2;  %基础工作区中的变量

>>s=myfun(d)

s=6.28

>>r

报错:未定义变量'r'

r是函数工作区中的变量,在基础工作区无法使用(初学者常犯之错误)

(微信公众号:freexyn)

End

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 1. 直接调用函数名:在命令窗口或脚本中,直接输入函数名,然后在括号内输入参数。例如:sin(3.14)。 2. 函数句柄调用:将函数句柄存储在变量中,然后使用该变量调用函数。例如:f = @sin; f(3.14)。 3. feval 函数调用:使用 feval 函数调用函数,其语法为 feval(function_handle, arg1, arg2, ...)。例如:feval(@sin, 3.14)。 ### 回答2: 在MATLAB中,有以下三种方法可以调用函数: 1. 函数名+参数列表:这是最常见的调用函数方法。只需要使用函数名后跟上参数列表,即可调用函数并传入相应的参数。例如,调用一个名为"add"的函数,传入两个参数5和3,代码如下: ```matlab result = add(5, 3); ``` 2. feval函数:feval函数提供了一种动态调用函数的方式。它接受两个参数,第一个参数是要调用函数名(可以是字符串或函数句柄),第二个参数是传递给函数的参数列表。以下是使用feval函数调用名为"add"的函数,并传入两个参数5和3的示例代码: ```matlab result = feval('add', 5, 3); ``` 注意,在使用feval函数时,函数名需要用引号括起来,以字符串的形式传入。 3. 函数句柄:函数句柄是指对函数的引用,可以将函数句柄赋值给一个变量,并通过该变量调用函数。使用函数句柄调用函数的代码示例如下: ```matlab add_handle = @add; % 将函数句柄赋值给变量 result = add_handle(5, 3); ``` 在以上示例中,函数add的句柄被赋值给变量add_handle,然后通过add_handle变量调用函数。 综上所述,MATLAB函数调用方式可以通过函数名+参数列表、feval函数函数句柄三种方法来实现。每种方法都有其适用的场景,根据实际情况选择合适的调用方式。 ### 回答3: Matlab 中有三种常用的函数调用方法函数调用函数句柄调用函数附加输入参数调用。 1. 函数调用:这是最常用的函数调用方法。直接使用函数名和参数列表调用函数。例如,如果有一个名为 `addition` 的函数,它接受两个输入参数并返回它们的和,可以使用 `addition(x, y)` 来调用函数,其中 `x` 和 `y` 是要相加的数。 2. 函数句柄调用Matlab 中的函数句柄是一个与函数相关联的变量,可以用于调用函数。使用函数句柄调用函数可以将函数作为参数传递给其他函数或存储函数的引用。要创建函数句柄,可以使用 `@` 符号,后跟函数名。例如,`funcHandle = @addition` 将创建一个名为 `funcHandle` 的函数句柄,该句柄与函数 `addition` 相关联。然后,可以使用 `funcHandle` 和参数列表来调用函数,例如 `result = funcHandle(x, y)`。 3. 函数附加输入参数调用:这种调用方法可以通过在参数列表中附加输入参数来调用函数。这些额外的输入参数不被函数使用,但会传递给函数并且可以在函数的内部使用。这些参数常用于在调用函数之前预设某种条件或设置。例如,假设函数 `multiply` 接受两个输入参数 `a` 和 `b`,并且在计算 `a*b` 的同时还要减去一个预设值 `c`,可以使用 `multiply(a, b, c)` 来调用函数,并通过额外的参数 `c` 传递预设值。在 `multiply` 函数的内部,可以通过 `nargin` 函数获取参数个数,然后使用 `varargin` 获取额外的参数值。 以上是 Matlab 中常见的三种函数调用方法函数调用函数句柄调用函数附加输入参数调用

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

freexyn

码字不易,谢谢鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值