matlab如何提取第一列中含有指定内容的行
如何利用matlab提取第一列中含有数字5的行,如何利用matlab提取第一列中含有数字5或者6的行...
如何利用matlab提取第一列中含有数字5的行,
如何利用matlab提取第一列中含有数字5 或者 6的行 展开
如何利用matlab提取第一列中含有数字5 或者 6的行 展开
2个回答
展开全部
>> A = [5 6 8 14;6 8 14 nan;5 8 nan nan;5 nan nan nan;
5 8 nan nan;8 14 nan nan;4 8 5 nan]
A =
5 6 8 14
6 8 14 NaN
5 8 NaN NaN
5 NaN NaN NaN
5 8 NaN NaN
8 14 NaN NaN
4 8 5 NaN
>> F = find(A(:,1)==5) % 寻找第 1 列有 5 的行索引
F =
1
3
4
5
>> R = A(F,:) % 所有第 1 列含 5 的行
R =
5 6 8 14
5 8 NaN NaN
5 NaN NaN NaN
5 8 NaN NaN
5 8 nan nan;8 14 nan nan;4 8 5 nan]
A =
5 6 8 14
6 8 14 NaN
5 8 NaN NaN
5 NaN NaN NaN
5 8 NaN NaN
8 14 NaN NaN
4 8 5 NaN
>> F = find(A(:,1)==5) % 寻找第 1 列有 5 的行索引
F =
1
3
4
5
>> R = A(F,:) % 所有第 1 列含 5 的行
R =
5 6 8 14
5 8 NaN NaN
5 NaN NaN NaN
5 8 NaN NaN
追答
fn = 'my_data.xls'; % 原始数据文件(.xls)
[num,txt,raw] = xlsread(fn); % 读入Matlab
d1 = [raw(:,1)]; % 读出第一列数据
R1 = arrayfun(@(r) ismember([5],d1{r}),1:size(d1)); % 处理含数值 5 的行
R2 = arrayfun(@(r) ismember('5',d1{r}),1:size(d1)); % 处理含字符'5' 的行
R = R1+R2; % 合并逻辑结果
rr = find(R==1); % 找出符合条件的行索引
RR = raw(rr,:) % 找到的结果行(元胞数组)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询