7. MATLAB 入門 - グラフィック描画 (1)

記事ディレクトリ

序文

1. 2次元データ曲線チャート

1.1. 単一の 2 次元曲線を描く

1.2. 複数の2次元曲線の描画

1.3. 曲線スタイルの設定

1.4. グラフィック注釈と座標制御

1.5. 適応サンプリングの描画

1.6. グラフィックウィンドウの分割

2.その他の2次元グラフィックスの描画 

要約する


序文

        前回の学習を経て、MATLABを使ったプログラミングや数値計算はかなり慣れてきましたが、数値計算は所詮離散データであり、どんなに完璧で正確であっても数値計算から直接計算することは困難です。膨大なデータからその具体的な意味や内在する法則を感じてみましょう。人々は科学計算結果の全体的な重要性や多くの内部の本質をグラフィックスを通じて直感的に感じることを好むため、MATLAB のもう 1 つの機能である強力なグラフィックス描画機能を使用する必要があります。

        MATLAB は強力なグラフィック表現機能を備えており、2 次元グラフィックだけでなく 3 次元グラフィックも描画でき、注釈、視点、色、照明などの操作によってグラフィックを変更することもできます。MATLAB には 2 種類の描画コマンドがあります。1 つはグラフィックス ハンドルを直接操作する低レベルの描画コマンド、もう 1 つは低レベルのコマンドに基づいて構築された高レベルの描画コマンドです。私たちは主に、シンプル、明確、便利で効率的な高レベルの描画コマンドを学びます。


1. 2次元データ曲線チャート

        2 次元データ グラフは、平面座標上のデータ ポイントを接続した平面グラフです。使用できる座標系は直交座標系のほか、対数座標系、極座標系などを使用することができます。データ ポイントはベクトルまたは行列形式で指定でき、型は実数または複素数にすることができます。

1.1. 単一の 2 次元曲線を描く

        MATLAB では、プロット関数を使用して、広く使用されている直交座標系で 2 次元曲線を描くことができます。

プロット関数の呼び出し形式は次​​のとおりです。

                        プロット(x,y)

        このうち、x と y は同じ長さのベクトルで、それぞれ x 座標と y 座標のデータを格納するために使用されます。プロット関数は、横軸を x、縦軸を y とする 2 次元の曲線を描く関数で、x(i) 点の関数値を y(i) とします。

1.2. 複数の2次元曲線の描画

1. プロット関数の入力パラメータは行列形式です。

        プロット関数の入力パラメータがベクトルの場合、単一の曲線を描画する最も基本的な使用法です。ただし、実際のアプリケーションでは、プロット関数の入力パラメータを行列形式にすることができ、その場合、複数の曲線が同じ座標系で異なる色で描画されます。

① x がベクトル、y が x と同じ次元の 1 次元の行列の場合、y 行列の他方の次元に等しい数の異なる色の曲線を複数描きます。これらの曲線の共通の横座標。

② x と y が同じ次元の行列の場合、x と y の対応する列要素をそれぞれ水平座標と垂直座標として、行列の列数と同じ数の曲線を描きます。

③ 入力パラメータが 1 つだけのプロット関数の場合、入力パラメータが実数行列の場合、添字に対する各列の要素値の曲線が列ごとに描画されます。入力パラメータ行列の列。

2. 複数の入力パラメータを使用したプロット関数

        プロット関数には複数のベクトル ペアのセットを含めることができ、各ベクトル ペアは曲線を描くことができます。

複数の入力パラメータを使用したプロット関数の呼び出し形式は次​​のとおりです。

                        プロット(x1,y1,x2,y2,x3,y3,......xn,yn)

① 入力パラメータがすべてベクトルの場合、x1、y1、x2、y2 はそれぞれベクトル ペアのセットを形成します。ベクトル ペアの各セットの長さは異なっていてもよく、ベクトル ペアの各セットは曲線を描くことができます。同じ座標 システム内に複数の曲線が描画されます。

② 入力パラメータが行列の場合、対応する列要素の水平座標と垂直座標に従って、行列の列数と同じ数の x 曲線と y 曲線のペアが描画されます。

