作业帮 > 数学 > 作业

关于matlab求函数极值的一个问题,y=x-log(1+x^2)

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/09 17:59:41
关于matlab求函数极值的一个问题,y=x-log(1+x^2)
求y=x-log(1+x^2)的极值.
这是教科书上的一道例题.本人看解答看了n遍.就是看不懂.怀疑解答出错.
书上是这样写的:
>> syms x;
>> y=x-log(1+x^2);
>> f1=diff(y)
f1 =
1 - (2*x)/(x^2 + 1)
>> x0=solve(f1)
x0 =
1
>> f2=diff(f1)
f2 =
(4*x^2)/(x^2 + 1)^2 - 2/(x^2 + 1)
>> ff=inline(f2);
>> ff(x0)
ans =
0
>> f3=diff(f2,x)
f3 =
(12*x)/(x^2 + 1)^2 - (16*x^3)/(x^2 + 1)^3
>> f=inline(f3);
>> f(x0)
ans =
1
由此可知,在驻点x=0处的三阶导数大于0,因此为极小值点,y(0)=0为极小值点.
结束
我晕哦,x=0根本就不是驻点呀.怎么回事
以下是用matlab画的函数图像.
y(0)=0好像也不是极值点!
想问下到底是我错了还是教课书错了(如果是问我错了请见谅.我还是一个初学者)
很明显这是书上的印刷错误吧.
应该是x=1是驻点啊.
但是在x=1处二阶导数为0,三阶导数为1
再问: 能不能分析下他的解题过程。。。。 这道题的结果是不是没有极值
再答: f1是函数的一阶导数,f2二阶导数,f3是三阶导数。f1=0,f2=0,f3=1>0; 说明二阶导数在x=1的一个小的邻域内是增函数,(先负后0再正),那么一阶导数在小邻域内是先减后增的函数(正0正)即一阶导数在该邻域内大于等于0,所以f在该邻域内是增函数,x=1不是极值点。