米国のレース補間とフィッティングの(MathWorks社のMATLAB自習)

補間とフィッティング

フィッティングと補間関数を構築することは、近似として、データの集合です。

補間

区分的線形補間

区分〔XI、西+ 1]各細胞機能との間において、(XI)=イーとして示さ線形補間関数は、線形関数である(I 0,1 =、...、。-N-1)
ここに画像を挿入説明
のn-大きく、複数のセグメント、小さな補間誤差。

ラグランジュ補間多項式

ここに画像を挿入説明

スプライン補間

コンセプトスプライン

ここに画像を挿入説明

キュービックスプライン補間

我々は三次多項式関数の各小区間[a、b]は二次微分です。
これはと呼ばれる場合があります。
ここに画像を挿入説明
ここに画像を挿入説明

MathWorks社のMATLABツールボックス

Y = interp1を(X0、Y0、 'メソッド')

補間法の方法は、デフォルトのための線形補間
値は次のようになります。
最寄りの最新のエントリ補間
線形の線形補間
スプラインキュービックスプライン補間、
キュービックキュービック補間

Y =スプライン(X0、Y0、X)

キュービックスプライン補間機能

PP = csape((X0、Y0、conds)。

デフォルトの境界条件、すなわち、境界条件は、ラグランジュ
PP = csape(X0、Y0、 conds、valconds);
condsよいです
ここに画像を挿入説明

Y = fnval(PP、X)。

csape戻るPPフォーム必要な関数値の補間点は、関数fnval呼び出す必要があり
スプライン部の任意の点fnval計算値を

サブプロット機能:

機能:図形を分割は、サブ座標作成
H =サブプロット(M、N、 P)/サブプロット(MNP) 図形をm×n個のブロック、pブロック元素で作成した座標系に分割され、そのハンドルを返します。M、N、P <10は、サブプロット(MNP)またはサブプロットのMNPとして簡略化することができる場合

(注:サブプロット(M、N、P)またはサブプロット(MNP)この関数は、最も一般的である:サブプロットは、複数のピクチャは、M Mは、図に配置されている行を表す平面に対する工具であり、nが図に配置され表します。 n列、すなわち、全体の図は、あるN個の第1の数は2今曲線は、図中、図に描かれたい図2 .P行によって表されている場合の図は、m個の行の合計を整列することです。それが1である場合、最終的に、左から右への第一の位置を示します。)

プロット機能

機能:二次元画像をレンダリング
1:プロット(X、Y、LineSpec)は
は、LineSpecは、描画スタイルである
Y黄色
Mパープル
Cシアン
R赤
G緑色
Bブルー
ホワイトW
Kブラック

  • 実線
    :点線
    -点鎖線。
    -点線
  • ペンタグラムのアスタリスクのp
    V下向き三角形
    ^上向き三角形
関数diff

差分(関数)の一次導関数を見つける
シークの次数n差分の導関数(関数を、N)

例1
ここに画像を挿入説明
コード:

x0=[0 3 5 7 9 11 12 13 14 15];
y0 =[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6];
x=0:0.1:15;
y1 = interp1(x0 ,y0,x);
y2 = interp1(x0 ,y0,x,'spline');
pp1 =csape(x0 ,y0);
y3 = fnval(pp1,x);
pp2 = csape( x0 ,y0,'second');
y4 = fnval(pp2,x);
[x',y1' ,y2' ,y3',y4']
subplot(1,3,1)
plot(x0,y0,'+',x,y1)
title( 'Piecewise linear' )
subplot(1,3,2)
plot(x0,y0,'+',x,y2)
title( 'Spline1')
subplot(1,3,3)
plot(x0,y0,'+',x,y3)
title( 'Spline2')
dx =diff(x);
dy =diff(y3);
dy_dx =dy ./dx;
dy_dx0 =dy_dx(1)
ytemp =y3(131:151);
ymin = min(ytemp);
index = find(y3==ymin);
xmin=x(index); .
[xmin,ymin]

結果:
ここに画像を挿入説明

公開された20元の記事 ウォンの賞賛0 ビュー3871

おすすめ

転載: blog.csdn.net/weixin_44544406/article/details/104087136