1
我想知道是否有可能找到包含复杂的值,比如下面的数据数据峰:找到复值向量峰
x = [1 2+3i 4 5+6i 0.1+0.2i 10 -1+9i]
要查找峰实际数据,我们可以很容易地使用MATLAB中的findpeaks
函数。例如:
>> data = [2 12 4 6 9 4 3 1 19 7];
>> pks = findpeaks(data);
pks =
12 9 19
但是我很感兴趣我该如何确定什么应该成为复杂数据峰值的标准?它是模数?例如,如果两个复变量被
x = 3+4i
y = 2+3i
然后
|x| = sqrt(3*3+4*4) = 5
|y| = sqrt(4+9) = 3.605551275
明确|y|<|x|
给出的,不是使任何意义?我已经尝试了下面的代码,但它给我带来了错误
a = [1 2+3i 4+5i -1 0.1+0.2i];
>> a
a =
Columns 1 through 3
1.0000 2.0000 + 3.0000i 4.0000 + 5.0000i
Columns 4 through 5
-1.0000 0.1000 + 0.2000i
>> findpeaks(a)
??? Error using findpeaks
Expected X to be real.
??? Error in findpeaks>parse_inputs (line 54)
validateattributes(X,{'numeric'},{'nonempty','real','vector'},...
??? Error in findpeaks (line 43)
[X,Ph,Pd,Th,Np,Str,infIdx] = parse_inputs(X,varargin{:});
山峰我不需要只是单一的vlaue,但向量的峰值,感谢回复 –
让我们说模数情况?因为所有其他人都会类似 –
@dato:'a'只是你提供的一个例子;它只包含1个峰值。其他数据当然可以给出更多的高峰。只需使用abs()来找到模量(这是真实的,你知道如何找到峰值)。 –