
下面的matlab代码该怎么理解?是求采样信号重构的函数
t=0:0005:1;T=0.1;%samplingperiodt=t';n=(0:T:1)';xs=cos(2*pi*f*n);ya=sinc((1/T)*t(:,on...
t=0:0005:1;
T = 0.1; % sampling period
t=t';
n = (0:T:1)';
xs = cos(2*pi*f*n);
ya = sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;%ya的表达式该怎么理解?他是怎么做到对n进行无穷求和的?
有点眉目了,ya前面一堆sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')是1*n的矩阵,后面的xs是n*1的矩阵而*号是矩阵乘法,不是.*,所以最后得到1*1矩阵,根据矩阵乘法的定义,得到的值就是相乘的和,但还有一点不懂的是重构函数是对xs*sinc((t-nT)/T)求和,但是上面的表达式化简后好像是sinc(t/T-n/T),正确的应该是sinc(t/T-n),我哪里错了,那位高手回答一下! 展开
T = 0.1; % sampling period
t=t';
n = (0:T:1)';
xs = cos(2*pi*f*n);
ya = sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')*xs;%ya的表达式该怎么理解?他是怎么做到对n进行无穷求和的?
有点眉目了,ya前面一堆sinc((1/T)*t(:,ones(size(n))) - (1/T)*n(:,ones(size(t)))')是1*n的矩阵,后面的xs是n*1的矩阵而*号是矩阵乘法,不是.*,所以最后得到1*1矩阵,根据矩阵乘法的定义,得到的值就是相乘的和,但还有一点不懂的是重构函数是对xs*sinc((t-nT)/T)求和,但是上面的表达式化简后好像是sinc(t/T-n/T),正确的应该是sinc(t/T-n),我哪里错了,那位高手回答一下! 展开
1个回答
展开全部
首先,这段代码是走不下去的。因为第5句的f 没有定义,Matlab是会有出错提示的。
其次,第3,4句的数组转置好像也没有必要。我试着把f 定义了一下,运算的结果是1 。
恐怕别人是无法理解这段代码的,要问原来编写的人了。
其次,第3,4句的数组转置好像也没有必要。我试着把f 定义了一下,运算的结果是1 。
恐怕别人是无法理解这段代码的,要问原来编写的人了。
更多追问追答
追问
这是从一段代码里面截出来的,贴上来的时候忘了定义f了,第5句改成xs = cos(10*pi*n);
至于第3,4句的数组转置的必要性,我也不清楚。我是初学者,不能理解代码,应该有高手可以理解吧。。。
追答
我对Matlab也不是很熟悉,以前我对看不明白的程序是一句一句地做下去,一般会知道每一句是干什么的。建议你对用来的程序也用这个办法试试,应当可以把他的思路找出来。

2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询