how to find difference between column elemnts in a matrix ?

21 次查看(过去 30 天)
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.

采纳的回答

Stephen23
Stephen23 2017-6-13
编辑:Stephen23 2017-6-14
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 个评论
Walter Roberson
Walter Roberson 2017-6-13
double(M(:,1:2:end)) - double(M(:,2:2:end)) would run less risk of overflowing datatypes
aditya sahu
aditya sahu 2017-6-14
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...

请先登录,再进行评论。

更多回答(1 个)

Walter Roberson
Walter Roberson 2017-6-13
Result = YourMatrix(:,[1 3]) - YourMatrix(:,[2 4])

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by