三次插值求解飞机机翼函数并用matlab画出曲线,

如果今天做出来的,再加100财富值
待加工零件的外形根据工艺要求由一组数据(x,y)给出(在平面情况下),用程控铣床加工时每一刀只能沿x方向和y方向走非常小的一步,这就需要从已知数据得到加工所要求的步长很小的(x,y)坐标。
表1给出的x,y数据位于机翼断面的下轮廓线上(如图1),假设需要得到x坐标每改变0.1时的y坐标。使完成加工所需要的数据,画出曲线,并求出x=0处的曲线斜率和13≤x≤15范围内y的最小值。

表1 机翼断面下轮廓线上的部分数据
x 0 3 5 7 9 11 12 13 14 15
y 0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6

下面是我编的一个简单程序:交流学习一下...

clear, close all

x=[0,3,5,7,9,11,12,13,14,15]; y=[0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6];

plot(x,y);

xi=0:0.1:15;

yi_cubic=interp1(x,y,xi,'cubic');

plot(x,y,'ro',xi,yi_cubic);

pp=csape(x,y,'second'); v=ppval(pp,xi);

v;%x坐标每改变0.1时的y坐标

T=(ppval(pp,0.1)-ppval(pp,0))/0.1;%求零点的导数值

angle=atan(T)*180/pi;%得到零点的切线角度约为23.7843°

s=v(130:151);%将13≤x≤15的y值赋给数组s

ss=min(s);%求出最小值为0.9721

下面是插值完成后的曲线,x坐标每改变0.1时的y坐标可以由数组v读出,斜率使用近似求法求出,如果还有更好的方法请分享~~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-27
表示我也在求这个题,如果你做出来了,或者搞到WORD什么的,求分享
相似回答