Mac中在Matlab中安裝Mosek

我的電腦macOS Catalina 版本 10.15.4 Matlab R2019b

  1. 首先我下載最新版本mosek到/Users/name目錄中(name是你電腦的名字);
  2. 在命令行輸入:
conda install -c mosek mosek

再在命令行輸入:

python /Users/name/mosek/8/tools/platform/osx64x86/bin/install.py

以上安裝標準可在官方安裝文檔中找到:https://docs.mosek.com/8.1/install/installation.html#downloading-and-setting-up

  1. 獲取mosek許可證:在官網https://www.mosek.com中找到academic license按鈕,填寫學校郵箱,之後會發送一個mosek.lic文件到你的學校郵箱,保存到/Users/name/mosek目錄中(因爲這是Matlab獲取許可證默認搜索路徑);

  2. 這就安裝好了,用的時候需要addpath('/Users/name/mosek/9.2/toolbox/r2015a')
    下面運行一個代碼看看:

%mosek
clear;close all;clc;
H = [1 -1; -1 2];
f = [-2; -6];
A = [1 1; -1 2; 2 1];
b = [2; 2; 3];
lb = [0; 0];
mosek_path = '/Users/name/mosek/9.2/toolbox/r2015a';
addpath(mosek_path)
which('linprog')
tic
try
    [x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[],[],lb);
catch ME
    disp( 'Error with mosek toolbox, use built-in quadprog instead. ')
    rmpath(mosek_path);
    opts = optimoptions('quadprog','Display','off');
    [x,fval,exitflag,output,lambda] = quadprog(H,f,A,b,[],[],lb,[],[],opts);
    addpath(mosek_path);
end
toc

成功運行,輸出:

/Users/name/mosek/9.2/toolbox/r2015a/linprog.m
歷時 0.039304 秒。
  1. 在Matlab命令行窗口輸入mosekdiag看看輸出啥,下面是我的輸出:
Matlab version   : 9.7.0.1190202 (R2019b)
Architecture     : MACI64
mosekopt path    : /Users/name/mosek/9.2/toolbox/r2015a/mosekopt.mexmaci64
MOSEK version    : 9.2.10
Test linear solve: Success
mosekopt works OK. You can use MOSEK in MATLAB.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章