Matrix subtraction every two adjacent column

1 回表示 (過去 30 日間)
MUHAMMAD SYAKIR YUSRI
MUHAMMAD SYAKIR YUSRI 2021 年 2 月 12 日
Hello everyone,I have a matrix x with MxN = (3750X666) and I want to subtract every two adjacent column,normalize it and create a new matrix y= [x(:,n)-x(:,1:n-1))] ./ x(;,n), n start with 2nd column and end with N, how can I do it?
  4 件のコメント
Matt J
Matt J 2021 年 2 月 12 日
Here is the solution you were given. As you can see, it does 664 subtractions, which is exactly the number of pairs available (separated by a stride of 2) along the whole width of your matrix.
x=rand(3750,666);
y=(x(:,3:end)-x(:,1:end-2))./x(:,2:end-1);
whos y
Name Size Bytes Class Attributes y 3750x664 19920000 double
MUHAMMAD SYAKIR YUSRI
MUHAMMAD SYAKIR YUSRI 2021 年 2 月 12 日
Thank Matt, i was confused earlier. Thank you for the explanation.

サインインしてコメントする。

回答 (2 件)

Stephan
Stephan 2021 年 2 月 12 日
% sample data
A = randi(10,5,3)
% second col minus first and so on
B = A(:,2:end) - A(:,1:end-1)
% first col minus second and so on
C = A(:,1:end-1) - A(:,2:end)

Matt J
Matt J 2021 年 2 月 12 日
y=diff(x,1,2);

カテゴリ

Help Center および File ExchangeMatrix Decomposition についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by