Extract Plot Values from Sine Wave

Hello,
I'm looking for some general ideas / suggestions about my current problem. I need to write some functions that will extract interesting data points (min,max, p-p,etc) from a plotted sine wave. The wave has not been created yet. A coworker will create the equations that will generate this wave at a later date, so I don't know if he will be plotting an actual sine wave, or if he will have points that will become a wave form. So I cannot simply take values from a single equation. I hope that makes sense so far. Basically, I'm doing the post-processing work on his plot so that when he creates the equations and plots, the whole program will run, and my functions will appropriately extract the information needed. Does anyone have any suggestions on a stable way to extract interesting information as mentioned from a currently unknown plot? Or to even extract ALL values in defined timesteps?
It seems that there are so many ways to do something like this, so I'm hoping for some guidance to know which paths might be better than others. I will be creating test plots while doing this, but I cannot be sure of the end outcome, except that they will be sine waves.

4 件のコメント

Image Analyst
Image Analyst 2014 年 10 月 2 日
編集済み: Image Analyst 2014 年 10 月 2 日
We can't answer until we know what form "a plotted sine wave" takes. Will you have the actual equations in an m-file so that you can regenerate the data? Will you have an image/screenshot/fig-file of the plot? Will you have a paper plot/printout? Of course if you have the equations, it's trivial - just use the max() and min() functions on the output of the equations.
katerina
katerina 2014 年 10 月 2 日
I will have access to whatever calculations have been made, but the purpose of my creating the post-processing work now is so that when my coworker has time to create the calculations, it will be ready for use. So I cannot assume to have anything more than a matlab plotted figure. I cannot even assume to have a sine function.
Image Analyst
Image Analyst 2014 年 10 月 2 日
Why doesn't he just call max() or min() after he plots it? How hard would that be?
katerina
katerina 2014 年 10 月 2 日
hahahahaha! - very good question. I work with all mechanical engineers, so most of them prefer to have minimal contact with script / function-writing.

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

 採用された回答

Star Strider
Star Strider 2014 年 10 月 2 日

0 投票

You have to extract the entire data series from a plot. If you have the plot open in your workspace, the easiest way is to use the appropriate handle graphics calls:
xd = get(gca, 'XData');
yd = get(gca, 'YData');
and then analyse ‘xd’ and ‘yd’ as you wish.

2 件のコメント

katerina
katerina 2014 年 10 月 2 日
This looks great. Thank you!
Star Strider
Star Strider 2014 年 10 月 2 日
編集済み: Star Strider 2014 年 10 月 2 日
My pleasure!
Note: ‘plot open in your workspace’ means as a ‘.fig’ file. An image file will not have that information.

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeCreating, Deleting, and Querying Graphics Objects についてさらに検索

質問済み:

2014 年 10 月 2 日

コメント済み:

2014 年 10 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by