Respuesta aceptada

Brian Hart
Brian Hart el 22 de Dic. de 2018
Editada: Brian Hart el 22 de Dic. de 2018

0 votos

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 comentarios

Guillaume
Guillaume el 22 de Dic. de 2018
It is unclear if the formula in the question is as written or which would make more sense. One thing for sure, it's not likely to be which is what you calculate.
Brian Hart
Brian Hart el 22 de Dic. de 2018
Yep, missed a set of parenthesis. Corrected, thanks.

Iniciar sesión para comentar.

Más respuestas (2)

Guillaume
Guillaume el 22 de Dic. de 2018
Editada: Guillaume el 22 de Dic. de 2018

1 voto

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
Stephan el 22 de Dic. de 2018
Editada: Stephan el 22 de Dic. de 2018

0 votos

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

Categorías

Etiquetas

Preguntada:

el 22 de Dic. de 2018

Comentada:

el 22 de Dic. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by