Main Content

plot

cfit または sfit オブジェクトのプロット

説明

曲面

plot(sfit) は、sfit オブジェクト sfit で与えられる曲面を現在の座標軸 (gca) の範囲についてプロットします。現在の座標軸が存在しない場合、関数は sfit の作成に使用されたデータの範囲について曲面をプロットします。

plot(sfit,[x,y],z) は、sfitxy、および z のデータの散布図と一緒にプロットします。座標軸の範囲は xy の範囲で与えられます。

plot(___,Name=Value) は、曲面についての前述の構文の任意の入力引数の組み合わせに加え、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、プロットのタイプや範囲を指定できます。

曲線

plot(cfit) は、cfit オブジェクト cfit で与えられる曲線を現在の座標軸 (gca) の範囲についてプロットします。現在の座標軸が存在しない場合、関数は cfit の作成に使用されたデータの範囲について曲線をプロットします。

plot(cfit,x,y) は、cfitx および y のデータの散布図と一緒にプロットします。座標軸の範囲は x の範囲で与えられます。

plot(cfit,x,y,DataLineSpec) は、散布図のデータのプロットに使用する色、マーカー記号、およびライン スタイルを指定します。

plot(cfit,FitLineSpec,x,y,DataLineSpec) は、cfit で与えられる曲線のプロットに plot で使用する色、マーカー記号、およびライン スタイルを指定します。

plot(cfit,x,y,outliers) は、外れ値として扱う散布図のデータを指定し、それらを異なる色でプロットします。

plot(cfit,x,y,outliers,OutlierLineSpec) は、外れ値のプロットに使用する色、マーカー記号、およびライン スタイルを指定します。

plot(___,ptype) は、曲線についての前述の構文の任意の入力引数の組み合わせを使用してプロット タイプを指定します。

plot(___,ptype,level) は、ptype"predfunc" または "predobs" の場合に予測限界の信頼水準を指定します。

曲面と曲線

plot(ax,___) は、gca の代わりに ax で指定された座標軸にプロットします。引数 ax は前述の構文の任意の入力引数の組み合わせの前に指定できます。

H = plot(___) は、プロット オブジェクトへのハンドルのベクトルを返します。

すべて折りたたむ

franke データ セットを読み込みます。

load franke

ベクトル xy、および z には、フランケの二変量テスト関数から生成されたデータが格納されています。

xy、および z のデータに Lowess 平滑化モデルを当てはめます。

ls = fit([x,y],z,"lowess");

ls は、データに Lowess 平滑化モデルを当てはめた結果を含むsfitオブジェクトです。

ls をプロットし、Figure の表示を変更します。

plot(ls)
view([19.5 40.0])

プロットは、x および y の値全体にわたって、Lowess 平滑化近似が z=0z=1.5 の間で波状の曲面になることを示しています。

titanium データ セットを読み込みます。データを行ベクトルから列ベクトルに変換します。

[x, y] = titanium;
x = x';
y = y';

x には温度の測定が格納され、y にはチタンのプロパティの測定が格納されています。

x および y のデータにガウス モデルを当てはめます。

g = fit(x,y,"gauss2");

g は、データにガウス モデルを当てはめた結果を含むcfitオブジェクトです。

g をデータの散布図と一緒にプロットします。

plot(g,x,y)

プロットは、g が大部分のデータに密接に追従しており、x が約 900 の時点で y のデータが急増することを示しています。

関数linspacesinを使用してベースラインの正弦波信号のデータをいくつか生成します。

xdata = linspace(0,2*pi,60)'; 
y0 = sin(xdata);

xdata02π の間の 60 個の点のベクトル、y0xdata の値で正弦関数を評価して与えられる値のベクトルです。

関数randnを使用してガウス分布からノイズを生成します。

rng(0,"twister") %  For reproducibility
gnoise = y0.*randn(size(y0));

インパルス ノイズを生成するには、最初に関数randpermroundを使用してランダムなインデックスのベクトルを作成します。

leny0 = length(y0);
p = randperm(leny0);
stop = round(leny0/5);
idx = p(1:stop);

idxy0 のインデックスを表す整数のベクトルです。

関数zerosを使用してインパルス ノイズのベクトルを作成します。次に、y0 の要素が負であるか正であるかに応じて、関数signを使用して idx 内のそれぞれの位置のノイズ ベクトルに値 –55 を割り当てます。

szy = size(y0);
spnoise = zeros(szy);
yidx = y0(idx);
spnoise(idx) = 5*sign(yidx);

ノイズ ベクトルを y0 に加算します。

ydata = y0 + gnoise + spnoise;

ydata は分散が一定でないノイズを含むデータのベクトルです。

ydata に正弦波モデルを当てはめます。

f = fittype("a*sin(b*x)"); 
fit1 = fit(xdata,ydata,f,StartPoint=[1 1]);

fit1 には、最小二乗近似を使用して正弦波モデルを当てはめた結果が含まれます。

