MATLAB Answers

Creating a Matrix with a pattern

2 views (last 30 days)
I am trying to create a pattern that starts to follow a pattern starting at the second row in the first column, then on the third row but starts on the second column and continues until an n term, creating a [n;n] matrix. The pattern is similar to this matrix:
A = [ 2,-2,0,0,0,0,0,0,0,0,0; -2,4,-2,0,0,0,0,0,0,0,0; 0,-2,4,-2,0,0,0,0,0,0,0; 0,0,-2,4,-2,0,0,0,0,0,0;
0,0,0,-2,4,-2,0,0,0,0,0; 0,0,0,0,-2,4,-2,0,0,0,0; 0,0,0,0,0,-2,4,-2,0,0,0; 0,0,0,0,0,0,-2,4,-2,0,0;
0,0,0,0,0,0,0,-2,4,-2,0; 0,0,0,0,0,0,0,0,-2,4,-2; 0,0,0,0,0,0,0,0,0,-2,4]
I am wondering how I can replicate the pattern above in a similar code then typing it out.
  1 Comment
Walter Roberson
Walter Roberson on 27 May 2021
A = [ 2,-2,0,0,0,0,0,0,0,0,0; -2,4,-2,0,0,0,0,0,0,0,0; 0,-2,4,-2,0,0,0,0,0,0,0; 0,0,-2,4,-2,0,0,0,0,0,0;
0,0,0,-2,4,-2,0,0,0,0,0; 0,0,0,0,-2,4,-2,0,0,0,0; 0,0,0,0,0,-2,4,-2,0,0,0; 0,0,0,0,0,0,-2,4,-2,0,0;
0,0,0,0,0,0,0,-2,4,-2,0; 0,0,0,0,0,0,0,0,-2,4,-2; 0,0,0,0,0,0,0,0,0,-2,4]
A = 11×11
2 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 27 May 2021
N = 11;
diag([2, 4*ones(1,N-2), 2]) + diag(-2*ones(1,N-1),1) + diag(-2*ones(1,N-1),-1)
ans = 11×11
2 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2 0 0 0 0 0 0 0 0 0 -2 4 -2

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by