matlab程序找错 显示的是function那行有错 wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1;Rip=10^(-Rp/20);Atn=10^(-As/20);OmgP=wp/T;OmgS=ws/T;[N,OmgC]=buttord(OmgP,OmgS,Rp,As,'s');[cs,ds]=butter(N,OmgC,'s');[b,a]=impinvar(cs,ds,T);[db,mag,pha,grd,w]=fre
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/26 08:50:39
matlab程序找错 显示的是function那行有错 wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1;Rip=10^(-Rp/20);Atn=10^(-As/20);OmgP=wp/T;OmgS=ws/T;[N,OmgC]=buttord(OmgP,OmgS,Rp,As,'s');[cs,ds]=butter(N,OmgC,'s');[b,a]=impinvar(cs,ds,T);[db,mag,pha,grd,w]=fre
matlab程序找错 显示的是function那行有错
wp=0.2*pi;
ws=0.3*pi;
Rp=1;
As=15;
T=1;
Rip=10^(-Rp/20);
Atn=10^(-As/20);
OmgP=wp/T;
OmgS=ws/T;
[N,OmgC]=buttord(OmgP,OmgS,Rp,As,'s');
[cs,ds]=butter(N,OmgC,'s');
[b,a]=impinvar(cs,ds,T);
[db,mag,pha,grd,w]=freqz_m(b,a);
subplot(2,2,1);
plot(w/pi,mag);
title('幅频特性');
xlabel('w(/pi)');
ylabel('|H(jw)|');
axis([0,1,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 0.5 1]);
set(gca,'YTickMode','manual','YTick',[0 Atn Rip 1]);
grid
subplot(2,2,2)
plot(w/pi,db);
title('幅频特性(dB)');
Xlabel('w(/pi)');
Ylabel(dB);
axis([0,1,-40,5]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 0.5 1]);
set(gca,'YTickMode','manual','YTick',[-40 -As -Rp 0]);
grid
subplot(2,2,3);
plot(w/pi,pha/pi);
title('相频特性');
xlabel('w/(/pi)');
ylabel('pha(/pi)');
axis([0,1,-1,1]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 0.5 1]);
grid
subplot(2,2,4);
plot(w/pi,grd);
title('群延迟');
xlabel('w(/pi)');
ylabel('Sample');
axis([0,1,0,12]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 0.5 1]);
grid
function[db,mag,pha,grd,w]=freqz_m(b,a)
[H,w]=freqz(b,a,500);
mag=abs(H);
db=20*log10(mag/max(mag));
pha=angle(H);
grd=(grpdelay(b,a,w);
matlab程序找错 显示的是function那行有错 wp=0.2*pi;ws=0.3*pi;Rp=1;As=15;T=1;Rip=10^(-Rp/20);Atn=10^(-As/20);OmgP=wp/T;OmgS=ws/T;[N,OmgC]=buttord(OmgP,OmgS,Rp,As,'s');[cs,ds]=butter(N,OmgC,'s');[b,a]=impinvar(cs,ds,T);[db,mag,pha,grd,w]=fre
应该是你出 的问题,你是否是在 命令 窗口 定义 的函数
函数 应该在编辑窗口 定义,建一个 m文件.
然后 在命令窗口(或其他文件中) 调用.
我的结果是:fun(3)输出为a