【发布时间】:2014-11-06 17:08:55
【问题描述】:
好的,我有一个脚本可以运行数百万次 lsqlin 优化功能。为了加快这段代码的速度,我“codegen”了它(基本上自动创建了一些 mex 文件)。这是Linear systems of inequations的后续。
这里的问题是lsqlin等优化函数没有转化,需要外部调用,导致效率损失。
我已经找到了 MINQ 工具箱,但不明白如何从 lsqlin 转换成这个工具箱。还找到了需要许可证的 QPC 工具箱,我目前正在等待。
有没有人推荐另一个工具箱以及如何从 lsqlin 转换到那个工具箱?
代码生成 lsqlin 脚本的一般思路(可以看出调用链接而不是完全转换)。
代码:
function main_script()
coder.extrinsic('lsqlin_script')
for i=1:10^7
X=lsqlin_script(A,b,X0)
...
end
end
function X=lsqlin_script(A,b,X0)
X=lsqlin(eye(2),X0, A, b,[],[],[],[],X0, optimoptions('lsqlin','Display','Off'));
end
运行:
codegen main_script.m
main_script_mex(INPUTS)
【问题讨论】:
标签: matlab optimization matlab-coder