详细介绍matlab中arrayfun函数用法,给出例子
时间: 2024-03-06 07:49:59 浏览: 1070
Matlab中的arrayfun函数用于对数组中的每个元素执行一个函数操作,返回一个与原数组大小相同的数组。其语法如下:
```
B = arrayfun(fun,A)
```
其中,fun是一个函数句柄,A是一个数组。在执行过程中,arrayfun函数会将A中的每个元素依次传递给fun函数进行处理,并将处理结果存储在新的数组B中。最终,arrayfun函数返回B。
下面给出一个例子,假设有一个1x10的数组A,需要对A中的每个元素求平方。可以使用arrayfun函数来实现:
```
A = 1:10;
B = arrayfun(@(x) x^2, A)
```
其中,@(x) x^2是一个匿名函数,表示对输入的x求平方。执行结果如下:
```
B =
1 4 9 16 25 36 49 64 81 100
```
此外,还可以将arrayfun函数与自定义函数结合使用。例如,假设有一个自定义函数mysqrt(x),用于计算x的平方根。现在需要对A中的每个元素求平方根,可以使用如下代码:
```
A = [1,4,9,16,25];
B = arrayfun(@mysqrt, A)
function y = mysqrt(x)
y = sqrt(x);
end
```
执行结果如下:
```
B =
1 2 3 4 5
```
可以看到,arrayfun函数对A中的每个元素都调用了mysqrt函数,得到了对应的平方根,并将结果存储在新的数组B中。
阅读全文