matrix inside a matrix

Hello everyone,
I am working on building an energy momentum relationship (E-K diagram) for a semiconductor. I am treating my periodic system with 100 unit cells and so i have a 100-by-100 matrix. The matrix is such that all the diagonal elements look like the same (say 3 3 3 ...... all across the diagonal), all the upper diagonal elements look the same (2 2 .......)and all the lower diagonal elements look the same too. The problem is i havent been able to build my 100 by 100 matrix when the diagonal elements look like say 3 4 5 3 4 5 3 4 5 ............ The same thing goes for the variation in upper and lower diagonal elements. Can anyone please help me what sort of command should i use?

 采纳的回答

The REPMAT and DIAG commands should be able to do what you need:
A = repmat([3;4;5],5,1)
B = diag(A,0)
Check out the example in the documentation for DIAG on how to expand this to tridiagonal matrices.

更多回答(0 个)

类别

在 帮助中心 和 File 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