Is there a function that populates a matrix whose minor diagonal are all the same?

6 次查看(过去 30 天)
Is there a function that populates a matrix whose minor diagonal are all the same, according to the given (odd-numbered) vector? For example, for
[1, 7.9, 100, 18.2, -3.4]
, we can get a 3x3 matrix:
1 7.9 100
7.9 100 18.2
100 18.2 -3.4
I can of course populate this matrix myself. I am just wondering if there is a single function provided by Matlab that can do it. Thanks.

采纳的回答

Stephen23
Stephen23 2018-10-18
编辑:Stephen23 2018-10-18
Use hankel:
>> V = [1,7.9,100,18.2,-3.4];
>> hankel(V(1:3),V(3:end))
ans =
1 7.9 100
7.9 100 18.2
100 18.2 -3.4
You can easily calculate the midpoint index:
N = (1+numel(V))/2;
hankel(V(1:N),V(N:end))

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Operating on Diagonal Matrices 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by