我有一個簡單的矩陣:[3 5 9 10]
。我如何將它轉換爲: [3 0 ; 5 3 ; 9 5 ; 10 9]
MATLAB中的矩陣操作
我試過使用hankel等,但沒有奏效。這需要是一個向量操作(no for/while循環)。謝謝!
我有一個簡單的矩陣:[3 5 9 10]
。我如何將它轉換爲: [3 0 ; 5 3 ; 9 5 ; 10 9]
MATLAB中的矩陣操作
我試過使用hankel等,但沒有奏效。這需要是一個向量操作(no for/while循環)。謝謝!
你就近了。實際上,你想使用的功能,而不是TOEPLITZ:
>> vec = [3 5 9 10];
>> toeplitz(vec,[vec(1) 0])
ans =
3 0
5 3
9 5
10 9
但是,因爲你只在你的矩陣2列,這是更簡單:
[vec; 0 vec(1:end-1)].'
a = 1:4;
b = repmat(a',1,2);
b(:,2) = b(:,2)-1;
感謝eykanal!但我的問題並不清楚..你的回答對我的初始問題是正確的。 – Maddy 2011-04-06 19:10:58
感謝Kenneth(再次)! – Maddy 2011-04-06 19:11:33