谁能提供一个克里金插值的matlab程序,下载了个工具箱,但是不会用,也看不懂。谢谢。

谁能提供一个克里金插值的matlab程序,下载了个工具箱,但是不会用,也看不懂。谢谢。,第1张

这种网上一般都有现成的代码下载,下面这个链接就可以下载

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8172861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存