Main Content

show

显示有关优化对象的信息

自 R2019b 起

语法

说明

使用 show 显示有关优化对象的信息。

提示

有关完整的工作流,请参阅基于问题的优化工作流基于问题的方程求解工作流

示例

show(obj) 在命令行显示有关 obj 的信息。如果对象显示较大,请考虑改用 write 以将信息保存在文本文件中。

示例

全部折叠

检查问题构造的各个阶段,以优化限制在单位圆盘上的罗森布罗克函数(请参阅基于问题求解有约束非线性问题:)。

创建一个二维优化变量 x。显示该变量。

x = optimvar('x',2);
show(x)
    [ x(1) ]
    [ x(2) ]

为目标函数创建一个表达式。显示该表达式。

obj = log(1 + 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2);
show(obj)
  log(((1 + (100 .* (x(2) - x(1).^2).^2)) + (1 - x(1)).^2))

为约束创建一个表达式。显示该约束。

cons = x(1)^2 + x(2)^2 <= 1;
show(cons)
  (x(1).^2 + x(2).^2) <= 1

创建一个以 obj 为目标函数、以 cons 为约束的优化问题。显示该问题。

prob = optimproblem("Objective",obj,"Constraints",cons);
show(prob)
  OptimizationProblem : 

	Solve for:
       x

	minimize :
       log(((1 + (100 .* (x(2) - x(1).^2).^2)) + (1 - x(1)).^2))


	subject to :
       (x(1).^2 + x(2).^2) <= 1
     

最后,创建一个初始点 [0 0],并从该初始点开始求解问题。

x0.x = [0 0];
[sol,fval,exitflag] = solve(prob,x0)
Solving problem using fmincon.

Local minimum found that satisfies the constraints.

Optimization completed because the objective function is non-decreasing in 
feasible directions, to within the value of the optimality tolerance,
and constraints are satisfied to within the value of the constraint tolerance.
sol = struct with fields:
    x: [2x1 double]

fval = 0.0447
exitflag = 
    OptimalSolution

检查解点。

sol.x
ans = 2×1

    0.7864
    0.6177

输入参数

全部折叠

优化对象,指定为以下对象之一:

版本历史记录

在 R2019b 中推出