matlab问题,本人初学,还望有高人能够指点迷津,问题是关于两矩阵不同位置元素比较的首先是,两个矩阵,一个矩阵a是n行x列,另一个矩阵b是1行x列,(均有重复元素).想计算数组a中每行有几个元
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 23:40:23
![matlab问题,本人初学,还望有高人能够指点迷津,问题是关于两矩阵不同位置元素比较的首先是,两个矩阵,一个矩阵a是n行x列,另一个矩阵b是1行x列,(均有重复元素).想计算数组a中每行有几个元](/uploads/image/z/4832045-53-5.jpg?t=matlab%E9%97%AE%E9%A2%98%2C%E6%9C%AC%E4%BA%BA%E5%88%9D%E5%AD%A6%2C%E8%BF%98%E6%9C%9B%E6%9C%89%E9%AB%98%E4%BA%BA%E8%83%BD%E5%A4%9F%E6%8C%87%E7%82%B9%E8%BF%B7%E6%B4%A5%2C%E9%97%AE%E9%A2%98%E6%98%AF%E5%85%B3%E4%BA%8E%E4%B8%A4%E7%9F%A9%E9%98%B5%E4%B8%8D%E5%90%8C%E4%BD%8D%E7%BD%AE%E5%85%83%E7%B4%A0%E6%AF%94%E8%BE%83%E7%9A%84%E9%A6%96%E5%85%88%E6%98%AF%2C%E4%B8%A4%E4%B8%AA%E7%9F%A9%E9%98%B5%2C%E4%B8%80%E4%B8%AA%E7%9F%A9%E9%98%B5a%E6%98%AFn%E8%A1%8Cx%E5%88%97%2C%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%9F%A9%E9%98%B5b%E6%98%AF1%E8%A1%8Cx%E5%88%97%2C%EF%BC%88%E5%9D%87%E6%9C%89%E9%87%8D%E5%A4%8D%E5%85%83%E7%B4%A0%EF%BC%89.%E6%83%B3%E8%AE%A1%E7%AE%97%E6%95%B0%E7%BB%84a%E4%B8%AD%E6%AF%8F%E8%A1%8C%E6%9C%89%E5%87%A0%E4%B8%AA%E5%85%83)
matlab问题,本人初学,还望有高人能够指点迷津,问题是关于两矩阵不同位置元素比较的首先是,两个矩阵,一个矩阵a是n行x列,另一个矩阵b是1行x列,(均有重复元素).想计算数组a中每行有几个元
matlab问题,本人初学,还望有高人能够指点迷津,问题是关于两矩阵不同位置元素比较的
首先是,两个矩阵,一个矩阵a是n行x列,另一个矩阵b是1行x列,(均有重复元素).想计算数组a中每行有几个元素和b相同,且含计算重复的元素.举例如下求c
数组 a=[2 3 1 2 5;
3 1 2 1 3;
6 7 1 9 9]
数组b=[1 3 2 1 3]
数组c=[3;5;1]
我试过了matlab的intersect,但其无法计算重复元素,本人刚接触matlab,实难解决此问题,如何写此程序,在此先多谢了
感谢hoo_摆渡的回答,昨晚我运行了您的命令,输出的结果确实是【4;5;1】,但是这不对,因为a的第一行与b实际只有3个相同的元素,比如a的第一行=[2 3 1 2 5;] 和b=[1 3 2 1 3]比较,a的
第一个元素2等于b中第三个元素2,(因b里只有一个2),故当a的第四个元素2在与b比较时将显示出b中没有等同2的元素了,故c=[3;5;1].而ismember不能做到这一点,求问,a是n行x列,b是1行x列时候,如何能得到对应的矩阵c?在此,等待有高人出现啊
matlab问题,本人初学,还望有高人能够指点迷津,问题是关于两矩阵不同位置元素比较的首先是,两个矩阵,一个矩阵a是n行x列,另一个矩阵b是1行x列,(均有重复元素).想计算数组a中每行有几个元
其实,这个问题,调用循环就可以解决,若只想用命令的话,可以用如下命令:
c=[sum(ismember(a(1,:),b));sum(ismember(a(2,:),b));sum(ismember(a(3,:),b))];
输出的结果是【4;5;1】,你上面自己写的结果【3;5;1】是错误的.
根据你的问题补充,才明白你的意思,这时程序应写成:
C=zeros(size(A,1),1);
for i=1: size(A,1)
m=B;
for j=1:length(B)
k=find(m==A(i,j),1,'first');
if isempty(k)
continue;
else
C(i)=C(i)+1;
m(k)=[];
end
end
end
总而言之,我希望这些信息对其他人能够有所帮助.