作业帮 > 数学 > 作业

求助Matlab剔除两向量中相同数如何写

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/07/09 00:26:04
求助Matlab剔除两向量中相同数如何写
比如【1 2 3】和【2 3 4】,两向量组合后剔除相同的【2 3】,变成【1 2 3 4】
用if,while这些,不能用sort,用for的话请详细解释,因为for刚开始学,
%%
a = [1 2 3];b = [2 3 4];
c = [a,b];
d = [];
for i=1:length(c)
if sum(d == c(i)) ==0
d = [d,c(i)];
end
end
d
你还可以:
>> a= [1 2 3];b=[2 3 4];...
c = union(a,b)
c =
1 2 3 4
matlab集合操作:
1、c=union(a,b)集合并
2、c=intersect(a,b) 交集
3、setdiff (a,b)集合差
4、setxor(a,b)集合异或
再问: if sum(d == c(i)) ==0 d = [d,c(i)]; 这一步不太明白,还请解释,谢谢
再答: d == c(i)可以得到一个真假矩阵,和d大小一致,如果对应元素等于c(i)则为1,否则为0。d == c(i)求和为0,表示d中没有c(i)元素,则加入:d = [d,c(i)];