Borrar filtros
Borrar filtros

Add value at new position automatically to matrix

3 visualizaciones (últimos 30 días)
Fabian Haslwanter
Fabian Haslwanter el 3 de En. de 2023
Editada: Stephen23 el 3 de En. de 2023
Hello there, following problem:
I have a matrix A. For an algorithm a value should be added in the last place of a new row and column, rest filled with 0. I tried this in B but the result should look like in C. Is there an easy way to do this without manually adding an additional column and row?
Thank you very much!
A = [1 2 3;4 5 6]
A = 2×3
1 2 3 4 5 6
B = {A 0;0 1}
B = 2×2 cell array
{2×3 double} {[0]} {[ 0]} {[1]}
C = [1 2 3 0;4 5 6 0;0 0 0 1]
C = 3×4
1 2 3 0 4 5 6 0 0 0 0 1
  3 comentarios
Torsten
Torsten el 3 de En. de 2023
Yes, it's fine.
Or
A = [1 2 3;4 5 6];
value = 1.0;
A = [A,zeros(size(A,1),1);zeros(1,size(A,2)),value]
A = 3×4
1 2 3 0 4 5 6 0 0 0 0 1
Stephen23
Stephen23 el 3 de En. de 2023
Editada: Stephen23 el 3 de En. de 2023
"This is my current solution:"
Just use BLKDIAG or basic MATLAB indexing:
A = [1,2,3;4,5,6];
A(end+1,end+1) = 1
A = 3×4
1 2 3 0 4 5 6 0 0 0 0 1

Iniciar sesión para comentar.

Respuesta aceptada

Matt J
Matt J el 3 de En. de 2023
Editada: Matt J el 3 de En. de 2023
A = [1 2 3;4 5 6];
C=[A, zeros(2,1);
zeros(1,3) , 1 ]
C = 3×4
1 2 3 0 4 5 6 0 0 0 0 1
or
C=blkdiag(A,1)
C = 3×4
1 2 3 0 4 5 6 0 0 0 0 1

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by