matlab如何提取第一列中含有指定内容的行

如何利用matlab提取第一列中含有数字5的行,如何利用matlab提取第一列中含有数字5或者6的行... 如何利用matlab提取第一列中含有数字5的行,
如何利用matlab提取第一列中含有数字5 或者 6的行
展开
 我来答
tn瓶邪
推荐于2017-10-15 · TA获得超过1881个赞
知道小有建树答主
回答量:610
采纳率:98%
帮助的人:112万
展开全部
x=A(i,j);
就是提取矩阵A的第i行,第j列的元素
注:提取元素是MATLAB中最常用的操作
x(1,:) 代表提取第1行,从第1列到最后一列;
x(:,1) 代表提取第1列,从第1行到最后一行;
其他的还有提取最大值最小值等操作,可以多看下help.
或者
提取矩阵A的第一行,第二列,赋给a
a=A(1,2);
如果光要取第一行
a=A(1,:);
如果光要取第二列
a=A(:,2);
qingningleyun
推荐于2017-09-09 · TA获得超过5853个赞
知道大有可为答主
回答量:2991
采纳率:30%
帮助的人:3042万
展开全部
>> 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
追问

如果第一列的行数特别多 一万多条怎么办啊?并且下面的才是真实的数据,特别繁杂,那该怎么办呢?有没有更好的方法?

追答
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,:) % 找到的结果行(元胞数组)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式