fit1 のモデルから標準偏差の 1.5 倍を超えて離れた xdata および ydata の点から外れ値のベクトルを作成します。

fdata = feval(fit1,xdata);
outliers = abs(fdata - ydata) > 1.5*std(ydata);

外れ値を除外したデータを再度当てはめます。

fit2 = fit(xdata,ydata,f,StartPoint=[1 1],...
           Exclude=outliers);

fit2 には、外れ値を除外したデータに正弦波モデルを当てはめた結果が含まれます。

ロバスト近似アルゴリズムを使用して 3 つ目のモデルを当てはめます。

fit3 = fit(xdata,ydata,f,StartPoint=[1 1],Robust="on");

fit3 には、データに二重平方重み近似アルゴリズムを使用して正弦波モデルを当てはめた結果が含まれます。

近似したモデルを比較するには、データ、外れ値、近似の結果をプロットします。それぞれの近似を異なる色とライン スタイルでプロットし、外れ値をマゼンタのアスタリスクでプロットします。

plot(fit1,"r-",xdata,ydata,"k.",outliers,"m*") 
hold on
plot(fit2,"c--")
plot(fit3,"b:")
xlim([0 2*pi])
legend("data","outlier","fit1","fit2","fit3")

プロットには、それぞれの近似が異なるラインの色とスタイルで示されます。3 つのすべての近似が大部分のデータに追従しています。fit1 は他の 2 つの近似よりも外れ値に近くなっています。

fit1 の残差をプロットします。

figure 
plot(fit1,xdata,ydata,"co","residuals") 
hold on
xlabel("xdata")
ylabel("residuals")
hold off

プロットは、xdata の値全体にわたって、fit1 の残差の分散が一定でないことを示しています。

入力引数

すべて折りたたむ

プロットする曲面近似オブジェクト。sfit オブジェクトとして指定します。

プロットする曲線近似オブジェクト。cfit オブジェクトとして指定します。

散布図のデータの x 座標。数値列ベクトルとして指定します。cfit オブジェクトをプロットするときに x を指定する場合は、y も指定する必要があります。sfit オブジェクトをプロットするときに x を指定する場合は、yz も指定する必要があります。xy は同じサイズでなければなりません。

データ型: single | double

散布図のデータの y 座標。数値列ベクトルとして指定します。cfit オブジェクトをプロットするときに y を指定する場合は、x も指定する必要があります。sfit オブジェクトをプロットするときに y を指定する場合は、xz も指定する必要があります。xy は同じサイズでなければなりません。

データ型: single | double

散布図のデータの z 座標。数値列ベクトルとして指定します。zsfit オブジェクトをプロットする場合のみ指定でき、xy も指定する必要があります。zx は同じサイズでなければなりません。

データ型: single | double

散布図のデータを外れ値として扱うインジケーター。論理式、インデックス ベクトル、または logical ベクトルとして指定します。outlierscfit オブジェクトをプロットする場合のみ指定できます。

  • 論理式 — plot は式を満たすデータ点を外れ値として扱います。

  • インデックス ベクトル — plot は指定されたインデックスのデータ点を外れ値として扱います。

  • logical ベクトル — plotoutlierstrue である位置のデータ点を外れ値として扱います。外れ値を指定する logical ベクトルは関数 excludedata を使用して作成できます。

例については、近似からの点の除外を参照してください。

例: x > 10 は、x の値が 10 より大きいデータを外れ値として扱います。

例: [1 10 25] は、インデックス 110、および 25 のデータを外れ値として扱います。

例: [zeros(100,1);ones(50,1)] は、最後の 50 個のデータ点を外れ値として扱います。

データ型: logical | single | double

散布図のデータのライン スタイル、マーカー、色。記号を含む文字ベクトルまたは string スカラーとして指定します。記号の順番は任意です。3 つの特性 (ライン スタイル、マーカー、色) をすべて指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定した場合、プロットにはマーカーのみが表示され、ラインは表示されません。

DataLineSpeccfit オブジェクトをプロットする場合のみ指定できます。

ライン スタイル説明
-実線 (既定)
--破線
:点線
-.一点鎖線
マーカー説明
o
+プラス記号
*アスタリスク
.
x十字
s正方形
d菱形
^上向き三角形
v下向き三角形
>右向き三角形
<左向き三角形
p星形五角形
h星形六角形
説明

y

m

マゼンタ

c

シアン

r

g

b

w

k

例: "--or" は、円状マーカーの付いた赤の破線を指定します。

データ型: char | string

cfit で与えられる曲線のライン スタイル、マーカー、色。記号を含む文字ベクトルまたは string スカラーとして指定します。記号の順番は任意です。3 つの特性 (ライン スタイル、マーカー、色) をすべて指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定した場合、プロットにはマーカーのみが表示され、ラインは表示されません。

ライン スタイル説明
-実線 (既定)
--破線
:点線
-.一点鎖線
マーカー説明
o
+プラス記号
*アスタリスク
.
x十字
s正方形
d菱形
^上向き三角形
v下向き三角形
>右向き三角形
<左向き三角形
p星形五角形
h星形六角形
説明