3. グラフィックの保持

        通常の状況では、MATLAB 描画コマンドは実行されるたびに現在のグラフィックス ウィンドウを更新し、グラフィックス ウィンドウ内の元のグラフィックスは存在しなくなります。既存のグラフィックスに新しいグラフィックスを追加し続けたい場合は、グラフィックスを使用できます。ホールドコマンドホールド。hold on コマンドは元のグラフィックを維持し、hold off コマンドは元のグラフィックを更新します。

1.3. 曲線スタイルの設定

        MATLAB で複数の曲線を描くとき、​​曲線をよりよく区別するには、曲線の色と種類を使用するのが良い方法です。MATLAB には、次の表に示すように、曲線の色と曲線のスタイルに関する描画オプションがいくつか用意されています。

① 曲線タイプのオプション:

シンボル

線形

シンボル

線形

-

実線 (デフォルト)

-。

点線

:

点線

--

ダブルダッシュ

② 曲線の色のオプション:

シンボル

シンボル

b(青)

m(マゼンタ)

赤紫色

g(グリーン)

y(黄色)

黄色

r(レッド)

k(ブラック)

c(シアン)

w(白)

③ マーク記号のオプション:

オプション

マーク記号

オプション

マーク記号

ポイント

下向きの三角形の記号

O(文字)

上向きの三角形の記号

X(文字)

クロス

<

左向きの三角形の記号

+

プラス

>

右向きの三角形の記号

*

アスタリスク

p(五芒星)

五芒星のシンボル

s(正方形)

四角いシンボル

h(ヘキサグラム)

六芒星のシンボル

d(ダイヤモンド)

ひし形のお守り

         上図に示すように、曲線 y1 はデフォルト値 (つまり青い実線)、曲線 y2 は黒い点線で、曲線 y1 と y2 が交差する (x の値が等しい) 場所には がマークされています。青い五芒星のシンボル。このような曲線を同じ座標系で表示すると、一目ではっきりとわかります。

1.4. グラフィック注釈と座標制御

1. グラフィック注釈:

        グラフを描画するときに、グラフの名前、座標軸の説明、グラフの特定の部分の意味など、グラフに説明を追加できます。これらの操作を、意味を持たせるためのグラフ アノテーションの追加といいます。グラフがより鮮明で読みやすくなります。

グラフィック注釈関数の呼び出し形式は次​​のとおりです。

        ①タイトル(グラフ名)

        ② ylabel(y軸の説明)

        ③ xlabel (x軸の説明)

        ④ zlabel(z軸の記述)

        ⑤ テキスト(x、y、グラフィックの説明)

        ⑥凡例(凡例1、凡例2、...)

        title 関数と xlabel、ylabel、zlabel 関数はそれぞれグラフィックスと座標軸の名前を記述するために使用されます。text 関数は、(x, y) 座標にグラフィックの説明を追加します。凡例機能は、曲線の描画に使用される線の種類、色、またはデータ ポイントで凡例をマークするために使用されます。凡例はグラフの空白スペースに配置され、マウスで移動することもできます。

        上図のように、グラフを描画する際に、座標軸の説明と曲線の説明に加えて、グラフの説明も追加しました。これにより、2つの曲線がそれぞれどのような関数であるかがわかり、これも役立ちます数学的な分析を行うため。 

2. 座標制御

        グラフィックスを描画するとき、MATLAB は描画する曲線データの範囲に基づいて適切な座標スケールを自動的に選択し、曲線ができるだけ明確に表示されるようにします。そのため、一般に、グラフィックスのスケール範囲を考慮する必要はありません。コーディネート。特別な状況でユーザーが座標のスケール範囲を選択する必要がある場合は、axis 関数を使用して設定できます。この関数の呼び出し形式は、axis([xmin xmax ymin ymax zmin zmax]) です。そのパラメータは、それぞれ x 軸、y 軸、z 軸の最小値と最大値です。さらに、axis 関数には多くの関数があり、一般的に使用される形式は次のとおりです。

