文档帮助中心文档
问题变量映射到solver-based变量指数
idx = varindex(概率)
varname idx = varindex(概率)
例子
idx= varindex (概率)返回问题的线性指标变量作为一个结构或一个整数向量。如果你把概率通过使用问题的结构prob2struct,idx给出了变量指数在生成的问题结构,对应的变量概率。
idx= varindex (概率)
idx
概率
prob2struct
idx= varindex (概率,varname)返回元素的线性指标varname。
idx= varindex (概率,varname)
varname
全部折叠
创建一个优化问题。
x = optimvar (“x”3);y = optimvar (“y”3、3);概率= optimproblem (“目标”,x ' * y * x);
将问题转换成结构。
问题= prob2struct(概率);
获得线性指标问题所有的概率变量。
问题
idx = varindex(概率);disp (idx.x)
1 2 3
disp (idx.y)
4 5 6 7 8 9 10 11 12
获得y指数。
y
idxy = varindex(概率,“y”)
idxy =1×94 5 6 7 8 9 10 11 12
这个例子展示了如何获取大部分相同的信息使用问答型的方法或solver-based方法。首先创建一个使用基于问题的方法问题和解决它。
x = optimvar (“x”3,1,下界的,1“UpperBound”1);y = optimvar (“y”3,3,下界的,1“UpperBound”1);概率= optimproblem (“目标”,x ' * * x + y [2 3 4] * x);rng默认的x0。x =兰德(3,1);x0.y= rand(3, 3); [solp,fvalp,exitflagp,outputp] = solve(prob,x0);
使用fmincon解决问题。局部最小值发现,满足约束。优化完成,因为目标函数中引入可行的方向,在最优值的宽容,和约束满足约束的值公差内。
接下来,将问题转换为solver-based形式使用prob2struct。有fmincon解算器使用自动梯度问题,设置SpecifyObjectiveGradient选项真正的。
fmincon
SpecifyObjectiveGradient
真正的
solverprob = prob2struct(概率,x0);solverprob。选择= optimoptions (solverprob.options,“SpecifyObjectiveGradient”,真正的);
解决问题用fmincon。
[溶胶,fvals exitflags、输出]= fmincon (solverprob);
局部最小值发现,满足约束。优化完成,因为目标函数中引入可行的方向,在最优值的宽容,和约束满足约束的值公差内。
将fmincon返回的结构形式解决方案解决使用,创建适当的结构varindex。
解决
varindex
idx = varindex(概率);sol.x =溶胶(idx.x);sol.y =溶胶(idx.y);
的y指数,varindex使用是一个线性指数。重塑变量sol.y的大小x0.y。
sol.y
x0.y
sol.y =重塑(sol.y、大小(x0.y));
检查两个解决方案结构是相同的。
solp isequal(索尔)
ans =逻辑1
的原因,这两种方法并不完全相同fmincon可以返回多个参数如拉格朗日乘数法,而解决不能。
OptimizationProblem
EquationProblem
优化问题或方程问题,指定为一个OptimizationProblem对象或一个EquationProblem对象。通过创建一个优化问题optimproblem;通过创建一个方程问题eqnproblem。
optimproblem
eqnproblem
警告
具体问题具体分析的方法不支持复杂的值在一个目标函数,非线性等式,或非线性万博1manbetx不等式。如果一个函数计算具有复杂的价值,即使作为一个中间值,最终结果可能是不正确的。
例子:概率= optimproblem;概率。目标= obj;prob.Constraints。cons1 = cons1;
概率= optimproblem;概率。目标= obj;prob.Constraints。cons1 = cons1;
例子:概率= eqnproblem;概率。公式=方程式;
概率= eqnproblem;概率。公式=方程式;
变量名称,指定为一个字符或字符串向量。
例子:“x”
“x”
数据类型:字符|字符串
字符
字符串
问题变量的线性指标,作为结构或返回一个整数向量。如果你把概率通过使用问题的结构prob2struct,idx给出了变量指数在生成的问题结构,对应的变量概率。
当你打电话idx = varindex(概率),返回idx是一个结构。结构的字段名称的变量名概率。每个字段的值是整数向量的线性指标变量映射的相关变量solver-based问题。
当你打电话varname idx = varindex(概率),返回idx是向量的线性指标变量varname地图相关的变量solver-based问题。
看到获得问题的指标。
EquationProblem|OptimizationProblem|prob2struct
你有一个修改版的这个例子。你想打开这个例子与编辑?
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:。
你也可以从下面的列表中选择一个网站:
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。
联系你当地的办公室