使用MATLAB求函数的极值并求解

发布于 科技 2024-02-05
7个回答
  1. 匿名用户2024-01-25

    syms x y

    f=y^3/9+3*x^2*y+9*x^2+y^2+x*y+9;

    fx=diff(f,x);

    fy=diff(f,y);

    x0,y0]=solve(fx,fy,[x,y]);

    if isempty(x0)

    error('函数没有极值。

    endfxx=diff(fx,x);

    fyy=diff(fy,y);

    fxy=diff(fx,y);

    for k=1:length(x0)

    fv=limit(limit(f,x,x0(k)),y,y0(k));

    a=limit(limit(fxx,x,x0(k)),y,y0(k));

    b=limit(limit(fxy,x,x0(k)),y,y0(k));

    c=limit(limit(fyy,x,x0(k)),y,y0(k));

    if a*c-b^2>0

    if a<0

    disp(['点 [.]',char(x0(k)),', ', char(y0(k)),'] 是最大点,最大值为', char(fv)])

    elsedisp(['点 [.]',char(x0(k)),', ', char(y0(k)),'] 是最小点,最小值为', char(fv)])

    endelseif a*c-b^2<0

    disp(['点 [.]',char(x0(k)),', ', char(y0(k)),']不是一个极端点']);

    elsedisp(['无法判断这一点 [.]',char(x0(k)),', ', char(y0(k)),']是否是极端点']);

    endend

    运行的结果是:

    点 [0, 0] 是最小值,最小值为 9

    点 [-1 3, -6] 为最大点,最大值为 22

    点 [5, 6, -5, 2] 不是一个极端点。

    点 [-7 6, -7 2] 不是极值点。

  2. 匿名用户2024-01-24

    有三种方法可以做到这一点:

    复制导数为 0,并找到极值。

    BAI,优化算法(使用函数DU

    画志观察。

    有 2 个功能:

    x,feal,exitflag,output]=fminbnd(fun,x1,x2,options)

    x,feal,exitflag,output]=fminsearch(fun,x0,options)

    如果 exitflag 给出的数字大于 dao0,则成功找到极值,x 和 fval 分别是目标函数的极值和对应的极值。

    使用函数示例:在区间 -10“ x ”10 中,找到函数的最小值。

    x1=-10;x2=10;

    yx=@(x)(sin(x)^2)*exp(;

    xn0,fval,exitflag,output]=fminbnd(yx,x1,x2)

  3. 匿名用户2024-01-23

    答案: 分析: 分析: 分析:

    函数定义的域为 ( 1) (1, let 0 得到 x1 1,x2 2 当 x 发生变化时,y、y 的变化如下: 因此,当烧录 x 1 时,y 最大值。

  4. 匿名用户2024-01-22

    操作步骤如下:

    clearclc[x,y]=meshgrid(:6,:7);

    f=x.^2+2.*x-3.*y+y.^2;

    m1,r]=min(f);

    m2,c]=min(m1);

    m2 是得到的最小值,对应 x 和 y 分别是 x(r,c) 和 y(r,c)。

    此外,你的方程式不可避免地太简单了。 肉眼能看到结果,标题说是求极值,但实际上问题需要最大值,这并不是很严谨。

  5. 匿名用户2024-01-21

    syms e t

    y=exp(-e/(;

    s=2*int(y,t,,,t,,;

    solve(s,e)

    示例:syms x

    h=y=x+h

    其结果是:y =

    empty sym 】

    因为这个结果 [empty syms] 是唯一正确的结果。

    这里的计算不是 x,而是一个数字:1 + 结果仍然是。

    由于你的 h 是空的,原则上 x 加上 h 中的元素,而 h 中没有元素,所以结果也是空的。

    由于 x 符号已更改,因此它显示为 [空符号]。

  6. 匿名用户2024-01-20

    解:首先求方程的偏导数,即先取x2为常数,x1为自变量,求导数

    y'(x1)=

    然后以 x1 为常数,以 x2 为自变量求导数:

    y'(x2)=

    当 y'(x1)=0,代入(1)溶液得到:x1=;

    当 y'(x1)=0,代入(2)解:x2=显然,两个自变量的值都在指定范围内,y'(x1) 的值随着 x1 的增加而减小,y'(x2) 的值增加和减少,因此原始方程具有最大值。 将这两个值代入原始方程可得到最大值:

    ymax==

  7. 匿名用户2024-01-19

    syms x a

    f=a*sin(x)+sin(3*x)/3;

    df=diff(f,x);

    x0=pi/3;

    a0=solve(subs(df,x,x0),a) % 并根据极值找到 af=subs(f,a,a0)%a0%。

    d2=subs(diff(f,2),x,x0)% 的二阶导数,值为 x=pi 3。

    a0 =2f =

    sin(3*x)/3 + 2*sin(x)f0 =

    d2 = 结果表明,根据 x0=pi 3 的极值出现,a 的值是 2 f(x) = sin(3*x) 3 + 2*sin(x) 的函数,极值 f0=f(x0) = 即根数 3

    f(x) 的二阶导数是此时的值 f''(x0)=<0 函数是凸函数,这个极值是最大值。

相关回答
11个回答2024-02-05

要用盛金公式找,但如果是高中的话,就不用了,这三道题很多都是技巧,如果想要盛金公式,百科全书都有。

9个回答2024-02-05

function my_ga()

options=gaoptimset; >>>More

4个回答2024-02-05

三次函数可以尝试使用未定系数法对其进行分解,如ax+bx+cx+d a(x+e)(x +fx+g),将其分割以计算e、f、g、x+fx+g的值可以分解并继续分解,如果不能分解,则分解完成。 >>>More

8个回答2024-02-05

1 观察。

用于简单的分析公式。 >>>More

18个回答2024-02-05

在系统帮助中查看这些函数的用法,您可以使用 degrees() 将弧度转换为度,将弧度()转换为弧度再到弧度,然后使用其他三角函数求解它们。 >>>More