Matlab:真正的负面奇怪根源

时间:2014-01-28 13:53:10

标签: matlab

对于任何根我需要创建一个脚本,输出将只是真正的负奇数根。

例如:rtemp = [-8 -8 -8 -8 4 -1 3]

只选择真正的负根(有些情况下根是复杂的,所以我不想要复杂的根:

rneg=[];
for i=1:length(rtemp)
    if(isreal(rtemp(i))==1) && (rtemp(i)<0)
        rneg = [rneg rtemp(i)];
    end
end

rneg =

    -8 -8 -8 -8 -1

现在我只想要奇怪的根源。在这个例子中,-8是偶数根(4次),-1是奇数,所以输出只有-1。如果rtemp = [-8 -8 -8 4 -1 3],则-8将是奇数根(3次),因此输出将为[-1 -8]。 我怎么写只有奇怪的根?谢谢!

1 个答案:

答案 0 :(得分:2)

获得消极的真实根源:

rneg = rtemp(imag(rtemp)==0 & real(rtemp) < 0)

然后才得到奇怪的根源:

R = min(rneg):max(rneg);
final = R(mod(histc(rneg,R),2)==1)