专栏
标签
M 兼容使用 fft 函数:TyMLang.InputArgumentError:参数数量过多,1个参数超过0个参数
技术分享
发布于 2025-07-10 10:37:10
查看 1过去327天

问题现象

M 兼容使用 fft 函数时不能正确调用到函数,出现报错如下:TyMLang.InputArgumentError:参数数量过多,1个参数超过0个参数。
image.png

解决方法

由于存在同名自定义函数 fft,导致在使用时调用到自定义函数,而非 M 兼容中的 fft 函数,因此导致报错,需要使用 which 命令找到对应的自定义函数,重命名后即可解决。
示例:
1.启动 M 命令行,输入以下命令并回车:

which fft

2.可以看到此时显示出自定义函数 fft 的路径:
image.png
3.将光标移动到路径上,ctrl 加单击打开自定义函数的路径:
image.png
4.找到 fft.m 文件,右键选择重命名:
image.png
5.重命名该函数,例如重命名为“my_fft”:
image.png
6.新建 m 文件,运行下面代码:

Fs = 1000;            % Sampling frequency                    
T = 1/Fs;             % Sampling period       
L = 1500;             % Length of signal
t = (0:L-1)*T;
S = 0.8 + 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);
X = S + 2*randn(size(t));
Y = fft(X);
plot(Fs/L*(0:L-1),abs(Y),"LineWidth",3)
title("Complex Magnitude of fft Spectrum")
xlabel("f (Hz)")
ylabel("|fft(X)|")

7.可以看到此时成功调用了 M 兼容的 fft 函数:
image.png

所属专栏:Syslab基础平台
产品信息:M语言兼容工具
科学计算

全部回答

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