wdjh.net
当前位置:首页 >> mAtlAB中如何求两个矩阵的交集 >>

mAtlAB中如何求两个矩阵的交集

方法1 n=input('n=') z1=intersect(intersect(intersect(M1(n,:),M2(n,:)),M3(n,:)),M4(n,:)); z1=z1(z1~=0) 分别插入行值,就可以求出。 方法2 for i=1:7; z=intersect(intersect(intersect(M1(i,:),M2(i,:)),M3(i,:)),M4(i,:)); z=z(z~=0) end

>> help intersect INTERSECT Set intersection. INTERSECT(A,B) for vectors A and B, returns the values common to the two vectors. MATLAB sorts the results. A and B can be cell arrays of strings. INTERSECT(A,B,'rows') for matrices...

方法1 n=input('n=') z1=intersect(intersect(intersect(M1(n,:),M2(n,:)),M3(n,:)),M4(n,:)); z1=z1(z1~=0) 分别插入行值,就可以求出。 方法2 for i=1:7; z=intersect(intersect(intersect(M1(i,:),M2(i,:)),M3(i,:)),M4(i,:)); z=z(z~=0) end

a = [1 1 1 2 2 3 3 3 4 4];b = [2 3 1 4 3 3 4 2 1 3; 3 1 2 3 2 4 1 4 3 4];c = zeros(10,10);for i = 1:10 for j = 1:10 if a(i)==b(1,j) c(i,j) = 1; else if a(i)==b(2,j) c(i,j) = 0.6309; else c(i,j) = 0; end end end end

intersect 能够实现交运算,比如 a=[1,2,3,4,5,6,7,8,9];b=[1,4,6,9,12,14]; >> c=intersect(a,b) c = 1 4 6 9 不知道你表述的是不是这个意思

函数 cov 格式 cov(X) %求向量X的协方差 cov(A) %求矩阵A的协方差矩阵,该协方差矩阵的对角线元素是A的各列的方差,即:var(A)=diag(cov(A))。 cov(X,Y) %X,Y为等长列向量,等同于cov([X Y])。

比如原矩阵为A=[1 2 3;4 5 6;7 8 9;10 11 12],现在要生成B=[1 2;4 5;7 8],即提取了原来矩阵的1、2两列和1、2、3三行~ B = A(1:3, 1:2) 即使提取的行列不连续或者次序需要颠倒也可以写成诸如A([1,3,6], [4,3,1,5])这样的形式

conj()命令是求复数共轭的。如果你的矩阵元素里含有复数,直接conj(矩阵),应该是可行的,且行列位置不变

matlab里关于集合运算和二进制数的运算的函数intersect:集合交集ismember :是否集合中元素setdiff :集合差集setxor :集合异或(不在交集中的元素)union :两个集合的并unique :返回向量作为一个集合所有元素(去掉相同元素)

网站首页 | 网站地图
All rights reserved Powered by www.wdjh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com