matlab 如何把一个矩阵中不同的元素组成一个新数组?

如题所述

第1个回答  2013-01-05
B为数据源矩阵,假设为一维

A=[]

ka=1
for kb=1:length(B)
if(kb满足某条件或者B(kb)元素满足某条件)
A(ka)=B(kb);

ka=ka+1;

end

end
==================
以上代码中B也可以为2维的,完全一样的代码。但结果A是一维的,刷选出来的有if条件决定
上述代码效率可能不佳(人或B如果不是几个亿大小的矩阵是察觉不出来的)
影响其效率是每次都要自动扩展A矩阵
改进方法是A=size(1,length(B));代替A=[];
在最后让A(ka:end)=[];去掉没用的尾巴,这样在处理大数据时效率会提高,阿门。。。
=================================本回答被提问者和网友采纳
第2个回答  2013-01-05
>> a=[1 2 2 5 6 8 5 9]
a =
1 2 2 5 6 8 5 9
>> unique(a)
ans =
1 2 5 6 8 9
第3个回答  2013-01-05
要具体的一个例子呢,还是要理论性的回答,有想法,留言~~
[email protected]~~
第4个回答  2013-01-05
你要指定规则啊!你说说你想实现什么吧?
相似回答