matlab中sedumi的安装出现的问题

install_sedumi
Building SeDuMi binaries...
mex  -O -DPC -largeArrayDims bwblkslv.c sdmauxFill.c sdmauxRdot.c "D:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\lib\win64\microsoft\libmwblas.lib"
Building with 'Microsoft Visual C++ 2015 Professional (C)'.
Error using mex
  正在创建库 bwblkslv.lib 和对象 bwblkslv.exp
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxCalloc,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxFree,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxGetM,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxGetIr_730,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxGetJc_730,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxIsSparse,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxGetPr,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxGetN,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxGetField_730,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxCreateDoubleMatrix_730,该符号在函数 _mexFunction 中被引用
bwblkslv.obj : error LNK2019: 无法解析的外部符号 _mxCreateSparse_730,该符号在函数 _mexFunction 中被引用
sdmauxRdot.obj : error LNK2019: 无法解析的外部符号 _ddot,该符号在函数 _realdot 中被引用
D:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\lib\win64\microsoft\libmwblas.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“X86”冲突
D:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\lib\win64\microsoft\libmx.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“X86”冲突
D:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\lib\win64\microsoft\libmex.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“X86”冲突
D:\Program Files\MATLAB\MATLAB Production Server\R2015a\extern\lib\win64\microsoft\libmat.lib : warning LNK4272:库计算机类型“x64”与目标计算机类型“X86”冲突
bwblkslv.mexw32 : fatal error LNK1120: 12 个无法解析的外部命令
Error in install_sedumi (line 114)
    eval( temp );

在matlab中安装sedumi时,出现以上错误,由于sedumi的安装需要matlab调用.c文件,但是可能是matlab和vs的位数不匹配,出现此类错误,然后就开始在网上扒教程,首先[https://www.jianshu.com/p/06d4a73aad93],通过实验调用.cpp文件是成功的,但是.c文件依旧错误;还有通过[https://www.cnblogs.com/arxive/p/5103792.html]进行配置,最后还是在stackoverflow中扒出[https://stackoverflow.com/questions/29590880/how-to-install-sedumi-for-yalmip-matlab-after-downloaded],直接在matlab中addpath()就可以。实验sedumi可以使用了。OK

### 安装与配置 SeDuMi 求解器 在 MATLAB安装和配置 SeDuMi 求解器的过程可以分为以下几个方面: #### 下载与解压 首先,需要从官方或其他可信资源下载 SeDuMi安装包。将其保存到本地计算机的一个目录中,并对该压缩文件进行解压操作。假设解压后的路径为 `D:\Program Files\MATLAB\R2023a\toolbox\SeDuMi_1_3`[^2]。 #### 配置 MATLAB 路径 为了使 MATLAB 能够识别 SeDuMi 工具箱,在 MATLAB 命令窗口中运行以下命令来添加路径: ```matlab addpath('D:\Program Files\MATLAB\R2023a\toolbox\SeDuMi_1_3'); savepath; ``` 上述代码的作用是将指定的路径永久加入 MATLAB 的搜索路径列表中[^1]。 #### C++ 编译环境配置 某些版本的 SeDuMi 可能依赖于外部编译器的支持。对于 Windows 用户来说,推荐安装 MinGW-w64 编译器作为支持工具。具体步骤如下: 1. 打开 MATLAB 并导航至 **主页 -> 附加功能 -> 获取附加功能**。 2. 在弹出的界面中搜索 “MinGW-w64”,然后按照提示完成安装过程[^4]。 3. 确认完成后返回 MATLAB 命令行输入 `mex -setup` 来验证当前使用的编译器是否已正确设置。 #### 初始化 SeDuMi 最后一步是在 MATLAB 命令行执行初始化脚本以确保所有组件正常工作。通过键入以下指令实现这一目标: ```matlab >> install_sedumi ``` 如果一切顺利,则不会出现错误消息;反之则需排查潜在问题并解决它们后再重新尝试此步操作。 #### 结合 YALMIP 使用 当希望利用 YALMIP 进行建模时调用 SEDUMI 解决实际 LMI 类型的问题,只需简单声明即可让两者协同作业[^3]: ```matlab sdpvar x y z % 创建符号变量 F = [x >= 0, y >= 0, z >= 0]; % 添加约束条件 objective = x + y + z; % 设置目标函数 options = sdpsettings('solver','sedumi');% 明确选用 sedumi solver optimize(F, objective, options); % 开始最优化计算流程 value([x;y;z]) % 输出最优解向量 ```
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值