matlab 去除元胞数组中每个元胞的前两个字符
时间: 2023-08-01 08:08:10 浏览: 221
可以使用循环和字符串切片来去除元胞数组中每个元胞的前两个字符,生成一个新的元胞数组。
代码如下:
```
cell_array = {'ab123', 'cd456', 'ef789'}; % 原始元胞数组
new_cell_array = cell(size(cell_array)); % 新的元胞数组
for i = 1:numel(cell_array)
new_cell_array{i} = cell_array{i}(3:end);
end
```
其中,size 函数用于获取原始元胞数组的大小,numel 函数用于获取原始元胞数组中元素的总数。循环中的字符串切片 `cell_array{i}(3:end)` 表示去除 `cell_array{i}` 中的前两个字符,并将剩余的字符串赋值给新的元胞数组。最终得到的 `new_cell_array` 就是去除了前两个字符的元胞数组。
相关问题
matlab 以非循环形式去除元胞数组中每个元胞的前两个0
可以使用 `cellfun` 函数来实现对元胞数组中每个元胞的操作。具体代码如下:
```matlab
% 假设原始元胞数组为 cell_arr
cell_arr = {'00050', '00120', '00200', '00010'};
% 定义一个匿名函数 remove_zeros,用于去除每个元胞的前两个0
remove_zeros = @(str) str(3:end);
% 使用 cellfun 函数对元胞数组中的每个元胞应用 remove_zeros 函数
new_cell_arr = cellfun(remove_zeros, cell_arr, 'UniformOutput', false);
```
这里 `remove_zeros` 函数可以去除一个字符串的前两个0,`cellfun` 函数将 `remove_zeros` 函数应用于 `cell_arr` 中的每个元胞,最终返回一个新的元胞数组 `new_cell_arr`,其中每个元胞都去除了前两个0。
阅读全文