请问matlab环境下矩阵下标小于等于零的情况怎么解决
我需要运算的公式如下图:其中参数的含义是:N=10230a[k]是一个序列,里面总共有10230个元素t:代表偏移量m是一个变值,要么是1要么是0,取决于t和k的相对大小...
我需要运算的公式如下图: 其中参数的含义是:N=10230 a[k]是一个序列,里面总共有10230个元素t:代表偏移量m是一个变值,要么是1要么是0,取决于t和k的相对大小,根据此公式,我用matlab编写程序如下: d1=Weil(5097,181) ;%这是之前写的一个函数,调用该函数能产生一个长10230位的序列,元素值要么是0,要么是1 d1_tran=1-2*d1; %转换成+1,-1 N=10230; autovalue_int=0; autocorr=zeros(1,10230); for delay=0:10229 %代表t的变化 for k=0:10229 m=floor((sign(delay-k)+1)/2); temp_value=(-1)^m*d1_tran(k+1)*d1_tran(k-delay+1); autovalue=autovalue_int+temp_value; end autocorr(delay+1)=autovalue/N; %我想得到一个关于delay的序列,不同的delay对应的值可能是不同的。end由于matlab环境下,序列的下标是从1开始的,那么红色代码那行d1_tran(k-delay+1)该怎么处理才能按公式算出正确值?求各位指点!
展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询