Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何利用matlab中的并集求闭区间的析取?_Matlab - Fatal编程技术网

如何利用matlab中的并集求闭区间的析取?

如何利用matlab中的并集求闭区间的析取?,matlab,Matlab,我试图使用MATLAB中的并集函数来获得两个闭合区域的析取,其形式为[a,b]和[c,d] 例如 a=[1 3]; b=[3 6]; c=union(a,b) 我得到的答案是c=[1 3 6],而我只希望答案是[1 6] 我可以使用union函数实现一些技巧吗 根据@bernhard的建议,我可以使用setxor来实现这一点 但是假设我的矩阵看起来像 a[1 2: 3 5: 2 4}; b=[2 4]; c=setxor(a,b,'rows') 将输出设置为[1 2:3 5] 但

我试图使用MATLAB中的并集函数来获得两个闭合区域的析取,其形式为
[a,b]
[c,d]

例如

a=[1 3];
b=[3 6];
c=union(a,b)
我得到的答案是
c=[1 3 6]
,而我只希望答案是
[1 6]

我可以使用union函数实现一些技巧吗

根据@bernhard的建议,我可以使用
setxor
来实现这一点


但是假设我的矩阵看起来像

a[1 2: 3 5: 2 4}; 
b=[2 4]; 
c=setxor(a,b,'rows')    
将输出设置为
[1 2:3 5]


但和以前一样,我的答案应该是
[15]
。我需要做什么才能做到这一点呢?

在我看来,你想要实现的目标可以通过以下方式实现:

setxor(a,b)

假设我的矩阵看起来像[1 2:3 5:2 4};b=[2 4];c=setxor(a,b,'rows')给出的输出是[1 2:3 5]。但和以前一样,我的答案应该是[1 5]形式。我需要做什么才能得到呢?基于你的答案应该是什么
[1 5]
?你正在检查的集合中只有两个列向量。
[1 5]
不在两个集合中,因此得到结果会很奇怪。你好,hektor,这里有一些问题:1)你解释了预期结果是什么,但没有解释预期结果的原因。请注意,Matlab没有(实数)的表示形式间隔。2)回答你自己的问题是可以的,但作为一个答案,而不是在问题中。3)你问题中的代码都是打字错误。我不知道
a[12:35:24};
应该是什么意思,Matlab也不知道。4)你写道伯纳德的答案不是你想要的——那你为什么接受它?