matlab程序求助,不懂怎么定义没有定义的函数
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/08/27 06:00:58
matlab程序求助,不懂怎么定义没有定义的函数
第一个:
wp=0.2*pi;
ws=0.3*pi;
tr_width=ws-wp;
M=ceil(6.6*pi/tr_width)+1;
n=[0:1:M-1];
wc=(ws+wp)/2;
hd=ideal_lp(wc,M); %需要定义
w_ham=(hamming(M))';
h=hd.*w_ham;
freqz (h,[1])
figure(2);
subplot(2,2,1),stem(n,hd);title('理想脉冲响应')
axis([0 M-1 -0.3 0.3]);xlabel('n');ylabel('hd(n)')
xa=0.*n;
hold on
plot(n,xa,'k');
hold off
subplot(2,2,2),stem(n,w_ham);title('hamming 窗')?
axis([0 M-1 -0.3 1.2]);xlabel('n');ylabel('w(n)')
subplot(2,2,3),stem(n,h);title('实际脉冲响应')
axis([0 M-1 -0.3 0.3]);xlabel('n');ylabel('h(n)')
hold on
plot(n,xa,'k');
hold off
第二个:
ws1=0.2*pi; wp1=0.35*pi;
ws2=0.65*pi;wp2=0.8*pi;
As=60;
tr_width=min((wp1-ws1),(wp2-ws2));
M=ceil(11*pi/tr_width)+1;
n=[0:1:M-1];
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
hd=ideal_lp(wc2,M)-ideal_lp(wc1,M); %需要定义
w_bla=(blackman(M))';
h=hd.*w_bla
freqz(h,[1])
figure(2);
subplot(2,2,1),stem(n,hd);title('idael?impulse?response')?
axis([0 M-1 -0.4 0.5]);xlabel('n');ylabel('hd(n)')
xa=0.*n;
hold on
plot(n,xa,'k');
hold off
第一个:
wp=0.2*pi;
ws=0.3*pi;
tr_width=ws-wp;
M=ceil(6.6*pi/tr_width)+1;
n=[0:1:M-1];
wc=(ws+wp)/2;
hd=ideal_lp(wc,M); %需要定义
w_ham=(hamming(M))';
h=hd.*w_ham;
freqz (h,[1])
figure(2);
subplot(2,2,1),stem(n,hd);title('理想脉冲响应')
axis([0 M-1 -0.3 0.3]);xlabel('n');ylabel('hd(n)')
xa=0.*n;
hold on
plot(n,xa,'k');
hold off
subplot(2,2,2),stem(n,w_ham);title('hamming 窗')?
axis([0 M-1 -0.3 1.2]);xlabel('n');ylabel('w(n)')
subplot(2,2,3),stem(n,h);title('实际脉冲响应')
axis([0 M-1 -0.3 0.3]);xlabel('n');ylabel('h(n)')
hold on
plot(n,xa,'k');
hold off
第二个:
ws1=0.2*pi; wp1=0.35*pi;
ws2=0.65*pi;wp2=0.8*pi;
As=60;
tr_width=min((wp1-ws1),(wp2-ws2));
M=ceil(11*pi/tr_width)+1;
n=[0:1:M-1];
wc1=(ws1+wp1)/2;
wc2=(ws2+wp2)/2;
hd=ideal_lp(wc2,M)-ideal_lp(wc1,M); %需要定义
w_bla=(blackman(M))';
h=hd.*w_bla
freqz(h,[1])
figure(2);
subplot(2,2,1),stem(n,hd);title('idael?impulse?response')?
axis([0 M-1 -0.4 0.5]);xlabel('n');ylabel('hd(n)')
xa=0.*n;
hold on
plot(n,xa,'k');
hold off
需要定于的函数有三种形式,M函数,inline函数和匿名函数
M函数格式:function (返回参数列表)=函数名(输入变量列表)
这个编好之后保存成一个.m文件,调用的时候就像你这里调用
匿名函数:f=@(变量列表)函数内容
这个可以直接得到f值
inline函数:格式F=inline(‘函数内容’,自变量列表)
这个不推荐使用
再问: 因为刚学 还是不太懂 你能就我上面的例子 具体说一下吗
再答: 这个例子根本就没有定义ideal_lp这个函数,只是两个用他的例子罢了。也就是说你得有一个ideal_lp.m这个文件来定义这个函数。从它的调用格式上看,应该是输入两个变量,wc和M,至于输出是什么值得看具体程序。你可以在主界面输入edit然后就可以编辑这个函数了
M函数格式:function (返回参数列表)=函数名(输入变量列表)
这个编好之后保存成一个.m文件,调用的时候就像你这里调用
匿名函数:f=@(变量列表)函数内容
这个可以直接得到f值
inline函数:格式F=inline(‘函数内容’,自变量列表)
这个不推荐使用
再问: 因为刚学 还是不太懂 你能就我上面的例子 具体说一下吗
再答: 这个例子根本就没有定义ideal_lp这个函数,只是两个用他的例子罢了。也就是说你得有一个ideal_lp.m这个文件来定义这个函数。从它的调用格式上看,应该是输入两个变量,wc和M,至于输出是什么值得看具体程序。你可以在主界面输入edit然后就可以编辑这个函数了