用MATLAB实现如下运算,

学习 时间:2026-04-06 17:34:35 阅读:6572
用MATLAB实现如下运算,续:先从采样数据中,间隔4^L-1抽取4个数据;再距离这4个数据4^(L-2)、2*4^(L-2)、3*4^(L-2 )的位置上抽取12个累记16个数据;再在此数据基础上距离4^L-3、2*4^(L-3)、3*4^L-3抽取数据,累计4^3个数据……以此类推.

最佳回答

称心的老师

愉快的咖啡

2026-04-06 17:34:35

L是什么?提问一定要说详细 再问: 哦,我的错,假设有序列1:N,N=4^L,当然都必须是整数,比如1:64个数的排列就是 1 17 33 49 5 21 37 53 9 25 41 57 13 29 45 61 2 18 34 50 ……,最后排列的数据存放到一个1*N的数组里 再答: 那L是什么?你还是答非所问再问: 就像上面的例子,很显然,L=3啊,就是4的幂次 再答: 你的题还真有点让人费解,花了好长时间。 L=3; N=4^L; dN=1:N;%round(20*rand(1,N));%采样数据 sy=1:4^(L-1):N;%初始采样索引 for i=1:L if i==1 sy0=sy; ndn=dN(sy0); else ni=length(ndn); sy1=sy+4^(L-i); ndn=[ndn,dN(sy1)]; sy2=sy+2*4^(L-i); ndn=[ndn,dN(sy2)]; sy3=sy+3*4^(L-i); ndn=[ndn,dN(sy3)]; sy=[sy0 sy1,sy2,sy3]; end end ndn%采样结果显示再问: 当L大于等于4的时候 ,ndn就表示的不全了啊,比如,L=4时,本应该有256个数,结果ndn只有220个。L=6,本来应该有4096个,结果只有2152个 再答: 没试,不好意思。

最新回答共有2条回答

  • 勤恳的大侠
    回复
    2026-04-06 17:34:35

    L是什么?提问一定要说详细 再问: 哦,我的错,假设有序列1:N,N=4^L,当然都必须是整数,比如1:64个数的排列就是 1 17 33 49 5 21 37 53 9 25 41 57 13 29 45 61 2 18 34 50 ……,最后排列的数据存放到一个1*N的数组里 再答: 那L是什么?你还是答非所问再问: 就像上面的例子,很显然,L=3啊,就是4的幂次 再答: 你的题还真有点让人费解,花了好长时间。 L=3; N=4^L; dN=1:N;%round(20*rand(1,N));%采样数据 sy=1:4^(L-1):N;%初始采样索引 for i=1:L if i==1 sy0=sy; ndn=dN(sy0); else ni=length(ndn); sy1=sy+4^(L-i); ndn=[ndn,dN(sy1)]; sy2=sy+2*4^(L-i); ndn=[ndn,dN(sy2)]; sy3=sy+3*4^(L-i); ndn=[ndn,dN(sy3)]; sy=[sy0 sy1,sy2,sy3]; end end ndn%采样结果显示再问: 当L大于等于4的时候 ,ndn就表示的不全了啊,比如,L=4时,本应该有256个数,结果ndn只有220个。L=6,本来应该有4096个,结果只有2152个 再答: 没试,不好意思。

上一篇 每晚都做梦用英语怎么说

下一篇 This kind of coffee ---- best