两个向量对应位置处元素比较重组问题
现有向量a=,b=,我想把两个向量对应位置处的两个元素进行比较,然后将比较结果较小的排成一列,较大的排成一列,在这个例子中,结果应该为,我该怎么做,或者用什么函数呢?谢谢 a=;b=;
c=zeros(1,5);
d=c;
for i=1:5
c(i)=min(a(i),b(i));
d(i)=max(a(i),b(i));
end
c
d 回复 2 # huaijuliu 的帖子
恩!是这样的,谢谢huaijuliu,非常感谢 回复 3 # cboboc 的帖子
我想再请问一下,我这样做为什么不对呢?
for i=1:5
if a(i)<b(i)
c=a
else
c=b
end
end
clear;
a=;b=;
abMin=min(a,b)'
abMax=max(a,b)'matlab的一个优势在于向量化的计算 a=;
b=;
min(a,b) cboboc 发表于 2010-12-9 08:36 static/image/common/back.gif
回复 2 # huaijuliu 的帖子
我想再请问一下,我这样做为什么不对呢?
c=b这句话意味着c的所有元素都等于b中元素
应改为
c(i)=b(i)
下同 cboboc 发表于 2010-12-9 08:36 static/image/common/back.gif
回复 2 # huaijuliu 的帖子
我想再请问一下,我这样做为什么不对呢?
a=;
b=;
c=zeros(1,5);
for i=1:5
if a(i)<b(i)
c(i)=a(i);
else
c(i)=b(i);
end
end huaijuliu 发表于 2010-12-9 16:54 static/image/common/back.gif
c=b这句话意味着c的所有元素都等于b中元素
应改为
c(i)=b(i)
恩明白了谢谢呵呵 yufeng 发表于 2010-12-9 09:43 static/image/common/back.gif
a=;
b=;
min(a,b)
谢谢,这个看似简单的小问题,一下子有好多种算法!呵呵太感谢了 本帖最后由 zhouyang664 于 2010-12-13 22:54 编辑
这个问题用sort就完全可以啊!
>> a=;b=;
>> c = sort(,2)
c =
1 2
1 3
5 6
2 6
5 8
>> min = c(: , 1)' , max = c(: , 2)'
min =
1 1 5 2 5
max =
2 3 6 6 8 回复 11 # zhouyang664 的帖子
稍微修改下
a=;b=;
c = sort()
页:
[1]