问题补充说明:clc,cleara=[390.6,412,320,559.2,380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';t0=find(a<=320);n=length(t0);t1=cumsum(t0);%累加运算B=[-0.5*(t1(1:end-1)... clc,cleara=[390.6,412,320,559.2, 380.8,542.4,553,310,561,300,632,540,406.2,313.8,576,587.6,318.5]';t0=find(a<=320);n=length(t0);t1=cumsum(t0); %累加运算B=[-0.5*(t1(1:end-1)+t1(2:end)),ones(n-1,1)];Y=t0(2:end);r=B\Y;y=dsolve('Dy+a*y=b','y(0)=y0');y=subs(y,{'a','b','y0'},{r(1),r(2),t1(1)});yuce1=subs(y,'t',[1:n+1]);%为提高预测精度,先计算预测值,再显示微分方程的解y=vpa(y,6); %其中的6 表示显示6 位数字yuce=diff(yuce1); %作差分运算,进行数据还原在这个程序中对yuce1数组做差分,结果始终是0!!!!但是我把这个数组复制到其他程序中单独做差分,结果又是正确的了,求助为什么??? 展开
matlab求导命令diff调用格式:diff(函数),求的一阶导数;diff(函数,n),求的n阶导数(n是具体整数);diff(函数,变量名),求对的偏导数;diff(函数,变量名,n),求对的n阶偏导数;你可以测试一下diff([12345])
标签:matl,置里,ab