C++ & Matlab 混合编程 - KLU(Sparse LU)

本文介绍了如何在Matlab中使用C++和KLU库进行混合编程,以解决线性方程组。首先,详细阐述了KLU的软件版本、编译过程,包括下载SuiteSparse和Metis,以及在Matlab环境中编译KLU的方法。接着,展示了Matlab和C++的代码部分,并提供了数据生成的说明。最后,讨论了C++配置和测试结果,包括正确性和运行时间。
摘要由CSDN通过智能技术生成

1. 软件版本信息

  • Matlab 2017b
  • Visual Studio 2015 Professional
  • Operating System Windows 10
  • KLU


2 KLU 编译

KLU是针对线性方程组中系数矩阵的LU分解的一类快速求解方法。源文件为C文件,理论上是可以直接在Visual Studio中直接使用的,可参见KLU使用说明。不过,大部分编程的人,尤其是高校研究生更熟悉Matlab。因此,若想在Matlab中使用KLU,则需进行额外的处理,即采用mex指令进行编译,不过KLU的编译是比较麻烦的。尽管如此,但是开发此代码的作者Tim Davis已以脚本文件完成编译部分,更加便捷,具体安装可参见KLU编译链接

2.1 KLU来源

From: http://faculty.cse.tamu.edu/davis/suitesparse.html,网页界面如下所示:



下载后,文件内容大致如下所示:


值得注意两点:

    其一,因为使用到LU分解,

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值