matlab冲激函数怎么生成
3个回答
展开全部
更多追问追答
追问
x=linspace(-10,10,10000);
>> y=(x==0); %就是个条件判断,只有x=0的时候,y才为“1”
>> plot(x,y)
>> grid
为什么我这样写输出的图像不一样呢,旋转了九十度呢?
追答
不能用linspace,它没有生成x=0这个点(如图):所以x==0就不会成立
要用x=-10:0.1:10;
保证有0点
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
冲激函数即是delta函数,属于广义函数。直观的理解便是在x0点取值为1,在区间其余处取值为0。其可以直接生成,也可以视为阶梯函数的导数来生成。
在matlab中,如果是为了绘制出冲激函数的效果图,可以如下编写m文件:
function x=impseq(n0,n1,n2)
n = n1:0.01:n2;
x = [(n-n0)==0]; %其中n0为delta=1处横坐标。
end
其中n0是取值为1的点,n1,n2是区间左右端点,你可以通过调节0.01使得函数不为0区域变窄。
除此之外,如果你仅仅要使用冲激函数,即按照其广义的定义,我建议还是解析进行比较好。毕竟广义函数不是一般意义上的函数,其存在性依赖于函数的弱收敛。而matlab只是一个数值模拟程序,这方面不是很适合。
在matlab中,如果是为了绘制出冲激函数的效果图,可以如下编写m文件:
function x=impseq(n0,n1,n2)
n = n1:0.01:n2;
x = [(n-n0)==0]; %其中n0为delta=1处横坐标。
end
其中n0是取值为1的点,n1,n2是区间左右端点,你可以通过调节0.01使得函数不为0区域变窄。
除此之外,如果你仅仅要使用冲激函数,即按照其广义的定义,我建议还是解析进行比较好。毕竟广义函数不是一般意义上的函数,其存在性依赖于函数的弱收敛。而matlab只是一个数值模拟程序,这方面不是很适合。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询