关于matlab的问题请大神解答在这个式子里面,m=4.2827,我需要求出最大极值和最小极值,包括具体的点的坐标,请问怎么求,结果是什么?用matlab解答,
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 20:53:06
![关于matlab的问题请大神解答在这个式子里面,m=4.2827,我需要求出最大极值和最小极值,包括具体的点的坐标,请问怎么求,结果是什么?用matlab解答,](/uploads/image/z/3960258-42-8.jpg?t=%E5%85%B3%E4%BA%8Ematlab%E7%9A%84%E9%97%AE%E9%A2%98%E8%AF%B7%E5%A4%A7%E7%A5%9E%E8%A7%A3%E7%AD%94%E5%9C%A8%E8%BF%99%E4%B8%AA%E5%BC%8F%E5%AD%90%E9%87%8C%E9%9D%A2%2Cm%3D4.2827%2C%E6%88%91%E9%9C%80%E8%A6%81%E6%B1%82%E5%87%BA%E6%9C%80%E5%A4%A7%E6%9E%81%E5%80%BC%E5%92%8C%E6%9C%80%E5%B0%8F%E6%9E%81%E5%80%BC%2C%E5%8C%85%E6%8B%AC%E5%85%B7%E4%BD%93%E7%9A%84%E7%82%B9%E7%9A%84%E5%9D%90%E6%A0%87%2C%E8%AF%B7%E9%97%AE%E6%80%8E%E4%B9%88%E6%B1%82%2C%E7%BB%93%E6%9E%9C%E6%98%AF%E4%BB%80%E4%B9%88%3F%E7%94%A8matlab%E8%A7%A3%E7%AD%94%2C)
关于matlab的问题请大神解答在这个式子里面,m=4.2827,我需要求出最大极值和最小极值,包括具体的点的坐标,请问怎么求,结果是什么?用matlab解答,
关于matlab的问题请大神解答
在这个式子里面,m=4.2827,我需要求出最大极值和最小极值,包括具体的点的坐标,请问怎么求,结果是什么?用matlab解答,
关于matlab的问题请大神解答在这个式子里面,m=4.2827,我需要求出最大极值和最小极值,包括具体的点的坐标,请问怎么求,结果是什么?用matlab解答,
代码如下:
clear
clc
%首先定义符号变量
syms x m
y = sym('x/(1+m*x^2)^2');
%求其一阶导数
diff1 = diff(y,1,x);
%解出一阶导为零的点,这里解出的x0为有两个元素的数组,分别是极大值和极小值
%x0(1) = ((4*m)/3)^(1/2)/(2*m)
%x0(2) = -((4*m)/3)^(1/2)/(2*m)
x0 = solve(diff1,x);
%我这里将x0带到一阶导中,验算一下是不是为零,结果正确,这一步可以省略
% subs(diff1,x,x0(1));
% subs(diff1,x,x0(2));
%然后求二阶导,来判断这两个极点,哪个是极大值点哪个是极小值点.
%二阶导小于零为极大值点,二阶导大于零为极小值点
diff2 = diff(diff1,1,x);
%哪个点为极大值,哪个点为极小值和m有关,这里假设m为4
m0 = 4;
%循环判断极值点二阶导<0,为极大值.如果>0,为极小值
for fi = 1:size(x0,1)
x21 = subs(diff2,x,x0(fi));
xm1 = subs(x21,m,m0);
jz1 = eval(xm1);
x01 = subs(x0(fi),m,m0);
re1x = eval(x01);
y01 = subs(y,{x,m},{re1x,m0});
re1y = eval(y01);
if jz1 < 0
fprintf('x在%f取到极大值点为%f\n',re1x,re1y);
else
fprintf('x在%f取到极小值点为%f\n',re1x,re1y);
end
end
%这里你只要输入不同的m,就可以得到不同的极值点结果了
%下面是绘图验证一下
xx = linspace(-3,3,100);
yy = subs(y,{x,m},{xx,m0});
plot(xx,yy)
hold on
plot(0.288675,0.162380,'*','MarkerSize',10)
plot(-0.288675,-0.162380,'*','MarkerSize',10)
结果如下:
x在0.288675取到极大值点为0.162380
x在-0.288675取到极小值点为-0.162380
syms x y=x/(1+4.2827*x^2)^2; dy=diff(y); a= solve(dy==0); aa=double(a); aa就是极值点 我算的结果是 0.2790 -0.2790 这是f(x)的图像