matlab处理级配曲线数据,平滑数据,读取拟合曲线点坐标

1 对原数据插值+平滑

x y 原数据
xi yi 处理后数据

xi=0.002:1/2000:1
yi= interp1(x,y,xi,'spline')
semilogx(xi,yi)

2 知y求x

思想:把x和y反过来

%S是y,T是x
plot(S(1,:),T)
y1=0:0.1:100
x1=interp1(S(1,:),T,y1)
plot(S(2,:),T)
y2=0:0.1:100
x2=interp1(S(2,:),T,y2)
plot(S(3,:),T)
y3=0:0.1:100
x3=interp1(S(3,:),T,y3)
plot(S(4,:),T)
y4=0:0.1:100
x4=interp1(S(4,:),T,y4)
plot(S(5,:),T)
y5=0:0.1:100
x5=interp1(S(5,:),T,y5)
plot(S(6,:),T)
y6=0:0.1:100
x6=interp1(S(6,:),T,y6)
plot(S(7,:),T)
y7=0:0.1:100
x7=interp1(S(7,:),T,y7)
plot(S(8,:),T)
y8=0:0.1:100
x8=interp1(S(8,:),T,y8)
f=[x1;xt;x3;x4;x5;x6;x7;x8]
%找到D25\D50\D75对应的值
L=f(:,251)
K=f(:,501)
J=f(:,751)

3 读取拟合曲线点坐标

不需要插值也可以

plot(D,D2020)
p(1)=spline(D,D2020)
t=[0.02]
Y1=ppval(p(1),t)

当x=0.02时,得到对应的y值

也可以批量求,yi是很多年份的集合

plot(xi,yi)
p(1)=spline(xi,yi)
t=[0.02]
Y1=ppval(p(1),t)
%从excel导入X和Y(X级配分类,Y级配百分比)

xx = 0:0.5:128;  %xx是设定的新插值点

% interp1对sin函数进行分段线性插值,调用interp1的时候,默认的是分段线性插值  
y1 = interp1(X,Y,xx,'linear');  

plot(X,Y,'o',xx,y1,'r')  ``
title('分段线性插值')  



  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值