我想用MATLAB中的單個for循環來實現BlockLMS。爲了這個目的,在給定矢量ü,我試圖創建表格在MATLAB中對整形矢量進行整形
U = [u(k) u(k+1) u(k+2) ... u(k+n)
u(k-1) u(k) ... ... u(k+n-1)
... ... ... ... ...
u(k-n) u(k-n+1) ... ... u(k)]
其中Ñ是常數,並且ķ的表是與每一個用於循環變化的變量,假設k > n
在任何時候。到目前爲止我所完成的是:
index = meshgrid(0:-1:1-n)' + meshgrid(1:n);
for i = 2:q
% calculate k
U = u(k + index);
% rest of code goes here
end
哪些,雖然它的工作,可悲非常緩慢,不適合我的需要。有沒有更有效的方法來達到這個結果?
看起來像你只需要一個Toeplitz矩陣,http://www.mathworks。com/help/matlab/ref/toeplitz.html – bla