展开全部
MATLAB中没有直接提供求数值导数的函数,只能通32313133353236313431303231363533e78988e69d8331333366306532过差分估算。
DX=diff(X) 计算向量X的向前差分,DX(i)=X(i+1)-X(i),0
t=[0:0.04:1.48];
y=[7.86 7.84 7.82 7.77 7.72 7.68 7.61 7.51 7.42 7.33 7.21 7.07 6.94 6.79 6.64 6.48 6.29 6.11
5.92 5.72 5.50 5.27 5.03 4.78 4.53 4.25 3.98 3.69 3.40 3.10 2.78 2.43 2.09 1.77 1.42 1.09 0.68
0.30];
Dy=diff(y)/.04;
Dt=[0.04:0.04:1.48];
p=polyfit(t,y,2);
Y=polyval(p,t);
DY=diff(Y)/.04;
plot(t,y,'b*',t,Y,'r-',Dt,Dy,'bs',Dt,DY,'g-')
xlabel('t')
ylabel('y&y''')
legend('y值','y拟合2阶多项式','y''差分值','y''拟合值')
扩展资料
clc;clear all
h=0.0