建模演算法整理:文章主要介紹了 差值演算法,
參考學習資料:清風數學建模
其他資源:2016到2020美賽o獎論文=== 姜啟源 司守奎電子書===論文模板 ====演算法代碼
如果需要可私信或者評論
文章目錄
- 1 插值演算法的作用
- 2 插值和擬合區別
- 3 插值和擬合的選取
- 4 分段三次埃爾米特插值
- 4.1 代碼實體
- 4.2 結果顯示
- 4.3 plot用法
- 5 分段三次埃爾米特插值和三次樣條插值的區別
- 5.1 代碼實體
- 5.2 結果展示
- 5.3 原因解釋
- 6 n維資料差值(linear cubic spline)
- 6.1 代碼實體
- 6.2 結果顯示
- 總結
1 插值演算法的作用
建模中,我們需要根據已知的函式點進行資料、模型的處理和分析,而有的時候現有的資料是極少的,不足以支撐分析的進行,這時就需要使用一些數學的方法,“模擬產生”一些新的但又比較靠譜的值來滿足需求,這就是插值的作用,
2 插值和擬合區別
插值演算法中,所得的多項式f(x)要經過所有的樣本點,但是如果樣本點太多,那么這個多項式次數過多,會造成龍格現象,
盡管我們可以選擇分段的方法避免這種現象,但是更多時候我們更傾向于得到一個確定的曲線,盡管這個曲線不能過每一個樣本店,但只要保證足夠小即可,這就是擬合的思想,
3 插值和擬合的選取
當資料量不夠,需要補充,且認定已有資料可信時,通常利用函式插值方法,
資料量多,不要求曲線經過每個點,同時要求多項式不要過于復雜我們選擇擬合,
4 分段三次埃爾米特插值
4.1 代碼實體
% 分段三次埃爾米特插值
x = -pi:pi; y = sin(x);
new_x = -pi:0.1:pi;
p = pchip(x,y,new_x);
plot(x, y, 'o', new_x, p, 'r-')
4.2 結果顯示

4.3 plot用法
% plot函式用法:
% plot(x1,y1,x2,y2)
% 線方式: - 實線 :點線 -. 虛點線 - - 波折線
% 點方式: . 圓點 +加號 * 星號 x x形 o 小圓
% 顏色: y黃; r紅; g綠; b藍; w白; k黑; m紫; c青
5 分段三次埃爾米特插值和三次樣條插值的區別
5.1 代碼實體
% 三次樣條插值和分段三次埃爾米特插值的對比
x = -pi:pi;
y = sin(x);
new_x = -pi:0.1:pi;
p1 = pchip(x,y,new_x); %分段三次埃爾米特
p2 = spline(x,y,new_x); %三次樣條插值
figure(2);
plot(x,y,'o',new_x,p1,'r-',new_x,p2,'b-')
legend('樣本點','三次埃爾米特插值','三次樣條插值','Location','SouthEast')
% legend為標簽 'Location','SouthEast'是為了設定顯示位置
5.2 結果展示

5.3 原因解釋
三次樣條插值也是分段三次多項式插值,只需要被插值函式在插值節點處的函式值,不需要知道被插值函式在插值節點處的導數值,資料要求低,光滑性好,可以達到二階導數連續,
三次分段Hermite插值是分段三次多項式插值,需要同時知道被插值函式在插值節點處的函式值和導數值,資料要求高,可以達到導數連續,光滑性不如樣條插值的好.
6 n維資料差值(linear cubic spline)
6.1 代碼實體
%格式 p = interpn(x1,x2,...,xn, y, new_x1,new_x2,...,new_xn, method)
% method是要插值的方法
%‘linear’:線性插值(默認演算法);
%‘cubic’:三次插值;
%‘spline’:三次樣條插值法;(最為精準) ‘nearest’:最鄰近插值演算法,
% n維資料的插值
x = -pi:pi; y = sin(x);
new_x = -pi:0.1:pi;
p = interpn (x, y, new_x, 'spline');
% 等價于 p = spline(x, y, new_x);
plot(x, y, 'o', new_x, p, 'r-')
6.2 結果顯示

總結
文章純屬建模學習整理,
1、2016到2020美賽o獎論文
2、姜啟源 司守奎電子書
3、論文模板
4、演算法代碼
如有需要上述資源可私信評論
最后希望給文章點個贊,整理不易!!!
最后希望給文章點個贊,整理不易!!!
最后希望給文章點個贊,整理不易!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/256320.html
標籤:AI