y

m

マゼンタ

c

シアン

r

g

b

w

k

例: "--or" は、円状マーカーの付いた赤の破線を指定します。

データ型: char | string

外れ値のプロットに使用するライン スタイル、マーカー、色。記号を含む文字ベクトルまたは string スカラーとして指定します。記号の順番は任意です。3 つの特性 (ライン スタイル、マーカー、色) をすべて指定する必要はありません。たとえば、ライン スタイルを省略してマーカーを指定した場合、プロットにはマーカーのみが表示され、ラインは表示されません。

OutlierLineSpeccfit オブジェクトをプロットする場合のみ指定できます。

ライン スタイル説明
-実線 (既定)
--破線
:点線
-.一点鎖線
マーカー説明
o
+プラス記号
*アスタリスク
.
x十字
s正方形
d菱形
^上向き三角形
v下向き三角形
>右向き三角形
<左向き三角形
p星形五角形
h星形六角形
説明

y

m

マゼンタ

c

シアン

r

g

b

w

k

例: "--or" は、円状マーカーの付いた赤の破線を指定します。

データ型: char | string

曲線近似のプロット タイプ。次のいずれかとして指定します。

  • "fit" — データと近似

  • "predfunc" — 近似の予測限界をもつデータと近似

  • "predobs" — 新規観測の予測限界をもつデータと近似

  • "residuals" — 残差

  • "stresiduals" — 標準化された残差 (標準偏差で除算された残差)

  • "deriv1" — 近似の 1 階微分

  • "deriv2" — 近似の 2 階微分

  • "integral" — 近似の積分

データ型: char | string

ptype"predfunc" または "predobs" の場合における曲線近似の予測区間の信頼水準。範囲 (0,1) のスカラー値として指定します。

例: 0.99

データ型: single | double

ターゲット座標軸。Axes オブジェクトとして指定します。座標軸を指定しない場合、plot は現在の座標軸 (gca) を使用します。

名前と値の引数

引数の任意のペアを Name1=Value1,...,NameN=ValueN のように指定します。Name は引数名、Value は対応する値です。名前と値の引数は、他の引数より後に指定されている必要があります。ただし、各ペアの順序は任意です。

R2021a 以前では、それぞれの名前と値をコンマで区切り、Name を引用符で囲みます。

例: plot(sfit,[x,y],z,YLim=[0,1],Exclude=[1 10 25]) は、y 軸の範囲と外れ値として扱う点を指定します。

散布図のデータを外れ値として扱うインジケーター。論理式、インデックス ベクトル、または logical ベクトルとして指定します。

  • 論理式 — plot は式を満たすデータ点を外れ値として扱います。

  • インデックス ベクトル — plot は指定されたインデックスのデータ点を外れ値として扱います。

  • logical ベクトル — plotoutlierstrue である位置のデータ点を外れ値として扱います。外れ値を指定する logical ベクトルは関数 excludedata を使用して作成できます。

Exclude を指定する場合は、入力引数 xy、および z も指定する必要があります。

例については、近似からの点の除外を参照してください。

例: Exclude=x>10 は、x の値が 10 より大きいデータを外れ値として扱います。

例: Exclude=[1 10 25] は、インデックス 110、および 25 のデータを外れ値として扱います。

例: Exclude=[zeros(100,1);ones(50,1)] は、最後の 50 個のデータ点を外れ値として扱います。

データ型: logical | single | double

曲面近似のプロット スタイル。次のいずれかとして指定します。

  • "Surface"sfit オブジェクトを曲面としてプロットします (既定)。

  • "PredFunc"sfit オブジェクトを関数の予測限界をもつ曲面としてプロットします。

  • "PredObs"sfit オブジェクトを新規観測の予測限界をもつ曲面としてプロットします。

  • "Residuals"sfit オブジェクトの残差をプロットします。Style"Residuals" として指定する場合は、xy、および z も指定する必要があります。

  • "Contour"sfit オブジェクトを等高線図としてプロットします。

例: Style="Contour"

データ型: char | string

Style"PredFunc" または "PredObs" の場合における曲面近似の予測区間の信頼水準。範囲 (0,1) のスカラー値として指定します。

例: Level=0.99

データ型: single | double

表面プロットの x 軸の範囲。2 要素の数値ベクトルとして指定します。xy、および z のデータを指定する場合、座標軸の範囲が xy で与えられます。それ以外の場合、plotsfit の座標軸の範囲を使用します。

例: XLim=[0 1]

データ型: single | double

表面プロットの y 軸の範囲。2 要素の数値ベクトルとして指定します。xy、および z のデータを指定する場合、座標軸の範囲が xy で与えられます。それ以外の場合、plotsfit の座標軸の範囲を使用します。

例: YLim=[-100 100]

データ型: single | double

表面プロットの座標軸のハンドル。Axes オブジェクトとして指定します。

例: Parent=ax

バージョン履歴

R2006a より前に導入