matlab使用yalmip工具箱

2021-10-05 15:21:18 字數 1461 閱讀 5899

使用yalmip工具箱可以像書寫數學模型那樣輸入規劃問題的約束和目標函式,非常方便。

以下為在matlab r2018a下新增yalmip並簡單使用的例子

注意!!!路徑中最好沒有中文

選擇「新增幷包含子資料夾」,將 yalmip 的路徑新增進去

在命令列中輸入which sdpvarwhich solvesdpwhich intvar等命令,顯示路徑則表明新增成功

1.定義變數

sqdvar()建立實數型決策變數;

intvar()建立整數型決策變數;

binva()建立0/1型決策變數;

在建立n*n的決策變數時,yalmip預設是對稱方陣,所以要建立非對稱方針時,需要這樣寫:***var(n,n,'full').

2.設定目標函式 :f=目標函式.

3.設定限定條件:f=set(限定條件).

4.多個限定條件用加號相連f=set(限定條件)+set(限定條件1)+set(限定條件2)…….事實上,現在的set()已經把不使用了,改為使用()或為限定條件的框.

5.求解:solvesdp(f,f).這裡解得是f條件下目標函式f的最小值,如果一開始要求最大值那麼需要f前面加個負號solvesdp(f,-f).

6.求解之後檢視數值:double(變數名).

這裡求最大值,所以f前要加負號

x=intvar(1,3);

f=[17,72,35]*x';

f=(0<= x)+([10,41,20]*x'<=50);

solvesdp(f,-f);

disp(double(x));

disp(double(f));

結果就是x取值1,0,2時,得到f最大值為87

更多深入講解可以瀏覽官方教程:

Matlab運用 Matlab簡單使用

plot u ifffinal,k linewidth 3 k代表黑色,還可以更換別的顏色,linewidth 3 設定所畫線條寬度為3磅 xlabel 待定位節點 設定x座標軸名稱 ylabel 誤差 m 設定y座標軸名稱 set gca,linewidth 2.5 設定座標軸寬度 a x 10 ...

windows使用AutoHotkey工具切換使用者

在windows平台上,如果想以某個使用者來執行乙個管理員或其他使用者許可權的命令,在命令列上我們可以使用 runas 命令來實現。但是 runas 有個問題就是在執行的時候會提示需要輸入密碼,這樣用起來很不方便。於是乎找到了 autohotkey 工具,使用 autohotkey,我們可以寫一些簡...

matlab使用基礎

由於剛剛開始使用matlab,所知甚少,用到的都是很皮毛的東西。記下來就當做是筆記了。一 陣列 1 陣列的定義。matlab中陣列是按列儲存的。但是在使用的時候仍是符合正常的習慣,即行,列優先的順序。建立一行陣列 a 1 2 3 4 5 或者中間用 即a 1,2,3,4,5 建立一列陣列 b 1 2...