MATLAB一維插值和二維插值 比較
插值問題描述:已知一個函式上的若干點,但函式具體表示式未知,現在要利用已知的若干點求在其他點處的函式值,這個過程就是插值的過程.
1.一維插值
一維插值就是給出y=f(x)上的點(x1,y1),(x2,y2),…,(xn,yn),由此求出y=f(x)在點xa處的值ya的值.
實現一維插值使用interp1命令,使用引數為interp1(x,y,xa,’method’) ,其中x和y是已知點對應橫縱座標,xa為代求值的橫座標,method引數代表插值型別,引數可以選擇的選項如下表,若預設則為linear.
method 含義 特 點
linear 線性插值 快,精度不高
cubic 三次多項式插值 較慢,精度高,平滑
spline 三次樣條插值 最慢,精度高,最平滑
例如,求y=xln(x)的插值問題,程式碼如下
%為了說明插值問題,根據已知函式構造一組插值點
%而實際問題中,只有這些點,函式是未知的
x = 0.2:0.4:2;
y = x.*log(x);%構造一組插值點
plot(x,y,'o');
xa =0.2:0.1:2;%d代求y值得x值點
ya = interp1(x,y,xa,'cubic');
hold on;
plot(xa,ya,'b-');
box on;
hold on;
fplot(@(x)x*log(x),[0.2,2]);
legend('插值點','三次多項式插值','原圖');%圖例
2.二維插值
二維插值就是給出z=f(x,y)上的點(x1,y1,z1),…,(xn,yn,zn),由此求出在(xa,ya)處求出za的值.實現一維插值使用interp2命令,使用引數為interp1(x,y,z,xa,ya,’method’),引數含義與interp1類似.
例如,求z = exp(-x^2-y^2)的空間插值問題,程式碼如下
x = linspace(-2,2,10);
y = linspace(-2,2,10);
[X,Y] = meshgrid(x,y);
Z = exp(-X.^2 - Y.^2);
subplot(1,2,1);
surf(X,Y,Z);
title('插值點曲圖');
hold on;
xa = linspace(-2,2,50);
ya = linspace(-2,2,50);
[Xa,Ya] = meshgrid(xa,ya);
Za = interp2(X,Y,Z,Xa,Ya,'cubic');
subplot(1,2,2);
surf(Xa,Ya,Za);
title('三次插值曲面');
轉載自 https://blog.csdn.net/ten_sory/article/details/54429482
相關文章
- 九種常見二維插值方法及雙線性插值的理解
- 介紹一種二維線性插值計算方法
- 二、插值操作
- SCSS #{} 插值CSS
- 求插值係數
- 插值技術研究
- c#-string 插值C#
- 【java】【插值查詢】Java
- 拉格朗日插值
- B樣條插值加速
- 洛谷P4781 【模板】拉格朗日插值(拉格朗日插值)
- Swift 5 字串插值之美Swift字串
- scala實現球面插值(Slerp)
- 2.Vue插值表示式Vue
- 插值查詢演算法演算法
- Swift 5 字串插值-簡介Swift字串
- webgl centroid質心插值的一點理解Web
- Vue 模板語法第一式 —— 插值Vue
- 【Android 動畫】動畫詳解之插值器(二)Android動畫
- vue.js插值與表示式Vue.js
- MemoryCache 的原生插值方式淺談
- 插值查詢的簡單理解
- 數值分析Python實現系列—— 一、拉格朗日插值法Python
- 查詢演算法__插值查詢演算法
- Qt自定義動畫插值函式QT動畫函式
- 常用演算法 插值演算法演算法
- 玩轉matlab之一維 gauss 數值積分公式及matlab原始碼Matlab公式原始碼
- UI設計比較流行的插畫型別和運用UI型別
- 拉格朗日插值學習筆記筆記
- BZOJ2655: calc(dp 拉格朗日插值)
- mapboxgl 中插值表示式的應用場景
- 演算法-查詢(線性、二分、插值、斐波那契)演算法
- 資料分析缺失值處理(Missing Values)——刪除法、填充法、插值法
- 玩轉 matlab 之二維 gauss 數值積分公式使用及 matlab 原始碼(1)-常量區間Matlab公式原始碼
- [work] 影象縮放——雙線性插值演算法演算法
- 學習筆記:FFT與拉格朗日插值筆記FFT
- 《計算方法 》 - 第2章 插值法 - 解題套路
- 【影像縮放】雙立方(三次)卷積插值卷積