matlab中函式擬合方法 個人總結

2021-10-26 15:01:51 字數 4797 閱讀 9028

目錄一維插值方案 2

二維資料內插值(**查詢) 3

等高線 4

三維曲面 5

等高線2 6

三維曲面2 7

matlab繪製溫度場(尚未深入研究) 13

二維曲線(非線性)擬合步驟 18

三維曲線(非線性)擬合步驟 19

三維曲線的畫法 20

三維曲面的畫法 21

畫三維圖3 只有點的資料,沒有函式關係式 23

空間點擬合的基本原理 27

空間點擬合的最小二乘法 28

曲面生成後再進行多項式擬合 37

六點生成曲面 38

四點生成平面 39

用三維離散點擬合光滑曲面1 40

用三維離散點擬合光滑曲面2 40

clear

year = 1900:10:2010;

product = [75.995 91.972 105.

711 123.203 131.669 150.

697 179.323 203.212 226.

505 249.633 256.344 267.

893 ]

p1995 = interp1(year,product,1995)

%使用一維資料內插值(該題中只能在1900和2010之間進行插值,大於2010和小於1900都%無效)命令

x = 1900:1:2010

y = interp1(year,product,x,'spine');

plot(year,product,'o',x,y)

插值說明:

interp1(x,y,xi,method) %用指定的演算法計算插值:

』nearest』:最近鄰點插值,直接完成計算;

』linear』:線性插值(預設方式),直接完成計算;

』spine』:三次樣條函式插值。對於該方法,命令interp1 呼叫函式spline、ppval、mkpp、umkpp。這些命令生成一系列用於分段多項式操作的函

數。命令spline 用它們執行三次樣條函式插值;

』pchip』:分段三次hermite 插值。對於該方法,命令interp1 呼叫函式pchip,用於對向量x 與y 執行分段三次內插值。該方法保留單調性與

資料的外形;

』cubic』:與』pchip』操作相同;

』v5cubic』:在matlab 5.0 中的三次插值。

對於超出x 範圍的xi 的分量,使用方法』nearest』、』linear』、』v5cubic』的插值演算法,相應地將返回nan。對其他的方法,interp1 將對超出的分量執行外插值演算法。

yi = interp1(x,y,xi,method,'extrap') %對於超出x 範圍的xi 中的分量將執行特殊的外插值法extrap。

yi = interp1(x,y,xi,method,extrapval) %確定超出x 範圍的xi 中的分量的外插值extrapval,其值通常取nan 或0。

例1clear;

x = 0:10; y = x.*sin(x);

xx = 0:.25:10; yy = interp1(x,y,xx)

plot(x,y,'kd',xx,yy)

interp2

[x,y] = meshgrid(-3:.25:3);

z = peaks(x,y);

[xi,yi] = meshgrid(-3:.125:3);

zz = interp2(x,y,z,xi,yi);

surfl(x,y,z);hold on;

surfl(xi,yi,zz+15)

axis([-3 3 -3 3 -5 20]);

shading flat

hold off

功能三維資料插值interp3(查表)

[x,y,z,v] = flow(20);

[xx,yy,zz] = meshgrid(.1:.25:10, -3:.25:3, -3:.25:3);

vv = interp3(x,y,z,v,xx,yy,zz);

slice(xx,yy,zz,vv,[6 9.5],[1 2],[-2 .2]); shading interp;colormap cool

clear

z=peaks

for w=1:1:100

v=[w/10,0,w/10]

contour(z,v)

%c=contour(z,v)

%clabel(c)

hold on

title('等高線及其標註')

endend

x=0:10

y=0:.1:1

[d,b]=meshgrid(x,y)

z=1./(b.*d.^2+1);

surf(b,d,z)

x=0:0.05:10

y=0:0.05:1

[x,y]=meshgrid(x,y)

z=( x.^3+ 3.*y.^2+5*y); %z=( x.^2+ 3.*y.^3+5*y);%

surf(x,y,z)

%一張普通的三維曲面,有時需要旋轉一下才能看到下圖的結果;

x=0:0.05:1

y=0:0.05:1

[x,y]=meshgrid(x,y)

z=( x.^2-y.^2);% z=( 4*x.^3*y-4*x.*y.^3);

surf(x,y,z) %一張普通的三維曲面,有時需要旋轉一下才能看到下圖的結果;

