Creating a Matrix that is a manipulation of another matrix

4 visualizaciones (últimos 30 días)
Julian
Julian el 6 de Oct. de 2015
Respondida: Julian el 6 de Oct. de 2015
Hi, I'm very new to Matlab, and I have a question about creating a matrix. If there is a matrix A = [a b ; c d], how do you create a matrix = [a -b ; c -d]? So the second column entries of A are multiplied by -1.
Thank you.

Respuesta aceptada

dpb
dpb el 6 de Oct. de 2015
A(:,2)=-A(:,2); % negate elements in original
or
A(:,2)=-1*A(:,2);
or
B=[A(:,1) -A(:,2}]; % new array keeping old
Any number of additional ways are possible including, of course linear algebra methods...
B=A*[1 0;0 -1];

Más respuestas (4)

Joseph Cheng
Joseph Cheng el 6 de Oct. de 2015
Editada: Joseph Cheng el 6 de Oct. de 2015
There are lots of ways how about element by element multiplication like:
x = magic(4)
trans = [ones(4,2) -ones(4,2)]
x.*trans
which if it gets complicated say corners and such you can build the trans matrix to whatever you want.
or by selecting the columns manually:
x(:,3:4) = -x(:,3:4)

Julian
Julian el 6 de Oct. de 2015
Thanks!

Julian
Julian el 6 de Oct. de 2015
I have another question. How do you replace just one element in a column not the entire elements in the column?
  1 comentario
Joseph Cheng
Joseph Cheng el 6 de Oct. de 2015
so the indexing is something you should spend some time to read about to fully understand but its like:
x(row,column) so you can say x(2,3) which will specifically be the element of intersection of row 2 and column 3. so to replace one element you would just specify that one element. the : marker in the examples everyone is giving is the "all" marker for all rows/columns (depending on where it is)
x(:,2) is all rows in column 2
x(2,:) is for all columns for row 2.

Iniciar sesión para comentar.


Julian
Julian el 6 de Oct. de 2015
Thank you all!

Categorías

Más información sobre Multidimensional Arrays en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by