II 你可以按段分成三个小矩阵,再按你上面的代码执行即可
既然知道,他们在矩阵中相应的位置,那就好办
如果不知道位置,可以加个判断,找出相应范围内的数据
再进行拟合和微分即可
- ad1=find(a(:,1)<=-2&a(:,1)>=-5)
- ad2=find(a(:,1)<=2&a(:,1)>=-2)
- ad3=find(a(:,1)<=5&a(:,1)>=2)
- a1=a(ad1,:)
- a2=a(ad2,:)
- a3=a(ad3,:)
- q1=polyfit(a1(:,1),a1(:,2),1);
- q2=polyfit(a1(:,1),a1(:,3),1);
- d1=polyder(q1);
- d2=polyder(q2);
- q3=polyfit(a2(:,1),a2(:,2),1);
- q4=polyfit(a2(:,1),a2(:,3),1);
- d3=polyder(q3);
- d4=polyder(q4);
- q5=polyfit(a3(:,1),a3(:,2),1);
- q6=polyfit(a3(:,1),a3(:,3),1);
- d5=polyder(q5);
- d6=polyder(q6);
-
复制代码 |