1、编程求满足? 解:
m=1; s=0;
while s<=10000 s=s+2^m; m=m+1; end m=m-1;
disp('m=');
disp(m);
运行结果: m= 13
i2?10000i?1m的最小m值。
2、编写一个函数,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。
function [y]=myfun1(x)
?sinx,?y(x)??x,??x?6,?x?00?x?3x?3
选择一些数据测试你编写的函数。
function y=myfun1(x) if x<=0
y=sin(x); elseif x>0&x<=3 y=x;
else y=6-x; end return ;
3、编写一个函数,给出一个向量x?[x1,x2,?xn],生成如下范德蒙矩阵。
??1xfunction [v]=myvander(x)?1?x2?1????xn?11例如:>>v=myvander([2 3 4 5]) 得v=
??1111??2345???491625?? ?82764125??生成一些数据测试你写的函数。
function [v]=myvander(x) n=length(x); v(1:n)=1; for i=n+1:n*n a=i/n;
r=mod(i,n); b=floor(a); if r==0 r=n; b=b-1; end
v(i)=x(r)^b; end
v=reshape(v,n,n)';
>> myvander([1 2 3])
ans =
1 1 1
1?x2?x22??xn?12?1?x?nx2?n? ?xn?1?n???? 1 2 3 1 4 9
>> myvander([ 1 4 6 8])
ans =
1 1 1 1 1 4 6 8 1 16 36 64 1 64 216 512
4. 求从1到100的数字的和。
a=1; s=0;
while a>0&&a<=100; s=s+a; a=a+1; end ; s
第三个实验的实验内容
5.Xb(n) 的时域和幅频特性:
n=0:50;
x=zeros(1,51); x(1)=1;close all; subplot(3,1,1); stem(n,x);
title('单位冲击信号序列 x(n)'); k=-25:25;
X=x*(exp(-j*pi/25)).^(n'*k); magX=abs(X);
subplot(3,1,2);stem(n,magX); title('单位冲击信号的幅度谱'); angX=angle(X);
subplot(3,1,3);stem(n,angX);
title('单位冲击信号序列的相位谱');
************************************************
6.Hb(n)的时域和幅频特性:
n=1:50;
x=zeros(1,50); x(1)=1; x(2)=2.5; x(3)=2.5; x(4)=1; close all;
subplot(3,1,1); stem(x);
title('系统单位脉冲响应信号序列'); k=-24:25;
X=x*(exp(-j*pi/25)).^((n-1)'*k); magX=abs(X); subplot(3,1,2); stem(magX);
title('系统频率响应的相位谱')
*************************************************
7.xC(n)的时域和幅频特性:
Subplot(3,1,1); Stem(x);
Title('矩形脉冲序列'); K=-24:25;
X=x*(exp(-j*pi/25)).^((n-1))*k;
magX=abs(X);
Subpolt(3,1,2);stem(magX);
Title('矩形脉冲序列博立叶变换的幅度谱'); angX=angle(X);
Subpolt(3,1,3);stem(angX);
Title('矩形脉冲序列博立叶变换的相位谱');
************************************************* *************************************************
8.a=[1 -1 0.9];
b=[1]; n=0:30; x=(1/2).^n; h=filter(b,a,x);
stem(n,h,'fill'),grid on
xlabel('n'),title('系统单位取样响应h(n)')
************************************************** **************************************************
9.matlap 程序;
n=0:50; %定义序列的长度是50 A=444.128; %设置信号有关的参数 a=50*sqrt(2.0)*pi;
T=0.001; %采样率
w0=50*sqrt(2.0)*pi; %ω符号在MatLab 中不能输入,用w 代替
x=A*exp(-a*n*T).*sin(w0*n*T); %pi 是MATLAB 定义的π,信号乘可采用“.*” close all %清除已经绘制的x(n)图形
subplot(3,1,1);stem(x); %绘制x(n)的图形
title('理想采样信号序列'); %设置结果图形的标题
*****************************************************
10.matlap 程序;
a=[3,4,1]; b=[1 1]; n=0:30; x=(1/2).^n; h=filter(b,a,x);
stem(n,h,'fill'),grid on
xlabel('n'),title('系统单位取样响应h(n)')
11.matlap 程序:
a=[5/2,6,10]; b=[1]; n=0:30; x=(1/2).^n; h=filter(b,a,x);
stem(n,h,'fill'),grid on
xlabel('n'),title('系统单位取样响应h(n)')
*******************************************************
实验五 离散信号的DTFT和DFT
12.(一)编制实验用主程序及相应子程序: