Syslab 报错:MethodError: no method matching rms(::Vector{Any})
技术分享
发布于 2025-08-06 16:25:05
查看 1过去300天
问题现象
运行代码:
b=[ ]
c=rms(b)
Syslab出现报错:MethodError:no method matching rms(::Vector{Any})

解决方法
根据报错信息可以看出,该函数的输入限定了类型,而变量b为Any类型,属于非法输入,所以出现了报错。针对上述问题,可以将变量b的类型修改为确定类型的合法输入,例如Float64类型:
#[ ]为不确定的Any类型输入,对于rms函数来讲是非法输入,会导致报错
#b=[ ]
#F1oat64[]为Float64类型的合法输入
b= Float64[ ]
c= rms(b)
1.优化后的代码如下:
using TyStatistics
b =Float64[ ]
c=rms(b)
2.运行可以得到正确结果:

3.rms函数的用法:
函数库:TyStatistics
语法:
y =rms(x)
y=rms(x,"all")
y =rms(x,dim)
y =rms(x,vecdim)
说明:均方根值
示例:
using TyStatistics
t=0:0.001:1-0.001;
x=@.cos(2*pi*100*t);
y =rms(x)

rms函数的详细用法可以查看帮助文档

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境