2011-03-15 79 views
0

如何在MATLAB中声明非线性约束作为匿名函数。我没有任何不平等限制,只有一个平等。声明非线性约束作为匿名函数

+0

当你说“非线性”时,你的意思是*分段*。如果是这样,这些其他问题应该可以帮助你:[如何在MATLAB中创建分段内联函数?](http://stackoverflow.com/questions/796072/how-can-i-create-a-piecewise-inline- function-in-matlab),[如何在matlab中用多个变量执行分段方程?](http://stackoverflow.com/questions/4383078/how-would-perform-a-piecewise-equation-with-multiple- variable-in-matlab) – gnovice 2011-03-15 02:36:40

+0

我想你想在fmincon中使用这个约束,但你应该编辑你的问题并明确地说出来。 – jmbr 2011-03-15 05:21:22

回答

3

你需要做的是创建一个输出两个参数的匿名函数。你可以这样做:

@(x) deal(x^2, 0) 

是你想要的。不平等约束是第一个参数。如果你想同时拥有平等和不平等约束,那就是了。