关于matlab的插值算法
已知某天海面2:00,8:00,14:00,20:00的温度分别为221.0645,233.7419,250.7742,229.6129,(间隔为6小时)(1)采用线性内...
已知某天海面2:00,8:00,14:00,20:00的温度分别为 221.0645, 233.7419,250.7742,229.6129 ,(间隔为6小时) (1)采用线性内插、多项式内插和样条内插方法插值到一小时间隔,并比较不同;(2)对上述一小时内插结果进行调和分析;ü) ü(3)对上述海表温度一小时内插结果进行Fourier分析。
展开
1个回答
2013-10-19
展开全部
第一步:% 已知某天海面2:00,8:00,14:00,20:00的
% 温度分别为 221.0645, 233.7419,250.7742,229.6129 ,(间隔为6小时)
% (1)采用线性内插、多项式内插和样条内插方法插值到一小时间隔,并比较不同;
% (2)对上述一小时内插结果进行调和分析;
% (3)对上述海表温度一小时内插结果进行Fourier分析。
clc; clear all; close 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); '样条'
figure; hold on; box on;
plot(t0, v0, 'k*');
plot(t1, v11, 'r-');
plot(t1, v12, 'g-');
plot(t1, v13, 'b-');
legend('节点', '线性', '3次多项式', '样条');
% 温度分别为 221.0645, 233.7419,250.7742,229.6129 ,(间隔为6小时)
% (1)采用线性内插、多项式内插和样条内插方法插值到一小时间隔,并比较不同;
% (2)对上述一小时内插结果进行调和分析;
% (3)对上述海表温度一小时内插结果进行Fourier分析。
clc; clear all; close 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); '样条'
figure; hold on; box on;
plot(t0, v0, 'k*');
plot(t1, v11, 'r-');
plot(t1, v12, 'g-');
plot(t1, v13, 'b-');
legend('节点', '线性', '3次多项式', '样条');
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询