How to create a square matrix with zero on main diagonal and all 1's, 2's, 3's, ... n's on upper and lower diagonals?

10 Ansichten (letzte 30 Tage)
Hello,
I have to create a square matrix using a diag function that has the pattern:
m = [ 0 1 2 3 4.... ;
1 0 1 2 3 .... ;
2 1 0 1 2 ....]
The issue is with the line m = m + diag(n, i). It doesn't have the right dimensions. Any feedback would be appreciated!
function m = matpat(n)
%UNTITLED5 Summary of this function goes here
% Function creates an n x n matrix with a pattern of 0 on main diagonal,
% and all 1s, 2s, 3s, ... on upper and lower diagonals
m = zeros(n) ;
for i = 1 : (n - 1)
m = m + diag(n , i) ;
end

Antworten (1)

madhan ravi
madhan ravi am 1 Feb. 2021
help toeplitz
TOEPLITZ Toeplitz matrix. TOEPLITZ(C,R) is a non-symmetric Toeplitz matrix having C as its first column and R as its first row. TOEPLITZ(R) is a symmetric Toeplitz matrix for real R. For a complex vector R with a real first element, T = toeplitz(r) returns the Hermitian Toeplitz matrix formed from R. When the first element of R is not real, the resulting matrix is Hermitian off the main diagonal, i.e., T_{i,j} = conj(T_{j,i}) for i ~= j. Class support for inputs C,R: float: double, single integer: uint8, int8, uint16, int16, uint32, int32, uint64, int64 See also HANKEL. Documentation for toeplitz doc toeplitz Other functions named toeplitz distributed/toeplitz sym/toeplitz

Kategorien

Mehr zu Operating on Diagonal Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by