軸関数の一般的な形式:

        ① 軸が等しい:縦軸と横軸が等しい長さのスケールを採用

        ② axis square: 正方形座標系を生成します (デフォルトは長方形)

        ③ 軸自動: デフォルト設定を使用します。

        ④ 軸オフ:座標系を解除します。

        ⑤ 軸上:表示座標系

        座標の表示範囲を設定する上記の機能に加えて、グリッド コマンドによって制御される座標にグリッド線を追加することもできます。グリッド オン/オフ コマンドは、グリッド線を描画するかどうかを制御します。座標に境界線を追加することで、座標にグリッド線を追加することもできます。 box コマンドによって制御され、box on/off コマンドは座標に境界線を追加するかどうかを制御します。

1.5. 適応サンプリングの描画

        先ほどプロット描画関数について学びましたが、この関数の基本原理は、まず十分に密な独立変数ベクトル x を取得し、次に関数値ベクトル y を計算し、最後に描画関数を使用して描画することです。等間隔でサンプリングされます。精度要件が高くない状況にのみ適しています。ただし、曲線の精度が非常に高い場合、等間隔でサンプリングする方法は現実的ではないため、実際の関数の変化パターンを完全に反映するには、変化率の大きな部分を集中的にサンプリングする必要があります。 fplot 関数はこの関数をうまく実現することができ、グラフィックスの信憑性を向上させることができます。

fplot 関数の呼び出し形式は次​​のとおりです。

                fplot(@(引数)fname,lims,options)

        このうち、@() 括弧には、@(x) などの独立変数が含まれます。fname は文字列の形式で表示される関数名です。lims は、次の形式で表示される x と y の値の範囲です。行ベクトル。オプションは曲線の色、スタイルなどに設定されます。

        上図のようにfplot関数で描いたグラフで、独立変数はx、関数名はcos(tan(pi*x))、表示範囲は0~1、オプションの種類は赤い水平線で描かれます。 

1.6. グラフィックウィンドウの分割

        実際のアプリケーションでは、グラフィックス ウィンドウ内に複数の独立したグラフィックスを描画する必要がある場合が多く、この場合はグラフィックス ウィンドウを分割する必要があります。分割されたグラフィックスウィンドウには複数の描画エリアが表示され、各描画エリアは独立した座標系を確立してグラフィックスを描画できます。グラフィックス ウィンドウの分割では、MATLAB が提供する subplot 関数の呼び出し形式は次​​のとおりです: subplot(m,n,p) この関数は、現在のグラフィックス ウィンドウを m*n の描画領域に分割します (p は現在の描画領域を表します)。

2.その他の2次元グラフィックスの描画 

        先ほど、2次元グラフィックスを直交座標系で描画する話をしましたが、2次元グラフィックスは直交座標系以外にも対数座標系や極座標系などを使うことができます。対数座標系について学んでみましょう。または極座標系を組み合わせて、座標系の下で 2 次元データ曲線を描画します。

①対数座標系図:

        semilogx(x1,y1,オプション1,x2,y2,オプション2,...)

        semilogy(x1,y1,オプション 1,x2,y2,オプション 2,...)

        loglog(x1,y1,オプション1,x2,y2,オプション2,...)

        オプションの定義は、plot 関数の定義とまったく同じです。違いは、座標軸の選択です。semilogx 関数は片対数座標を使用し、x 軸は一般的に使用される対数スケールで、y 軸は軸は線形スケールを維持します。semilogy も片対数座標系を使用します。y 軸は一般的に使用される対数スケールであり、x 軸は線形スケールを維持します。loglog 関数は完全な対数座標系を使用し、両方の座標系を使用します。 x 軸と y 軸には、一般的に使用される対数スケールが使用されます。

②極座標系図:

        極(θ、ρ、オプション)

        このうち、theta は極座標における極角、rho は極座標におけるベクトル半径であり、オプションの内容はプロット関数と同じです。

③ bar(x,y,option): 棒グラフ

④ 階段(x,y,option):はしご図

⑤ステム(x,y,オプション):棒グラフ

⑥ fill(x1,y1,オプション 1,x2,y2,オプション 2,...)


要約する

        今日のMATLABの学習は以上で、今回は直交座標系やその他の座標系での2次元グラフィックスの描画、グラフィックスのラベル付けやグラフィックスの表示範囲など、2次元グラフィックスの描画について学びました。その中でも直接座標系での 2次元グラフィックスの描画はよく使うものなので、より多くの作例を使って印象を深めることができます。

おすすめ

転載: blog.csdn.net/weixin_62912626/article/details/132357243