Find the difference between rows and substract it

조회 수: 4 (최근 30일)
Márcia Vicente
Márcia Vicente 2019년 7월 4일
답변: Guillaume 2019년 7월 5일
Hi,
So I have a Matrix (158x101), where the rows represent the number of steps, and the columns the length of the steps.
Since the steps are not starting all at the same time and have different lengths, this Matrix has Nans at the end to compensate for the shorter steps.
I want to find the step with the lowest starting value and then substract the difference from the values from that step by the other steps. In order to put them starting at the same time.
When plotting the steps I have now this:
Where the red *, represent the mean. And since I am losing a lot data to find the mean and I would like to put them, as I said before, starting at the same point.
% find the step with the lowest value
min_A1=min (Amtx1(:,1));
indice_min_A1=find(Amtx1 == min(Amtx1(:,1)));
That's what I have so far, the lowest value and the indice (or the number os the step, where that occours).
Not sure now how to do the rest.
Thanks in advance
  댓글 수: 9
Guillaume
Guillaume 2019년 7월 5일
Again, I don't understand how the shift of Amtx1 (your x axis) affects Amtx3 (the y axis). Could you give a simple example of inputs and desired output. E.g:
Amtx1 = [[1; 2; 3], [0.5; 1.5; 2.5] [2; 3; 4]] %3 columns of x values
Amtx3 = [[1; 2; 3], [2; 2; 2], [3; 2; 1]] %and corresponding columsn of y values
newAmtx1 = ??
newAmtx3 = ??
Márcia Vicente
Márcia Vicente 2019년 7월 5일
It wouldn't affect Amtx3, that one would stay the same. I would shift the values only along the X-axis.
So following your example I would have:
Amtx1 = [[1; 2; 3], [0.5; 1.5; 2.5] [2; 3; 4]] %3 columns of x values
Amtx3 = [[1; 2; 3], [2; 2; 2], [3; 2; 1]] %and corresponding columsn of y values
%Since the first lowest value of Amtx1 is 0.5. I would shift all the data to
%begin there, so I would substract the difference to all Amtx1 points.
New_Amtx1=[[0.5;1.5;2.5], [0.5; 1.5; 2.5], [0.5;1.5;2.5]] % -0.5 in the 1st row, -1.5 in the 3rd row
Amtx3 = [[1; 2; 3], [2; 2; 2], [3; 2; 1]] % stays the same

댓글을 달려면 로그인하십시오.

채택된 답변

Guillaume
Guillaume 2019년 7월 5일
I'm not sure how that is diferent from shiftng to 0, but to achieve what you want:
shift = Amtx1(1, :) - min(Amtx1(1, :));
plot(Amtx1 - shift, Amtx3);

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Image Data에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by