matlab编译dll文件报错:
【警告: VeriStand: You selected an unsupported compiler. Attempting to locate a supported installation of the Microsoft Visual Studio C++ tool chain.】
参考GPT和自己的思路:这个警告提示你选择了一个不被支持的编译器,Matlab尝试查找已支持的Microsoft Visual Studio C++工具链的安装。如果Matlab未能找到需要的工具链,您可以手动下载和安装Microsoft Visual Studio C++ 2015或2017。安装完成后,您可以重新尝试编译您的DLL文件,该警告应该会消失。
不知道你这个问题是否已经解决, 如果还没有解决的话:linprog
函数
用来求解如下一类线性规划问题:
minxfTx, s.t. {A⋅x⩽bAeq⋅x=beqlb⩽x⩽ub\min _{x} f^{T} x, \text { s.t. }\left\{\begin{array}{l} \boldsymbol{A} \cdot x \leqslant \mathbf{b} \\ \boldsymbol{A e q} \cdot x=\mathbf{b e q} \\ \mathrm{lb} \leqslant x \leqslant \mathrm{ub} \end{array}\right.xminfTx, s.t. ⎩⎨⎧A⋅x⩽bAeq⋅x=beqlb⩽x⩽ub其中 AAA 表示不等式约束的系数矩阵, AeqAeqAeq 表示等式约束的系数矩阵, b\mathbf{b}b表示不等式约束的 常向量, beq\mathbf{beq}beq 表示等式约束的常向量,而 lb\mathrm{lb}lb 、 ub\mathrm{ub}ub 则表示自变量的上下范围。调用格式:
(1) x=linprog(f, A, b,Aeq, beq, lb, ub, x0 , options )
: 此格式通过 options 选项来指定优化参数。
(2) x=linprog( problem)
:此格式的线性规划问题通过结构 problem 来指定, 此格式是
例子:
求解下面的线性规划:
minf=−4x1−x2, s.t. {−x1+2x2⩽42x1+3x2⩽12x1−x2⩽3x1,x2⩾0\min f=-4 x_{1}-x_{2}, \text { s.t. }\left\{\begin{array}{l} -x_{1}+2 x_{2} \leqslant 4 \\ 2 x_{1}+3 x_{2} \leqslant 12 \\ x_{1}-x_{2} \leqslant 3 \\ x_{1}, x_{2} \geqslant 0 \end{array}\right.minf=−4x1−x2, s.t. ⎩⎪⎪⎨⎪⎪⎧−x1+2x2⩽42x1+3x2⩽12x1−x2⩽3x1,x2⩾0
>>f=[-4 ;-1]
>>A=[-1 2 ; 2 3 ; 1 -1]
>>b=[4;12;3]
>>[x, fval, exitflag, output,lamda]=lnprog(f, A, b,[],[], zros(2,1))