matlab找元胞数组最值
时间: 2023-11-21 10:57:22 浏览: 520
以下是在MATLAB中找到元胞数组最大值和最小值的方法:
1. 使用`cellfun`函数和`max`函数找到元胞数组中的最大值:
```matlab
C = {1, 2, 3; 4, 5, 6; 7, 8, 9};
max_val = max(cellfun(@(x) max(x), C));
```
这里我们首先定义了一个元胞数组`C`,然后使用`cellfun`函数和`max`函数找到每个元胞中的最大值,最后使用`max`函数找到所有元胞中的最大值。这里的`@(x) max(x)`表示对于每个元胞中的数值矩阵,我们都使用`max`函数找到其中的最大值。
2. 使用循环和`max`函数找到元胞数组中的最大值:
```matlab
C = {1, 2, 3; 4, 5, 6; 7, 8, 9};
max_val = -Inf;
for i = 1:numel(C)
max_val = max(max_val, max(C{i}(:)));
end
```
这里我们同样定义了一个元胞数组`C`,然后使用循环和`max`函数找到每个元胞中的最大值,最后找到所有元胞中的最大值。这里的`numel`函数返回元胞数组中元素的总数,`(:)`表示将数值矩阵展开成一维数组。
3. 使用`cell2mat`函数和`max`函数找到元胞数组中的最大值:
```matlab
C = {1, 2, 3; 4, 5, 6; 7, 8, 9};
max_val = max(cell2mat(C(:)));
```
这里我们首先使用`(:)`将元胞数组展开成一个列向量,然后使用`cell2mat`函数将列向量转换成数值矩阵,最后使用`max`函数找到数值矩阵中的最大值。
阅读全文