Matrix subtraction every two adjacent column

4 visualizaciones (últimos 30 días)
MUHAMMAD SYAKIR YUSRI
MUHAMMAD SYAKIR YUSRI el 12 de Feb. de 2021
Comentada: MUHAMMAD SYAKIR YUSRI el 12 de Feb. de 2021
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 comentarios
Matt J
Matt J el 12 de Feb. de 2021
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 el 12 de Feb. de 2021
Thank Matt, i was confused earlier. Thank you for the explanation.

Iniciar sesión para comentar.

Respuestas (2)

Stephan
Stephan el 12 de Feb. de 2021
% 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 el 12 de Feb. de 2021
y=diff(x,1,2);

Categorías

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

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by