如果今天做出来的,再加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读出,斜率使用近似求法求出,如果还有更好的方法请分享~~