matlab插值程序

matlab插值程序,第1张

a=[3.946 05.193 505.762 1006.311 1506.795 2007.257 2507.704 3008.170 350...

8.603 4009.073 4509.511 50010.001 55010.435 60010.932 65011.400 700...

11.938 75012.428 80012.995 85013.560 90014.246 95015.063 1000]

x=a(:,2)

y=a(:,1)

x2=1:60:1200

y2=interp1(x,y,x2, 'pchip')

plot(x,y,'bo',x2,y2,'r*')

legend('千分尺数据','分段插值数据','Location', 'Best')

grid on

xlabel('x 容量值(L)'),ylabel('y 电流值(mA)')

%给出横坐标

x0=[0 2 4 5:9 10.5:12.5 14 16:24]

%给出纵坐标

y0=[2 2 0 2 5 8 25 12 5 10 12 7 9 28 22 10 9 11 8 9 3]

%步长

x=0:1/60:24

%分段线性插值

y_in=interp1(x0,y0,x)

%三次样条插值

y_sp=spline(x0,y0,x)

%输出数据

[x',y_in',y_sp']

%画图

subplot(2,1,1),plot(x,y_in,'b'),title('interp')

subplot(2,1,2),plot(x,y_sp,'b'),title('spline')

%分段线性插值积分

Y_in=trapz(x,y_in)

Y_sp=trapz(x,y_sp)


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存