How do i create a (n x n) matrix using algorithm or other way whose elements are either -1, +3, –3 & 1 , otherwise 0, such that a11=a22=a33=.....=-1, a12=a23=a34=.....= 3, a13=a24=a35=.......= -3, a14=a25=a36=....= 1,.

How do i create a (n x n) matrix using algorithm or other way, whose elements are either -1, +3, –3 & 1 ,such that a11=a22=a33=.....=-1, a12 = a23 = a34 =.....= 3, a13 = a24 = a35=.......= -3, a14 = a25 = a36 =....= 1,otherwise 0.

 Accepted Answer

You can use toeplitz:
>> N = 6;
>> toeplitz([-1,zeros(1,N-1)],[-1,3,-3,1,zeros(1,N-4)])
ans =
-1 3 -3 1 0 0
0 -1 3 -3 1 0
0 0 -1 3 -3 1
0 0 0 -1 3 -3
0 0 0 0 -1 3
0 0 0 0 0 -1
If N can be less than four, then you will need to do this:
>> N = 3;
>> C = [-1,3,-3,1,zeros(1,N-4)];
>> R = [-1,zeros(1,N-1)];
>> toeplitz(R(1:N),C(1:N))
ans =
-1 3 -3
0 -1 3
0 0 -1

1 Comment

It is trivial to make this work with non-square matrices:
>> M = 5;
>> N = 7;
>> toeplitz([-1,zeros(1,M-1)],[-1,3,-3,1,zeros(1,N-4)])
ans =
-1 3 -3 1 0 0 0
0 -1 3 -3 1 0 0
0 0 -1 3 -3 1 0
0 0 0 -1 3 -3 1
0 0 0 0 -1 3 -3

Sign in to comment.

More Answers (0)

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!