专栏
标签
使用 findpeaks 函数报错:ERROR: MethodError: no method matching findpeaks(::Matrix{Any})
技术分享
发布于 2025-07-10 11:02:00
查看 1过去327天

findpeaks 函数的输入参数不支持 Matrix{Any} 类型,需要使用 Float64 函数和 vec 函数将其转换为支持输入的 Vector{Float64} 类型。
示例:
1.运行下面代码,由于数据类型不匹配,会出现报错:

using TyPlot 
using TySignalProcessing

data = Array{Any}(undef,2,2) 
data[1] = 25
data[2] = 8
data[3] = 15
data[4] = 6
pks, = findpeaks(data)  #出现报错

image.png
2.修改上述代码如下:

using TyPlot 
using TySignalProcessing

data = Array{Any}(undef,2,2) 
data[1] = 25
data[2] = 8
data[3] = 15
data[4] = 6
data = vec(Float64.(data)) #将类型转为可输入的Vector{Float64}类型
pks, = findpeaks(data)

3.运行上述修改后的代码,可以看到计算出正确结果:
image.png
4.有关 findpeaks 函数输入参数类型,可以参考帮助文档中 findpeaks 文档的“输入参数“部分:
image.png

所属专栏:Julia语言
产品信息:Syslab科学计算环境
科学计算

全部回答

暂无数据
暂无数据
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天