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

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

Star Strider
Star Strider 2018-4-27
编辑:Star Strider 2018-4-27
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 个评论
Star Strider
Star Strider 2018-4-27
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 2018-4-27
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.

请先登录,再进行评论。


Ameer Hamza
Ameer Hamza 2018-4-27
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);

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by