matlab利用diff求导数求导数时,应该先利用diff函数求取微分,再除以步长得到导数.为了能画图,我们一般对自变量扩充一个,以填补diff求得的结果减少一个的情况.但我用这个求y=ln(1+x)的二阶导数

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/09 12:20:14
matlab利用diff求导数求导数时,应该先利用diff函数求取微分,再除以步长得到导数.为了能画图,我们一般对自变量扩充一个,以填补diff求得的结果减少一个的情况.但我用这个求y=ln(1+x)的二阶导数

matlab利用diff求导数求导数时,应该先利用diff函数求取微分,再除以步长得到导数.为了能画图,我们一般对自变量扩充一个,以填补diff求得的结果减少一个的情况.但我用这个求y=ln(1+x)的二阶导数
matlab利用diff求导数
求导数时,应该先利用diff函数求取微分,再除以步长得到导数.为了能画图,我们一般对自变量扩充一个,以填补diff求得的结果减少一个的情况.
但我用这个求y=ln(1+x)的二阶导数在x=1处的值的时候,却发现不太对:
>> x=0:pi/24:pi;
>> e=diff(log([x,pi+pi/24,pi+pi/12]),2)/((pi/24)^2);
>> e(1)
ans =
-Inf
结果显然不对,是什么原因呢?

matlab利用diff求导数求导数时,应该先利用diff函数求取微分,再除以步长得到导数.为了能画图,我们一般对自变量扩充一个,以填补diff求得的结果减少一个的情况.但我用这个求y=ln(1+x)的二阶导数
因为log(0)是-inf,对他做任何运算都是-inf
还有你求的是log(1+x)的导,但你实际算的是log(x)的差分,那个1根本就没加.