matlab中cellfun函数
时间: 2024-01-27 15:05:19 浏览: 32
`cellfun` 函数是 MATLAB 中一种非常有用的函数,它可以对 cell 数组进行逐个元素的操作。`cellfun` 函数对每一个 cell 数组元素应用一个特定的函数,然后将每个函数的结果合并为一个数组。 `cellfun` 函数的语法如下:
```
B = cellfun(fun,A)
B = cellfun(fun,A,'UniformOutput',false)
B = cellfun(fun,A1,...,An)
B = cellfun(fun,A1,...,An,'UniformOutput',false)
```
其中 `fun` 是要应用于每个元素的函数句柄或函数名称。`A` 是要处理的 cell 数组。`B` 是处理结果的数组。如果 `UniformOutput` 参数设置为 `true`(默认值),则 `B` 是一个标量或数组,其中每个元素都是 `fun` 函数的结果。如果 `UniformOutput` 参数设置为 `false`,则 `B` 是一个 cell 数组,其中每个元素都是 `fun` 函数的结果。
下面是一个简单的例子,演示了如何使用 `cellfun` 函数将一个 cell 数组的每个字符串都转换为大写:
```matlab
% 创建一个 cell 数组
strs = {'hello', 'world', 'from', 'matlab'};
% 使用 cellfun 函数将每个字符串转换为大写
upper_strs = cellfun(@upper, strs, 'UniformOutput', false);
% 显示结果
disp(upper_strs);
```
该代码将输出以下内容:
```
'HELLO' 'WORLD' 'FROM' 'MATLAB'
```
在上面的代码中,`@upper` 是一个函数句柄,表示将每个字符串转换为大写。`UniformOutput` 参数设置为 `false`,因此 `upper_strs` 是一个 cell 数组,其中每个元素都是一个字符串。