http://www.pudn.com/downloads296/sourcecode/math/detail1326372.html
另外,matlab工具箱的话,先在File->set path中添加所要加载的工具箱(工具箱必须复制到matlab安装目录中的toolbox中),添加之后就可以像调用系统函数一样直接调用工具箱中的函数,最好先在网上找找工具箱使用的简单例程
第一步:% 已知某天海面2:00,8:00,14:00,20:00的% 温度分别为 221.0645, 233.7419,250.7742,229.6129 ,(间隔为6小时)
% (1)采用线性内插、多项式内插和样条内插方法插值到一小时间隔,并比较不同;
% (2)对上述一小时内插结果进行调和分析;
% (3)对上述海表温度一小时内插结果进行Fourier分析。
clcclear allclose all
t0 = [2 8 14 20]
t1 = min(t0) : 1 : max(t0)
v0 = [221.0645 233.7419 250.7742 229.6129]
p1 = polyfit(t0, v0, 1)% 线性
v11 = polyval(p1, t1)
p2 = polyfit(t0, v0, 3)% 3次多项式
v12 = polyval(p2, t1)
v13 = spline(t0, v0, t1)'样条'
figurehold onbox on
plot(t0, v0, 'k*')
plot(t1, v11, 'r-')
plot(t1, v12, 'g-')
plot(t1, v13, 'b-')
legend('节点', '线性', '3次多项式', '样条')
%克里金插值 Kriging interpolation
load data1
theta = [10 10]lob = [1e-1 1e-1]upb = [20 20]
[dmodel, perf] =dacefit(S, Y, @regpoly0, @corrgauss, theta, lob, upb)
X = gridsamp([0 0100 100], 40)
[YX MSE] = predictor(X, dmodel)
X1 = reshape(X(:,1),40,40)X2 = reshape(X(:,2),40,40)
YX = reshape(YX, size(X1))
figure(1), mesh(X1, X2, YX)
hold on,
plot3(S(:,1),S(:,2),Y,'.k', 'MarkerSize',10)
hold off
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)