作业帮 > 综合 > 作业

求大神帮忙这个式子怎么用matlab做出图像来.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/04 20:08:07
求大神帮忙这个式子怎么用matlab做出图像来.
Y[N]=sigma k 是0到10 乘X[n-k]
先说明一下,如果按这个式子编程的话,在n等于1到9的时候,x的下角标n-k会有负数的出现,编程语言是不允许的,matlab里矩阵的角标应该为正整数.这样的话,n需要从11开始,此时求出来的第一个数是y(11),这也是没办法的事情,让y(1)到y(10)都为0吧.
x是你的已知向量
x=[];
l=length(x);
y=zeros(1,l);
for n=11:l
for k=1:10
y(n)=y(n)+k*x(n-k);
end
end
即可.
再问: 你好多谢帮忙 。请问x等于的那个括号是什么意思
再答: 你自己的向量啊 你的x 是怎么来的 那是赋值语句啊
再问: 将n-k带入就行? 小弟刚学没几天 不是很熟练
再问: 将n-k带入就行? 小弟刚学没几天 不是很熟练
再答: 如果你的x有一百个数,那这句话就是
x=[你的这一百个数,用空格分开];
这样
x(1)就表示第一个数,x(100)表示最后一个数
在for循环中,以n为自变量的话,x(n)自然就表示x里的第n个数
再问: 题目中好像没有对x进行定义的样子,还是非常感谢,不知道这个X是不是要自己算。
再答: 实际应用的话,没有输入x,那这个式子还有什么意义呢。对于做题的话,出题者就不考虑这么多了,他的目的应该只是实现循环累加,但是为了保证程序的完整性,x最好赋值,鉴于题目没给,那就选择随机赋值吧,
x=rand(1,100);
再问: 非常感谢 那个y的等式为什么会等于y(n)加上后面的数呢?y 的那个zeros的取值也看不大明白 为什么是1,l?
再答: 只是一个对应关系而已 题目这么给的话,用语言描述,滤波的前提是要有波形信号,所以之前要有这样的一个x,x是一个一维向量。有了x之后,对这个信号滤波,还是之前说的,x本身必须从x(1)开始,因为编程时角标不能是负的,因此y只能从y(11)开始,y(11)等于0*x(11)+1*x(10)+...9*x(2)+10*x(1);以k为自增量实现这个语句,
起始条件k=0,y(11)=0*x(11-0);(这条语句实际上没有任何效果,所以编程可以从下一行开始)
下一步k=1,y(11)=0*x(11-0)+1*x(11-1)=y(11)(上一步得到的结果)+1*x(11-1);
一直到k=10;y(11)一直是一个自加的过程,因为自加语句y(n)=y(n)+k*x(n-k)需要一个y(n)的初始值,否则不能开始,所以给y起始值都赋为0;

你要是有一丁点的关于循环语句的编程思想,你就能看懂这个循环。这个循环本身也不难,你可以按照循环过程把它完全拆开来看这些语句是怎么运行的。