SoC-ZCU106求解非线性方程(一):环境安装

一、大家好久不见,本次给大家带来的是SoC求解非线性方程问题。计划发布三篇文章,这是第一篇----环境安装。

主要的解决的问题是:PL侧给PS传输数据,然后PS将数据作为已知量求解非线性方程,为了简化问题复杂度,本次实验只在vivado中例化arm,但并不传入数据,主要集中在sdk侧的开发。

二、windows安装casadia

第一部分:安装ipopt的支持

1、如果机器上安装了msys2,则跳过此步骤,直接第4步,如果第3步执行错误,请从本步顺序执行。

卸载msys2,电脑管家与设置均可卸载

2、安装msys2

https://github.com/msys2/msys2-installer/releases/download/2022-10-28/msys2-x86_64-20221028.exe

3、替换镜像

msys2 | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

4、安装gcc、cmake、make

msys2安装gcc、g++编译器_只爱写代码的博客-CSDN博客_msys2安装gcc

MSYS2 + GCC + CMAKE环境搭建_生活需要深度的博客-CSDN博客_msys2安装cmake

5、开始安装,选中64位的编译器安装 

1、安装依赖
pacman -S binutils diffutils git grep make patch pkg-config 
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-gcc-fortran
pacman -S mingw-w64-x86_64-lapack mingw-w64-x86_64-metis
2、下载ipopt,我的电脑的win11系统,我试了只有这个可以用
Ipopt-3.12.13.zip   一定要这个版本的(下载地址:http://www.coin-or.org/download/source/Ipopt).
3、然后安装ASL依赖,其他的可以不安装
cd Blas/
./get.Blas
cd ../Lapack/
./get.Lapack
cd ../ASL
./get.ASL
cd ../Metis/
./get.Metis
cd ../Mumps/
./get.Mumps
4、下载HSL,不过我已经发送到了CSDN,连接在下面
https://www.hsl.rl.ac.uk/ipopt/
5、将HSL下载放入到的/ThirdParty/HSL,并重命名这个文件为coinhsl
6、编译ipopt
mkdir Ipopt-3.12.13/build
cd Ipopt-3.12.13/build
../configure
make -j4

注意:这里是HSL的完整代码:

关于第5步的解释:configure文件下面就是这么写的,所以改名为coinhsl

 6、等待2小时左右的编译时间,然后验证编译是否完成

接下来执行 make test 命令进行测试,如果上一步成功的话,这一步也很快就通过了,会在Ipopt\Ipopt\test 生成 hs071_*.exe 的可执行文件同时终端上也会提示测试成功。

 7、完成安装

输入命令:make install

等待完成后,可以看到C:\msys64\mingw64\bin目录下的ipopt

lib文件夹地址:C:\msys64\mingw64\lib

我这里没有安装mumps,因为我不会翻墙 

include文件地址:C:\msys64\mingw64\include\coin

使用时,只需要将include与lib文件夹复制到项目中即可

第二部分:安装casadi的支持

1、下载casadi

https://github.com/casadi/casadi

2、下载下面两个依赖,先安装pcre,后安装swig

https://jaist.dl.sourceforge.net/project/pcre/pcre/8.44/pcre-8.44.tar.gz

https://jaist.dl.sourceforge.net/project/swig/swig/swig-4.0.2/swig-4.0.2.tar.gz

分别进入文件后执行

./configure
make
make install

3、进入casadi文件夹输入命令

mkdir build
cd build
cmake .. -DWITH_IPOPT=ON 

三、在VS2019中编写求解代码,验证可用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发光的沙子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值