MATLAB: 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,.

(n x n) matrix

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.

Best 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