目錄一維插值方案 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...