matlab写函数教程
时间: 2023-11-02 19:09:20 浏览: 81
matlab编程教程
3星 · 编辑精心推荐
1. 函数定义
在 MATLAB 中,可以使用 function 关键字来定义函数。函数定义的基本语法如下所示:
```
function [输出变量1, 输出变量2, ...] = 函数名(输入变量1, 输入变量2, ...)
% 函数体代码
...
end
```
其中,
- `[输出变量1, 输出变量2, ...]` 表示函数的输出,可以有多个输出变量。
- `函数名` 是函数的名称,可以自定义。
- `(输入变量1, 输入变量2, ...)` 表示函数的输入,可以有多个输入变量。
例如,下面定义了一个名为 `addition` 的函数,用于计算两个数的和:
```
function [sum] = addition(a, b)
sum = a + b;
end
```
这个函数有两个输入变量 `a` 和 `b`,一个输出变量 `sum`,函数体代码中计算了两个数的和并将结果赋值给输出变量 `sum`。
2. 函数调用
在 MATLAB 中,可以使用函数名来调用函数,并传递输入参数。例如,使用上面定义的 `addition` 函数计算两个数的和:
```
>> x = 1;
>> y = 2;
>> z = addition(x, y)
z =
3
```
这里将变量 `x` 和 `y` 分别赋值为 1 和 2,然后调用 `addition` 函数并传递这两个变量作为输入参数,将结果赋值给变量 `z`,最后输出结果。
3. 函数帮助文档
在 MATLAB 中,可以使用 `help` 命令来查看函数的帮助文档。例如,查看 `addition` 函数的帮助文档:
```
>> help addition
addition Compute the sum of two numbers.
addition(a, b) computes the sum of the two input numbers a and b.
The output is the sum of a and b.
```
可以看到,这个函数的帮助文档包括函数的名称、功能描述、输入参数、输出参数等信息。
4. 变量作用域
在 MATLAB 中,函数和脚本文件之间的主要区别是变量的作用域。在函数中定义的变量只在函数内部可见,称为局部变量。在函数外定义的变量称为全局变量,可以在函数内部和外部访问。
例如,下面的代码定义了一个全局变量 `a`,然后定义了一个函数 `test`,在函数内部访问了全局变量 `a`:
```
a = 1;
function test()
disp(a);
end
```
在 MATLAB 中执行这个代码会提示错误:
```
The function definition cannot be nested within a script.
```
这是因为在脚本文件中定义函数时,函数必须放在文件的末尾。因此,将上面的代码保存为一个名为 `test.m` 的函数文件,并执行以下命令:
```
>> test()
1
```
可以看到,函数 `test` 成功访问了全局变量 `a` 并输出了其值。
5. 匿名函数
在 MATLAB 中,可以使用匿名函数来快速定义简单的函数。匿名函数的定义方式如下:
```
函数句柄 = @(输入变量) 函数表达式
```
例如,定义一个计算平方的匿名函数:
```
>> f = @(x) x^2
f =
function_handle with value:
@(x)x^2
```
这个匿名函数的句柄为 `f`,输入变量为 `x`,函数表达式为 `x^2`,表示计算 `x` 的平方。可以使用这个匿名函数来计算任意数的平方:
```
>> f(3)
ans =
9
>> f(4)
ans =
16
```
可以看到,使用匿名函数可以快速定义简单的函数,并使用函数句柄来调用函数。
阅读全文