区分的線形補間

  1.補間関数

%%分段线性插值
機能PLI = Piecewise_linear_interpolation(X、F、精度)
[M、N] =サイズ(X)=分(X); B = MAX(X)。
X =ソート(X)。
Fは、SUBS(F、X)を=。
K = 1:N-1 
    B = Basic_fun(X、K)。
    Iは、B(1)* F(K)+ B(2)* F(K + 1)=。
    PLI {1、K} = [X(k)は、X(K + 1)]。
    PLI {2、K} = I。
    T {K} = X(K):( X(k + 1)-X(K))/精度:X(K + 1)。
    T {K} = SUBS(I、T {K})。
    Y_real {K} = SUBSは(F、T {K})。
端部
K = 1:N-1 
    T _((精度+ 1)*(K-1)+1:(精度+ 1)* K)= T {K}。
    T _((精度+ 1)*(K-1)+1:(精度+ 1)* K)= T {K}。
    Y_real _((精度+ 1)*(K-1)+1:(精度+ 1)* K)= Y_real {K}。
エンド 
    H =図。
    セット(H、 '色'、 'W')。
    プロット(X-、F.、 'R&LT *'、T_、T _、 'G'、T_、Y_real _、 'B')
    は、xlabel( 'X軸'); ylabelの( 'Y軸'); 
    凡例(「F:ノード関数値「」Tに対応する:補間関数イメージ線形区分「」Y_real:実関数の画像『); 
    タイトル(』区分的線形補間「); 
    グリッド上に
エンド

  2.基底関数

%%基函数、MAX(X)> K> 0 
関数BF = Basic_fun(X、K)
X =ソート(X)。
シムズは、x; 
BF(1)=(XX(k + 1))/(X(k)-X(k + 1))。
BF(2)=(XX(K))/(X(k + 1)-X(K))。
終わり

  3.フィッティング値関数

%%補間値の線形フィット
関数Linear_interpolation_value LIV =(X、F、精度、x_value)
[M、N - ] =サイズ(X-); A =分(X-); B = MAX(X-); 
X-ソート=(X- ); 
Piecewise_linear_interpolation =(X、F、精度)を回答; 
Iは=ため1 :. 1-N-。
    x_value> = X-(I)&& x_value <= X-(I + 1)の場合
            S = I;         
    エンド
エンド
LIV {1,1 } = '線形補間フィッティング値'; 
LIV VPA = {2,1}(SUBS(x_value、{2、S}を回答),. 6); 
LIV {1,2} = '真の値'、
LIV {2、 VPA} = 2(SUBS(F、x_value),. 6); 
LIV} = {lは、3 'エラー'; 
LIV {2,3} = ABS(LIV {2,1}、{2,2&-LIV})。
終了

  4.例

全てクリア
CLC 
X- = -5 :. 1 :. 5; 
シムズX; 
。。。F = - 0.08858 * 3.694 * X ^ X ^ 8 7 + - + 64.7 * 617.8 * X ^ X ^ 6 5から3490.0 11820.0 * X ^ * + 4 。^ 3 X - 23150.0 23580.0 * X * X ^ 2 + - 9319.0; 
精密= 200; 

%%区分的線形補間
DISP( '区分的線形補間'); 
Piecewise_linear_interpolation(X、F、プレシジョン)

  結果

区分的線形補間
S = 
  2×10セルアレイ
  の列1。4 
    {1 1×2×2ダブルダブル} {} {} {。1. 1×2×2ダブルダブル} 
    {} {SYM。1. 1. 1××SYM。1 } {1×1 SYM} { 1×1 SYM} 
  アレイ5。8 
    {1×2ダブル} {1×2ダブル} {1×2ダブル} {1×2ダブル} 
    {1×1 SYM} {1× 1 SYM} {1×1 SYM } {1×1 SYM} 
  列9〜10 
    {1 1×2×2ダブルダブル} {} 
    {} {SYM 1 1 1××SYM 1}。
>> {2 S: } 
ANS = 
(227 077 586 881 * X)/ 50000 + 2500分の37695704689 
ANS = 
(3983468847 * X)/ 2000 + 12500分の60987657739 
ANS = 
(7723057429 * X)/ 10000 + 25000分の30518164433 
ANS = 
(X * 3136314129)/ 50000--9319 
(2518396259 * X)/ 10000 + 25000分の4494858583
年=
年= 
(465835271 * X)/ 50000 - 9319 
年= 
(422501 * X)/ 10000 - 25000分の1113617 
年= 
25000分の4111433 - (622 509 * X)/ 10000 
年= 
- (271 * x)を/ 80から151661 / 12500 
年= 
2500分の2072089 - (10681481 * X)/ 50000

  下の画像

おすすめ

転載: www.cnblogs.com/guliangt/p/12112829.html
おすすめ