任务
对抽样函数Sa(t)了解不多,对其积分公式进行推导,并用matlab进行计算与绘图
matlab绘制函数图像
%调整图表尺度
scale=0.1;%尺度
count=10;%范围
%自动调整
unit=pi;
range=count*unit;
index=1;
x=zeros(round(count*pi*2/scale),1);
y=zeros(round(count*pi*2/scale),1);
for t=-range:scale:range
x(index)=t;
y(index)=sin(t)/t;
index=index+1;
end
plot(x,y);
上面的代码已经可以绘制抽样函数的图像,但为得到更直观的信息,进行下面的图像注释,参考:
- MATLAB画图技巧:改变坐标轴刻度的显示数值
- 进行更改:matlab可用latex公式,因此用pi表示,并自动生成坐标轴范围
- Matlab保存图像的5种方法
- saveas(gca, filename, fileformat),其中的三个参数:
- gca:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄。
- filename:单引号字符串,指定文件名
- fileformat:单引号字符串,指定存储格式
- 例子:
- saveas(gcf,’save.jpg’); %保存当前窗口的图像
- saveas(2,’save.jpg’); %保存Figure 2窗口的图像
- saveas(gca, filename, fileformat),其中的三个参数:
- 在Matlab里面如何实现字符串的拼接
- 定义字符串:string=””
- 拼接函数:strcat({‘hello ‘},{‘world’});
- 附:文档
%控制坐标范围
axis([-inf,inf,-0.5,1.5]);
%生成横坐标刻度
labels="";
index=1;
interval=count/5;
for tick = -count:interval:count
labels(index)=(strcat({num2str(tick)},{'pi'}));
index=index+1;
end
%设置图表标题/坐标刻度
rangeX=-range:pi*interval:range;
set(gca,'XTick',rangeX);
set(gca,'XTickLabel',labels);
title('Sampling Function');
xlabel('Radians');
ylabel('Function Value');
grid on;
%保存图片,以尺度与范围命名
filename=strcat('sampling-',num2str(scale),'-',num2str(count),'.png');
saveas(gca,filename);
当t=0时,Sa(t)=1;
当t=kpi(k<>0),Sa(t)=0
求积分
如何计算上述积分?两种方法:
(1) ![]()
(2) ![]()
- 利用引入收敛因子,求含参变量的积分
- 傅里叶变换求解
对两种方法分别整理如下
含参变量积分
整理自作业帮回答
求取(2)
(3) ![]()
(4) ![]()
(5) ![]()
对I(x)求微分:
(6) ![]()
利用分部积分公式求得:
(7) ![]()
整理得:
(8) ![]()
则有:
(9) ![]()
(10) ![]()
考虑
时,对于式(4):
(11) ![]()
对于式(10)),则有:
(12) ![]()
(13) ![]()
代入式(10):
(14) ![]()
此时,代回最初的表达式(5),得到结果:
(15) ![]()
Laplace变换
(16) ![]()
(17) ![]()
求取F(s),利用频域微分性质
(18) ![]()
(19) ![]()
令
(20) ![]()
(21) ![]()
(22) ![]()
对于本式,有:
(23) ![]()
(24) ![]()
代入(22)得:
(25) ![]()
同上,将s->∞代入可得
(26) ![]()
代入式(25):
(27) ![]()
此时,代回最初的表达式(17),得到结果:
(28) ![]()
其他解法
可以通过傅里叶变换求解,分别求取sint与1/t的傅里叶变换,再进行卷积
(29) ![]()
(30) ![]()
利用复变函数的留数求解,但奇点在积分路径上,因此不寻常
参考: