how to create this matrix?
1 view (last 30 days)
Show older comments
can anyone help me to construct this matrix
blj=(-2)^j-l if l<j
blj=1 if l=j
blj=0 if l>j
0 Comments
Accepted Answer
Brian Hart
on 22 Dec 2018
Edited: Brian Hart
on 22 Dec 2018
Hi diadalina,
I think it would look something like this...
iLength = 5; %rows
jLength = 7; %cols
b=zeros(iLength, jLength);
for i = 1:iLength
for j = 1:jLength
if i == j; b(i,j) = 1; end
if i < j; b(i,j) = (-2)^(j-i); end
end
end
disp(b)
gives a result of:
1 -2 4 -8 16 -32 64
0 1 -2 4 -8 16 -32
0 0 1 -2 4 -8 16
0 0 0 1 -2 4 -8
0 0 0 0 1 -2 4
2 Comments
More Answers (2)
Guillaume
on 22 Dec 2018
Edited: Guillaume
on 22 Dec 2018
Assume your formula is
and not what you have written:

nrows = 5; %number of rows. You haven't specified
ncols = 7; %number of columns. You haven't specified
b = toeplitz([1, zeros(1, nrows-1)], (-2).^(0:ncols-1))
If the formula is what you have actually written,
, then

b = triu((-2).^(1:ncols) - (1:nrows)', 1) + eye(nrows, ncols)
Stephan
on 22 Dec 2018
Edited: Stephan
on 22 Dec 2018
Hi,
do you want a square matrix? Is the calculation correct without any brackets? My calculation follows the way you wrote the formula - if wrong set the brackets corresponding to your expected result.
Then try:
k=3;
[m,n]=meshgrid(1:k);
A=triu((-2).^n-m,1) + eye(k)
Best regards
Stephan
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!