clear

x=-2:0.1:2

y=-2:0.1:2

[x,y]=meshgrid(x,y)

z=(x.^2+y.^2).^0.5

for w=1:1:100

v=[w/3,w/pi,w/3]

contour(z,v)

hold on

endclear

x=-5:0.05:5

y=-5:0.05:5

[x,y]=meshgrid(x,y)

z=1./((x+1).^2+(y+1).^2+1)-1.5./((x-1).^2+(y-1).^2+1)

mesh(x,y,z)

clear;

a=[1.486,3.059,0.

1;2.121,4.041,0.

1;2.570,3.959,0.

1;3.439,4.396,0.

1;4.505,3.012,0.1;3.402,1.604,0.1;2.570,2.065,0.1;2.150,1.970,0.1;

1.794,3.059,0.2;2.121,3.615,0.2;2.570,3.473,0.2;3.421,4.160,0.2;

4.271,3.036,0.2;3.411,1.876,0.2;2.561,2.562,0.2;2.179,2.420,0.2;

2.757,3.024,0.3;3.439,3.970,0.3;4.084,3.036,0.3;3.402,2.077,0.3;

2.879,3.036,0.4;3.421,3.793,0.4;3.953,3.036,0.4;3.402,2.219,0.4;

3.000,3.047,0.5;3.430,3.639,0.5;3.822,3.012,0.5;3.411,2.385,0.5;

3.103,3.012,0.6;3.430,3.462,0.6;3.710,3.036,0.6;3.402,2.562,0.6;

3.224,3.047,0.

7;3.411,3.260,0.

7;3.542,3.024,0.

7;3.393,2.763,0.

7];x=a(:,1);y=a(:,2);z=a(:,3);

scatter(x,y,5,z)%散點圖

figure

[x,y,z]=griddata(x,y,z,linspace(1.486,4.271)',linspace(1.604,4.276),'v4');%插值

pcolor(x,y,z);shading interp%偽彩色圖

figure,contourf(x,y,z) %等高線圖

clear;

a=[1.486,3.059,1858;2.121,4.041, 1858;2.570,3.959, 1858;3.439,4.396, 1858;

4.505,3.012, 1858;3.402,1.604, 1858;2.570,2.065, 1858;2.150,1.970, 1858;

1.794,3.059,2350;2.121,3.615, 2350;2.570,3.473, 2350;3.421,4.160, 2350;

4.271,3.036, 2350;3.411,1.876, 2350;2.561,2.562, 2350;2.179,2.420, 2350;

2.757,3.024, 2600;3.439,3.970, 2600;4.084,3.036, 2600;3.402,2.077, 2600;

2.879,3.036, 2849;3.421,3.793, 2849;3.953,3.036, 2849;3.402,2.219, 2849;

3.000,3.047, 3010;3.430,3.639, 3010;3.822,3.012, 3010;3.411,2.385, 3010;

3.103,3.012, 3345;3.430,3.462, 3345;3.710,3.036, 3345;3.402,2.562, 3345;

3.224,3.047, 3629;3.411,3.260, 3629;3.542,3.024, 3629;3.393,2.763, 3629];

學會MATLAB軟體中曲線擬合方法

實驗目的 實驗內容及要求 問題1 多項式回歸 某種合金中的主要成分為金屬a與金屬b,經過實驗與分析發現,這兩種金屬成分之和x與膨脹係數y之間有一定的關係。由下面的資料建立描述這種關係的數學表示。金屬成分和x 37.0 37.5 38.0 38.5 39.0 39.5 40.0 40.5 41.0 4...

基於 MATLAB 的函式的插值方法

6.1 插值問題及其誤差 6.1.2 與插值有關的matlab 函式 一 poly2sym 函式 呼叫格式一 poly2sym c 呼叫格式二 f1 poly2sym c,v 或 f2 poly2sym c,sym v 二 polyval 函式 呼叫格式 y polyval p,x 三 poly 函...

在VC 中呼叫matlab檔案方法

一 基於mcc 命令列方式實現編譯過程的方法 前期準備 1 程式設計環境 作業系統 windows xp 開發工具 visual c 2008 matlab r2011a 注意 安裝時,要先裝visual c 2008 後裝matlabr2008b,因為matlab r2008b 要用到visual...