我用MATLAB做的卷积和自己运算不一样哪里有问题
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 14:31:52
我用MATLAB做的卷积和自己运算不一样哪里有问题
h=[1,1,1]; %x是因变量
nh=[0:length(h)-1];
x=[0,1/2,1,3/2];
n=[0:length(x)-1];
y_juanji=conv(x,h);
subplot(1,1,1);
stem(y_juanji,'.');
axis([0,10,0,4]);
xlabel('n'),ylabel('h(n)*n(n)');
为什么我自己算完后和用MATLAB算后有差异 貌似左移了1
h=[1,1,1]; %x是因变量
nh=[0:length(h)-1];
x=[0,1/2,1,3/2];
n=[0:length(x)-1];
y_juanji=conv(x,h);
subplot(1,1,1);
stem(y_juanji,'.');
axis([0,10,0,4]);
xlabel('n'),ylabel('h(n)*n(n)');
为什么我自己算完后和用MATLAB算后有差异 貌似左移了1
1,首先,你程序里面的nh,h没有起到任何作用,只是独立的两个向量,没有起
到控制下标的作用
2 如果 真想为X设置下标,只能这样,n=0:(length(h)-1);x(n+1)=[1 1 1]
之所以n+1,matlab 里面不允许向量的下标是0或者负数,必须是自然 数
也就是说,你画出来的图永远会在0 的右侧,这样起始点只有你自己去计算
了,唯一值得参考的,就是matlab计算的结果而已,起始点不可信
到控制下标的作用
2 如果 真想为X设置下标,只能这样,n=0:(length(h)-1);x(n+1)=[1 1 1]
之所以n+1,matlab 里面不允许向量的下标是0或者负数,必须是自然 数
也就是说,你画出来的图永远会在0 的右侧,这样起始点只有你自己去计算
了,唯一值得参考的,就是matlab计算的结果而已,起始点不可信