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

105 Ansichten (letzte 30 Tage)
MathWorks Support Team
MathWorks Support Team am 18 Sep. 2024
いくつかの MATLAB の図がありますが、それに関連する MATLAB コードはありません。図の中の曲線からデータを抽出したいです。

Akzeptierte Antwort

MathWorks Support Team
MathWorks Support Team am 13 Nov. 2024 um 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;

Weitere Antworten (0)

Kategorien

Mehr zu ビッグ データの処理 finden Sie in Help Center und File Exchange

Tags

Noch keine Tags eingegeben.

Produkte

Community Treasure Hunt

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

Start Hunting!