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

利用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条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