how to find difference between column elemnts in a matrix ?

19 visualizaciones (últimos 30 días)
aditya sahu
aditya sahu el 13 de Jun. de 2017
Editada: Stephen23 el 14 de Jun. de 2017
Let my matrix is
3 2 14 5
7 1 8 9
11 11 12 13
I need to find the substraction between column 1 and 2 and store the result in coulmn 1. similarily for coulmn 3 and 4 and result will be in coulmn 2. i.e the result should be like this
1 9
6 -1
0 -1
kindly, suggest solution. Thank you.

Respuesta aceptada

Stephen23
Stephen23 el 13 de Jun. de 2017
Editada: Stephen23 el 14 de Jun. de 2017
A general solution (without hard-coded columns):
>> M(:,1:2:end) - M(:,2:2:end)
ans =
1 9
6 -1
0 -1
EDIT: if you have uint8 image data, then convert to double first:
double(M(:,1:2:end)) - double(M(:,2:2:end))
  6 comentarios
Walter Roberson
Walter Roberson el 13 de Jun. de 2017
double(M(:,1:2:end)) - double(M(:,2:2:end)) would run less risk of overflowing datatypes
aditya sahu
aditya sahu el 14 de Jun. de 2017
Thank you @walter-roberson and @Stephen Cobeldick ,,i got it...my matrix was actually uint8 and i am expacting negative, sorry for my mistake..but thank you for your suggestion...

Iniciar sesión para comentar.

Más respuestas (1)

Walter Roberson
Walter Roberson el 13 de Jun. de 2017
Result = YourMatrix(:,[1 3]) - YourMatrix(:,[2 4])

Categorías

Más información sobre Matrix Indexing 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