linux服务器下的matlab配置、如何运行matlab代码及其与C的混合编程

您所在的位置:网站首页 linux服务器如何运行渲染软件 linux服务器下的matlab配置、如何运行matlab代码及其与C的混合编程

linux服务器下的matlab配置、如何运行matlab代码及其与C的混合编程

2024-07-11 23:59| 来源: 网络整理| 查看: 265

因为一直在本地用matlab跑数据,既然实验室给我一个就自己在使用的服务器,当然要充分的利用好了,就在在服务器上安装了matlab,并学习了一下如何在linux服务器下跑.c文件。

一.在linux下利用命令行安装matlab

主要参考的博客 https://blog.csdn.net/wzz18191171661/article/details/73253107,主要包括了以下几个步骤

1.下载“Crack”和“ISO”文件

下载地址如下所示:http://pan.baidu.com/s/1c2J5XE4,我是在本地下载的,然后在上传到服务器的,在服务器上下载实在是太慢了。

2.对映像文件进行挂载

1)cd  ~                    # 切换到home目录 2)sudo mkdir  matlab       # 创建一个文件夹,并命名为matlab,用于挂载 3)sudo mkdir Linux         # 创建一个文件夹,用来存放两个ISO文件 4)sudo mount -t auto -o loop Linux/R2016b_glnxa64_dvd1.iso matlab/                     # 挂载dvd1 5)sudo  /home/user01/matlab/install # 开始安装 6)当安装进度条执行到80%时,需要另外打开一个“终端”,开始挂载dvd2。  sudo mount -t auto -o loop Linux/R2016b_glnxa64_dvd2.iso matlab/ 7)sudo umount matlab/  # 安装完成后取消挂载 8)sudo rm -r matlab/   # 删除空文件夹

在安装过程中出现的图形界面里选择use a File Installation Key来安装;安装序号在“Crack”文件下的txt文件中。

3.激活MATLAB

1)将~/Crack/bin/中的文件复制到~/MATLAB/bin中

当然要先对“Crack”压缩包进行解压,到文件夹下使用 tar -xzvf  文件名 即可解压 sudo cp  /home/user01/Linux/Crack/R2016b/bin/glnxa64/*  /home/user01/MATBLE/bin/glnxa64 我是把matlab安装在自己的用户下的。 2)cd /home/user01/MATBLE/bin # 切换到Matlab的安装路径中 3)sudo ./matlab # 以root权限运行。

后面激活的时候选择Activate manually  without the Internate,输入激活文件时,选择在“Crack”文件中的license_standalone.lic文件就OK了。

二.在linux下运行matlab程序

1.打开matlab终端

1)cd /home/user01/data_sampling/  进入到需要运行的.m文件夹下

2)  /home/user01/MATBLE/bin/matlab -nodesktop -nosplash 加上完整的MATLAB安装路径,不然无法运行,后面的两个参数是告诉matlab步启动图形界面运行,只是打开终端。

3)ls 可以看到当前目录下的所有文件。

4)order; 这样就运行了order.m文件了。

2.或者还有一种更加直接的方法,直接在linux终端运行.m文件:

/home/user01/MATBLE/bin/matlab -nodesktop -nosplash -r order

三.MATLAB与C的混合编程

1.检查gcc的版本

混合编程这一块主要用到了mex,当然是需要有C的编译器gcc或者g++,因为这个版本的matlab只支持4.9.x版本的gcc,而我的服务器里面的gcc版本是5.4.0的,所以第一步我是需要把gcc降级到4.9.x

1)下载gcc/g++ 4.9.x版本

sudo apt-get install -y  gcc-4.9

sudo apt-get install -y g++-4.9

2)链接gcc/g++来进行降级

cd /usr/bin

sudo rm gcc

sudo ln -s gcc-4.9 gcc

sudo rm g++

sudo ln -s g++-4.9 g++

gcc --version 查看gcc的版本

2.进入到需要编译的.c文件下,并进行编译

cd cd /home/user01/data_sampling/

sudo /home/user01/MATBLE/bin/matlab -nodesktop -nosplash  要使用sudo进入,不然权限不够无法编译

mex Cal_Comp.c   进行了编译

ls  查看是否有Cal_Comp.mexa64文件,如果含有则编译成功,可以直接在.m文件中调用了。

我在编译中遇到的问题:1)不能够使用中文注释,所以我把注释全删了。2)遇到error: ‘for’ loop initial declarations are only allowed in C99 mode,是因为用gcc编译的话不能够在for中定义变量如for(int i = 0, i



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3