永发信息网

MATLAB 怎么判断矩阵中是否存在某一行等于一个行向量。

答案:3  悬赏:70  手机版
解决时间 2021-04-05 06:46
  • 提问者网友:未信
  • 2021-04-05 01:51
MATLAB 怎么判断矩阵中是否存在某一行等于一个行向量。
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-04-05 02:53
function [ c ] = decide( a, b )
c=0;
for i=1:size(a,1)

if(sum(abs(a(i,:)-b))==0)
c=1;
break;
end
end
end
全部回答
  • 1楼网友:行路难
  • 2021-04-05 04:00
有个函数;
k=ismember(a,b,'rows')
a与b是列数相同的矩阵,如果a中的某一行与b中某一行元素相同,返回1,否则返回0。
注:k=ismember(a,b,'rows')中2012版本的Matlab是‘rows’,而以前版本的是‘row’
例 a=[1 2 3;
2 4 6];
b=[1 2 3;
2 4 7;
2 4 6;
1 3 6];
k1=ismember(a,b,'rows');
k2=ismember(b,a,'rows');
结果 k1 =1
1
k2=1
0
1
0
  • 2楼网友:想偏头吻你
  • 2021-04-05 03:28
实际上我只要用一行就可以了!
clc
A=[1,2,3;
2,3,4;
1,3,4];
b=[1,3,4];
c=[1,2,4];
%判定************************************
sa=size(A,2);
p=c; %将需要判定的行赋值给p
pz=ones(sa,1)*p-A;
panding=logical(size(find(sum(abs(pz)')'==0),1))%判定结果
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