如何绘制三次样条插值的导出函数?

时间:2017-01-31 01:25:11

标签: matlab plot spline cubic

我想问一下如何绘制三次样条插值的导出函数?我演示了如何在代码中完成它。错误是:

使用绘图时出错 第二个数据参数无效 function_MTU4000_Real出错(第90行) plot1 =情节(X1,速度1,' B&#39);

%calculation of lifting of intake valve (approximation spline function)

x1=0.0:0.1:202.1;
y1=xlsread('Steuerzeiten_Schrittweite_MTU4000.xlsx',1,'D2:D2023');
Lifting1=spline(x1,y1);
x2=202.1:0.1:701.9;
Lifting2=0*x2;
x3=702.0:0.1:720.0;
y3=xlsread('Steuerzeiten_Schrittweite_MTU4000.xlsx',1,'D7022:D7202');
Lifting3=spline(x3,y3);

%calculation and plot of speed intake

figure(2);hold on; grid on;
Speed1=fnder(Lifting1);
plot1=plot(x1,Speed1,'b');
Speed2=Lifting2;
plot2=plot(x2,Speed2,'b');
Speed3=fnder(Lifting3);
plot3=plot(x3,Speed3,'b');
hold off
legend([plot1,plot2,plot3],'Intake')
set(gca,'XTickLabel',{'OT','90','UT','270','ZOT','450','UT','630','OT'});
title('Intake Valve Speed')
xlabel('Crank Angle [°]')
ylabel('Speed [m/°]')

1 个答案:

答案 0 :(得分:1)

ppval返回一个结构,而不是用于绘图的数组。您必须使用fnvalplot1 = plot(x1, ppval(Speed1,x1)) 对其进行评估...

csapi

文档:

https://lost-contact.mit.edu/afs/cs.stanford.edu/pkg/matlab-r2015b/matlab/r2015b/help/curvefit/examples/cubic-spline-interpolation.html

使用% docs example bcs = csapi( {x,y}, z ); fnplt( bcs ) 查看文档: https://uk.mathworks.com/help/curvefit/csapi.html

[ ]