matlab 求函数的极值点和拐点函数y=x^2*sin(x^2-x-2),x范围为[-2,2].求其三个极值点和三个拐点
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/28 19:51:50
![matlab 求函数的极值点和拐点函数y=x^2*sin(x^2-x-2),x范围为[-2,2].求其三个极值点和三个拐点](/uploads/image/z/2683841-41-1.jpg?t=matlab+%E6%B1%82%E5%87%BD%E6%95%B0%E7%9A%84%E6%9E%81%E5%80%BC%E7%82%B9%E5%92%8C%E6%8B%90%E7%82%B9%E5%87%BD%E6%95%B0y%3Dx%5E2%2Asin%28x%5E2-x-2%29%2Cx%E8%8C%83%E5%9B%B4%E4%B8%BA%5B-2%2C2%5D.%E6%B1%82%E5%85%B6%E4%B8%89%E4%B8%AA%E6%9E%81%E5%80%BC%E7%82%B9%E5%92%8C%E4%B8%89%E4%B8%AA%E6%8B%90%E7%82%B9)
matlab 求函数的极值点和拐点函数y=x^2*sin(x^2-x-2),x范围为[-2,2].求其三个极值点和三个拐点
matlab 求函数的极值点和拐点
函数y=x^2*sin(x^2-x-2),x范围为[-2,2].求其三个极值点和三个拐点
matlab 求函数的极值点和拐点函数y=x^2*sin(x^2-x-2),x范围为[-2,2].求其三个极值点和三个拐点
花了两天时间,终于研究明白了!
function hh
global dy1 dy2
y='x^2*sin(x^2-x-2)'
dy1=diff(y)
dy2=diff(y,2)
subplot(3,1,1)
ezplot(y,[-2 2])
subplot(3,1,2)
ezplot(dy1,[-2 2]),hold on,plot(-2:2,zeros(length(-2:2)))
subplot(3,1,3)
ezplot(dy2,[-2 2]),hold on,plot(-2:2,zeros(length(-2:2)))
x01=fsolve(@myfun1,[-1.5 -0.7 0 1.6])
x02=fsolve(@myfun2,[-1.9 -1.3 -0.5 1.3])
function f1=myfun1(x)
global dy1
f1=subs(dy1);%very inportamt!;
function f2=myfun2(x)
global dy2
f2=subs(dy2);%very inportamt!;
结果:
y =
x^2*sin(x^2-x-2)
dy1 =
2*x*sin(x^2-x-2)+x^2*cos(x^2-x-2)*(2*x-1)
dy2 =
2*sin(x^2-x-2)+4*x*cos(x^2-x-2)*(2*x-1)-x^2*sin(x^2-x-2)*(2*x-1)^2+2*x^2*cos(x^2-x-2)
Optimization terminated:first-order optimality is less than options.TolFun.
x01 =
-1.5326 -0.7315 0 1.5951
Optimization terminated:first-order optimality is less than options.TolFun.
x02 =
-1.9240 -1.2650 -0.4742 1.2404
先求其导数,令导数的式子=0 得到的解便是极值点,如果超出了[-2,2]的范围,还要把-2与2比较。