Apricus_77 2021-06-07 18:37 采纳率: 100%
浏览 671
已采纳

利用Matlab求门函数频谱提示错误

利用Matlab绘制门函数 g2 (t) 的频谱;

我的程序先写了门函数代码

function y=gate(t,w)
y=(abs(t)<=1).*(1).*exp(-j*w*t);

之后利用quad求

w=linspace(-20,20,256);
N=length(w);F=zeros(1,N);
for k=1:N
    F(k)=quad(@gate,-2,2)
end
plot(w,real(F));
xlabel('\omega');ylabel('F(j\omega)');

然后就开始报错

(在一楼的提示下修改了gate中错误的括号后报错依旧)

新报错:

>> project4
输入参数的数目不足。

出错 gate (line 2)
y=(abs(t)<=1).*(1).*exp(-j*w*t);

出错 quad (line 67)
y = f(x, varargin{:});

出错 project4 (line 4)
    F(k)=quad(@gate,-2,2)
 
>> 

 

求怎么解决?

  • 写回答

2条回答 默认 最新

  • CSDN专家-Matlab_Fans 2021-06-07 19:50
    关注

    问题是括号不匹配,gate函数改成:

    function y=gate(t,w)
    y=(abs(t)<=1).*(1).*exp(-j*w*t);

    求解段修改为:

    w=linspace(-20,20,256);
    N=length(w);F=zeros(1,N);
    for k=1:N
        w0 = w(k);
        g = @(t) gate(t,w0);
        F(k) = quad(g,-2,2);
    end
    plot(w,real(F));
    xlabel('\omega');ylabel('F(j\omega)');
    

     

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 这怎么写啊 java课设
  • ¥15 双向孟德尔随机化反向是为什么显示参数长度为零
  • ¥15 用C语言完成一个复杂的游戏
  • ¥15 如何批量更改很多个文件夹里的文件名中包含文件夹名?
  • ¥50 MTK手机模拟HID鼠标出现卡顿
  • ¥20 求下下面这个数据结构代码
  • ¥20 前端 二进制文件流图片转化异常
  • ¥15 github上的这个C语言项目如何跑起来
  • ¥15 java 判断某个数 区间是否存在
  • ¥15 appium控制多个雷电模拟器问题