急急急!!!matlab语句挑错!!!重赏!!!

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:24:33
%MATLAB PROGRAM 24-7
clf
wp1=0.3*pi;wp2=0.7*pi;
ws1=0.2*pi;ws2=0.8*pi;
wp=[wp1,wp2];ws=[ws1,ws2];
deltaw=wp1-ws1;
N0=ceil(11*pi/deltaw);
N=N0+mod(N0+1,2);
r=(N-1)/2;n=0:N-1;
windows=(blackman(N))';
wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;
hd=sin(wc2*(n-r))/pi./(n-r)-sin(wc1*(n-r))/pi./(n-r);
b=hd.*windows;
%以上两条可以代b=fir1(N-1,[wc1,wc2],windows)
function [db,mag,pha,grd,w]=freqz_m(b,1)
[db,mag,pha,grd,w]=freqz_m(b,1)
%[H,w]=freqz(b,1);
%dbH=20*log10((abs(H)+eps)/max(abs(H)));
%pha=angle(H);
dw=2*pi/1000;
Rp=-(min(db(wp1/dw+1:wp2/dw+1)))
ws0=[1:ws1/dw+1,ws2/dw+1:501];
As=-round(max(db(ws0)))
%作图
subplot(2,2,1),stem(n,b);
axis([0,N,1.1*min(b),1.1*max(b)]);
subplot(2,2,2),stem(n,windows);
axis([0,N,0,1.1]);
subplot(2,2,3),stem(w/pi,dbH);
axis([0,1,-150,10]);
set(gca,'XTickMode','manual','XT

你的function是定义子函数吗,定义子函数要在主函数内,或在其他m文件中。

你在第一行添加
function []=f()
最后一行添加两个end
end
end
把15行
function [db,mag,pha,grd,w]=freqz_m(b,1)
的第二个参数1改为变量
就可以了

什么英语吗