What is the best way to flip part of the graph about the x axis in MATLAB ?

10 Ansichten (letzte 30 Tage)
so as stated above when I am trying to plot a graph of a wave, I want to reflect the down dips in the graph to be upwards, is there anyway of doing that directly?
  2 Kommentare
Abdullah AlQulaibi
Abdullah AlQulaibi am 27 Apr. 2018
as you can see the noted valley are 2 different forces that have to be added which means that they should be inverted about the red line shown as well.

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Star Strider
Star Strider am 27 Apr. 2018
Bearbeitet: Star Strider am 27 Apr. 2018
Multiply the y-values by -1 to ‘flip’ it. This is the best way, and one you can use with the findpeaks function to determine the ‘peaks’ from the original data and the ‘valleys’ from the inverted data.
You may want to add an offset if you want it completely above or below y=0.
  2 Kommentare
Star Strider
Star Strider am 27 Apr. 2018
Abdullah AlQulaibi’s Answer moved here —
thank you for your reply, will that help with flipping the points shown in the figure here?
Star Strider
Star Strider am 27 Apr. 2018
My pleasure.
To flip them about the red line (at y=1), first subtract 1 from your signal, then multiply it by -1, then add 1 to it.
If you want everything to be above the red line at y=1, subtract 1 from your signal, then take the absolute value (the abs function), and add 1 back to it.
If ‘y’ is your signal:
y_new = 1 + abs(y - 1);
One of these should do what you want.

Melden Sie sich an, um zu kommentieren.


Ameer Hamza
Ameer Hamza am 27 Apr. 2018
Since you want to invert about y=1 line, you can change the y variable of your data like this,
yInverted = -y+2; % +2 to bring it back to +1 after inversion
ploy(x, yInverted);

Kategorien

Mehr zu 2-D and 3-D Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by