2011-03-15 84 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) 

是你想要的。不平等約束是第一個參數。如果你想同時擁有平等和不平等約束,那就是了。