初學matlab之插值擬合

2021-10-03 05:18:52 字數 1285 閱讀 5179

窒息了,現在處於啥都看不懂的階段,寫部落格純為記錄學習過程和一些知識點。

今天看了《數學建模演算法與應用》第5章 插值與擬合。

裡面涉及的函式有:

1.y=interp(x0,y0,x,『method』)是一維插值函式,

method有nearest(最近項插值),linear(線性插值),spline(立方樣條插值),cubic(立方插值)。**x0,y0是已知資料點,x是插值點。**用法如下:

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』);`

2.pp=csape(x0,y0,conds,valconds);y=ppval(pp,x)三次樣條插值。

csape(x0,y0)使用預設的拉格朗日條件。x0,y0是已知資料點,x是插值點。y是插值點的函式值。

conds指定插值的邊界條件,可以為complete(邊界為一階導數),『not-a-knot』(非扭結條件),periodic(週期),second(邊界為二階導數)。用法如下:

pp1=csape(x0,y0);

y3=ppval(pp1,x);

pp2=csape(x0,y0,『second』);

y4=ppval(pp2,x);

3. [x』,y1』,y2』,y3』,y4』]這一步暫時不知道在幹嘛

4.subplot(m,n,p)指圖排成m行,n列,p指曲線畫在第幾個圖上。用法:

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』)

5.diff(x)求x的一階偏導數。如下:

dx=diff(x);

dy=diff(y3);

dy_dx=dy./dx;./點除 如果a、b是矩陣,a./b就是a、b中對應的每個元素相除,得到乙個新的矩陣;如果a、b是兩個數,那麼a./b就是普通的除法。

dy_dx0=dy_dx(1)

matlab插值與擬合

插值 兩個變數間的關係可以通過函式來表示,若x為自變數,y為因變數,則函式關係可描述為y f x 在大多數問題中,函式關係式y f x 未知,人們通常採用逼近的方法處理 取得一組資料點 xi,yi 然後構造乙個簡單的函式p x 作為函式y f x 的近似表示式,即y f x p x 若滿足p xi ...

Matlab系列 插值 擬合

還是跟之前一樣,有部分命令寫法可能混雜偽 但不妨礙理解 大家可能都學過 計算方法 數值分析 裡面很多的計算都可以很方便地用matlab實現,重點講講插值interpolation和擬合fitting p polyfit x,y,2 多項式擬合,最後乙個引數是多項式polynomial次數,p是項係數...

Matlab曲面擬合和插值

插值和擬合都是資料優化的一種方法,當實驗資料不夠多時經常需要用到這種方法來畫圖。在matlab中都有特定的函式來完成這些功能。這兩種方法的確別在於 當測量值是準確的,沒有誤差時,一般用插值 當測量值與真實值有誤差時,一般用資料擬合。插值 對於一維曲線的插值,一般用到的函式yi interp1 x,y...