MATLAB の図からデータを抽出​するにはどうすればよ​いですか?

조회 수: 105 (최근 30일)
MathWorks Support Team
MathWorks Support Team 2024년 9월 18일
편집: MathWorks Support Team 2024년 9월 30일
いくつかの MATLAB の図がありますが、それに関連する MATLAB コードはありません。図の中の曲線からデータを抽出したいです。

채택된 답변

MathWorks Support Team
MathWorks Support Team 2024년 11월 13일 0:00
この例では、MATLAB の図からデータを抽出する方法を説明します。図がファイル(例えば、'example.fig')として保存されている場合は、'openfig'を使用して図ファイルを開き、Figure オブジェクトを変数'fig'に割り当てます。
fig = openfig('example.fig');
図がすでに開いている場合は、'gcf'を使って Figure オブジェクトにアクセスし、それを変数'fig'に割り当てます。
fig = gcf;
プロットされたグラフィックスオブジェクトのデータにアクセスする方法はいくつかあります。Children プロパティを使用するか、'findobj'を使うことができます。
Childrenプロパティを使用する方法
Children プロパティを通じてプロットされたグラフィックスオブジェクトにアクセスします。Axes オブジェクトは Figure の子であり、プロットされたグラフィックスオブジェクトは通常、Axes オブジェクトの子です。
axObjs = fig.Children; dataObjs = axObjs.Children;
コマンドウィンドウに表示される'dataObjs'配列は、軸内のグラフィックスオブジェクトの種類を示します。異なるグラフィックスオブジェクトは異なる方法でデータを格納します。例えば、Lineオブジェクトはデータを'XData'、'YData'、および'ZData'プロパティに格納します。'dataObjs'の最初の要素がLineオブジェクトである場合、そのデータに次のコードでアクセスします。
x = dataObjs(1).XData; y = dataObjs(1).YData; z = dataObjs(1).ZData;
図に他の種類のグラフィックスオブジェクトが含まれている場合は、適切なプロパティを使用してデータにアクセスしてください。グラフィックスオブジェクトとそのプロパティの一覧については、以下のリンクを参照してください: グラフィックスオブジェクトのプロパティ
findobj関数を使用する方法
また、特定のデータプロパティを持つ図内のすべてのグラフィックスオブジェクトを見つけることもできます。例えば、'YData'プロパティを持つすべてのグラフィックスオブジェクトを見つけ、最初のオブジェクトの'YData'値にアクセスします。
dataObjs = findobj(fig,'-property','YData'); y1 = dataObjs(1).YData;

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 ビッグ データの処理에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

제품

Community Treasure Hunt

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

Start Hunting!