Syslab中使用find函数得到索引后,对索引进行计算报错:ERROR:MethodError:nomethodmatching,如何处理?
技术分享
发布于 2025-07-22 14:46:25
查看 1过去315天
问题现象
Syslab 中使用 find 函数得到索引后,对索引进行计算报错:ERROR: MethodError: no method matching:
代码如下:
using TyBase
f= -61.44:0.48:60.96
Freqdown = -20.0
Freqdown = Freqdown/1e6
index1 = find(f .>= Freqdown,1,"first")
index11 = max(index1-1,1)

解决方法
1.运行代码:
using TyBase
f= -61.44:0.48:60.96
Freqdown = -20.0
Freqdown = Freqdown/1e6
index1 = find(f .>= Freqdown,1,"first")
2.在命令行中输入 index1,可以看到得到的返回值为只有一个元素的向量

3.将代码修改为以下:
#index11 = max(index1-1,1)
index11 = max(index1[1]-1,1)#取出第一个元素
4.运行上述代码,可以看到得到了正确的结果:

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