syms t w;
Fw=pi/2*cos(w/2)/((pi/2)^2-(w/2)^2);
f=ifourier(Fw,t)
ezplot(f);
报错:错误使用 inlineeval行内表达式出错 ==> -fourier(cos(w./2)./(w.^2./4 - 2778046668940015./1125899906842624), w, -t)./4 未定义与 'double' 类型的输入参数相对应的函数 'fourier'。出错 inline/feval (第 33 行) INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr); %#ok出错 ezplotfeval (第 53 行) z = feval(f,x(1),y(1));出错 ezplot>ezimplicit (第 266 行) u = ezplotfeval(f, X, Y);出错 ezplot (第 162 行) hp = ezimplicit(cax, f{1}, vars, labels, args{:});出错 sym/ezplot (第 66 行) h = ezplot(fhandle(f)); %#ok出错 a2 (第 4 行)ezplot(f);
你的代码使用了 Matlab 中的 ifourier 函数来计算时域信号 f 的频域表达式 Fw。ifourier 函数是 Matlab 中的逆傅里叶变换函数,它可以根据一个频域信号的表达式,求出对应的时域信号的表达式。
代码中 ifourier 函数并没有正常执行,而是抛出了一个错误:"错误使用 inlineeval 行内表达式出错 ==> -fourier(cos(w./2)./(w.^2./4 - 2778046668940015./1125899906842624), w, -t)./4 未定义与 'double' 类型的输入参数相对应的函数 'fourier'。"
这个错误信息告诉你,在 Matlab 中,没有定义一个叫做 "fourier" 的函数,与 "double" 类型的输入参数相对应。这意味着,你的代码中调用的 fourier 函数是未知的,Matlab 不知道如何处理它。
这个问题的原因可能是: