捡起MATLAB的第(8)天

Matlab

一维线性插值

一维插值命令

%x:原始数据(自变量)n维向量
%v:原始数据(函数值)n维向量
%xq:插值(自变量)可以使一个点,也可以是向量
%vq:插值结果(函数值)
vq = interp1(x,v,xq)
vq = intterp1(x,v,xq,method)

method的方法

2014a版本的matlab目前有这几种方法:
在这里插入图片描述

举例1 — 插值法:

在这里插入图片描述
实现脚本代码如下:

production = [75.995 ... .... ..] %此处省了,实则是产量的值
years = 1900:10:2010;  %设置年份区间
x = 1900:2010;
p_res = interp1(years,production,x,'spline')
plot(years,production,'o',x,p_res)

在这里插入图片描述
运行就可以得到一个连续的线。

举例2 — 插值法:

在这里插入图片描述
实现脚本代码如下:

x = 0:2:24;
y = [....]   %温度的值
% 注意:x和y的维度要一样,形成一一对应关系
x1 = 0:1/3600:24   %单位化成秒,增量为1s

strmethod={'nearest',...}  %方法
strlb={'{a}method=nearest',...}  %对应上方的方法

for i=1:6
	y1 = interp1(x,y,x1,strmethod{i});
	subplot(3,2,i)    %切割出3*2张图
	plot(x,y,'ro',x1,y1,'b''linewith',1.5)
	xlabel(strlb)
end

效果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值