java调用scilab_Java调用Scilab-编译运行Javasci v2

1 Scilab简要介绍

Scilab 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。

Scilab是开源的软件,用户不仅可以在Scilab的许可证条件下自由使用该软件,还可以根据自己需要修改源代码,使之更加符合自身需要。

与Matlab类似,Scilab也是一种科学工程计算软件,可以说,就基本的功能如科学计算、矩阵处理及图形显示而言,Matlab能完成的工作Scilab都可以实现。

Scilab提供的语言转换函数可以自动将用Matlab语言编写的程序翻译为Scilab语言。

2 本文运行环境

win7x64

jdk1.8

eclipse Mars2

Scilab 5.5.2

首先官网下载scilab安装 ,官网地址:www.scilab.org

2 Linux/Unix/MacOSX

Linux/Unix/MacOSX上,需要设置全局变量SCI:

Scilab的二进制文件中,SCI 指向 /path/to/scilab/share/scilab/

在Scilab的源文件目录中,SCI 指向 源文件目录的根目录

/path/to/scilab/source/tree/

需要将下面的的jar库加入到classpath中:

org.scilab.modules.javasci.jar (必须要加的)

org.scilab.modules.types.jar (可选)

编译demo代码(demo在本文最后),命令行代码是:

javac -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample.java

运行java应用,还需要提供本机 libjavasci 类库的路径,有两种方式:

设置LD_LIBRARY_PATH路径

Scilab的二进制文件中,LD_LIBRARY_PATH要指向

/path/to/scilab/lib/scilab/ and /path/to/scilab/lib/thirdparty/

在Scilab的源文件目录中, LD_LIBRARY_PATH要指向源文件的根目录/path/to/scilab/modules/javasci/.libs/

通过下面的命令行来运行程序, java -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample

作为java的参数来运行 java -Djava.library.path=/path/to/libjavasci/:/path/to/scilab/lib/thirdparty/ -cp $SCI/modules/javasci/jar/org.scilab.modules.javasci.jar:$SCI/modules/types/jar/org.scilab.modules.types.jar:. BasicExample

3 Windows

假定 Scilab安装在D:\Program Files\scilab-XXXX(xxxx表示Scilab的版本,例如5.5.2)。例如本文安装在D:\Program Files\scilab-5.5.2

在windows中,不必添加特定的环境变量,只需要下面两步

需要将下面的的jar库加入到classpath中:

org.scilab.modules.javasci.jar (必须要加的)

classpath中加入

D:\Program Files\scilab-5.5.2\modules\javasci\jar

org.scilab.modules.types.jar (可选)

classpath中加入

D:\Program Files\scilab-5.5.2\modules\types\jar

PATH环境变量中要加入scilabxxxx/bin,运行时需要的libjavasci.dll和它的依赖,这些都在bin文件夹中

PATH中加入D:\Program Files\scilab-5.5.2\bin

不设置classpath的话可通过下面的命令行来运行

java -cp "C:\Program Files\scilab-XXXX\modules\javasci\jar\org.scilab.modules.javasci.jar;C:\Program Files\scilab-XXXX\modules\types\jar\org.scilab.modules.types.jar";. BasicExample

4 eclipse

如果是用eclipse,则只需下面几步

BasicExample.java文件

// A simple Java example

// javasci v2

// Filename: BasicExample.java

import org.scilab.modules.javasci.Scilab;

import org.scilab.modules.types.ScilabType;

class BasicExample {

public static void main(String[] args) {

try {

Scilab sci = new Scilab();

sci.open();

sci.exec("a=cos(%pi)*sin(%pi^2);");

ScilabType a = sci.get("a");

System.out.println("a = " + a);

} catch (org.scilab.modules.javasci.JavasciException e) {

System.err.println("Could not find variable type: " + e.getLocalizedMessage());

}

}

}

运行效果如图

0818b9ca8b590ca3270a3433284dd417.png

至此,java调用scilab环境搭建完毕!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560510.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java8 foreach 异常_错误处理 – 在java 8流foreach中抛出异常

我正在使用java 8流,我不能在流的foreach中抛出异常.stream.forEach(m -> {try {if (isInitial) {isInitial false;String outputName new SimpleDateFormat(Constants.HMDBConstants.HMDB_SDF_FILE_NAME).format(new Date());if (location.endsWith(Constants.LOCATION_S…

java integer reverse_Leetcode7 Reverse Integer Java实现及分析

首先public int reverse(intx) {int ans 0;while(x!0) {int temp x%10;x/10;ans ans*10temp;}returnans;}但是这样无法检验最终结果是否溢出。我们可以看到,溢出的原因是ans*10temp>MAX或ans*10temp对于正数,举个小点的例子,一个6bit的…

java swing linux_Linux下关于解决JavaSwing中文乱码的情况

前两天在linux中运行java 老是出乱码,很苦恼,后来网上找了好多解决办法。有些可行,有些不可行,今天总结一下。redhed 貌似没出现乱码 本身就jdk就支持中文红旗linux suse等都不支持,需要自己手工配置,解决…

单片机实验:外部中断按键

这是之前写的,一直没发。 实验内容: 实验大致上就是说:按键不按的时候,灯一直亮,按键按下的时候,灯不亮,报警器响。现在给了汇编语言,要改成c语言,并在proteus里面仿真…

java 重复代码优化_Java代码优化

优化实践1.try{}catch(){}使用1)查询中不要使用try{}catch(){}语句2)循环中不要使用try{}catch(){}语句3)异常处理不要对于所有的异常捕获都使用Exception,最好是捕获对应的异常类型,处理日志方式:1、打印错误日志2、调用错误业务逻辑处理函数…

java 06_JAVA06 数组

1.设计思路:首先设置长度为10的数组,设置Random引用对象,在循环中生成一个随机数存储在数组中,累加和,利用对话框输出结果。2.程序流程图:3.源程序代码:1 //2016/11/062 //随机生成10个数&#…

java service 事物_Service 事务(JdbcUtils 升级)

1. DAO 事务// 在 DAO 中处理事务真是"小菜一碟"public void xxx(){Connection con null;try{con JdbcUtils.getConnection();con.setAutoCommit(false); // 开启事务QueryRunner qr new QueryRunner();String sql ...;Object[] params ...;qr.update(con,sql,p…

java 8.0 sinffer_jpcap 配置方法,问题解决,模拟sniffer程序。(附JAVA程序,jar,dll包等环境)...

一、 Eclipse环境下安装与配置Jpcap相关源程序、jpcap jar包,dll包,帮助文档。1、下载安装winpcap2、jpcap官方文件中lib包下,有两个文件,jpcap.dll和jpcap.jar。jpcap.dll-->JAVA安装路径/jre1.6.0_06/bin (JRE目录)jpcap.j…

mysql工作中遇到的问题_MySQL工作中遇到的问题记录

1:log_slave_updates:从库1搭建级联从库2,从库1需要开启log_slave_updates,修改/etc/my.cnf,增加一行log_slave_updates1,重启数据库。http://blog.itpub.net/12679300/viewspace-1319263/2:ERROR 1418 (HY…

java 基本格式

java基本格式: 所有的java程序必须放在一个类之中才可以执行。 主方法main是整个java程序的入口,所有程序都是从public static void main(String[] args)开始运行的。 类定义有两种形式: public class:文件名和类名一致。每一个*.java文件…

python xgboost实战_史上最详细的XGBoost实战

0. 环境介绍Python 版 本: 3.6.2操作系统  : Windows集成开发环境: PyCharm1. 安装Python环境安装Python首先,我们需要安装Python环境。本人选择的是64位版本的Python 3.6.2。去Python官网https://www.python.org/选择相应的版本…

java web导入tomcat_记一次在服务器上导入javaweb 项目的经历---tomcat服务器-Go语言中文社区...

1. 导入数据库远程linux服务器mysql数据库导入和导出.sql文件大部分情况本地开发环境为windows,部署的服务器为Linux,本地数据库导出.sql文件后需要远程导入服务器,具体如下。首先连接服务器,即服务器ip,协议&#xff…

java 2d绘图 stroke_Java标准教程:Java 2D绘图--第4章使用Text

Java标准教程:Java 2D绘图--第4章使用Text本节介绍文本API的用法,以及他们的渲染能力。至今为止,您已经有了基本的Java 2D文本API,同时知道如何设置字体和位置,以及绘制文本。本节扩展了这些知识,同时更深入…

java 定义和导入包

java定义和导入包: 为了更好地组织类,java提供了包机制。把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。同一个包中的类名不同,不同包中类名可以相同。同时调用两个不同包中相同类名的类时,应该加…

php李捷,【问题解答】蝶泳手外划的作用

一直以来总是弄不明白,蝶泳手外划的作用,以及正确的外划动作,请指教。”我:先上两个图,您自己分析一下:我:蝶泳的划手路线和打腿的幅度和力度是相匹配的,如果打腿幅度小频率快&#…

ltrim函数php,php ltrim函数怎么用?

php ltrim()函数用于删除字符串左边的空格或其他预定义字符,语法为“ltrim(string,charlist)”,参数string指定需要处理的字符串,参数charlist指定要从字符串中删除哪些字符;然后返回已修改的字符串。php ltrim函数作用&#xff1…

java strcpy,详解C语言中strcpy()函数与strncpy()函数的使用

C语言strcpy()函数:复制字符串头文件:#include 定义函数:char *strcpy(char *dest, const char *src);函数说明:strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。返回值:返回参数dest 的字符串起始地址。附加说…

使用github+hexo搭建静态blog

解决了个人博客图片不显示问题。解决了打开页面产生404问题。学习了如何更换界面主题。学习了如何使用Git。 注:这篇文章仅仅是入个门,了解一下怎么使用githubhexo创个静态blog,具体blog细节比如个人介绍,评论插件,音…

java 安卓调试,Android Studio(二十一):调试你的应用

Android Studio包含了一个调试器,允许你调试运行在Android虚拟机或连接的Android设备的应用。通过Android Studio的调试器,你可以:1、 选择你调试设备的app2、 为你的代码设置断点3、 在运行时检测变量和表达式4、 截图和录像通过点击工具栏中…

mysql hammerdb,[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測

TPC-C 模擬的情境TPC-C 模擬的情境是一個大型的商品批發商,擁有若干個倉庫,每個倉庫擁有 100000 件商品庫存、負責為 10 個地區供貨,每個地區服務 3000 名客戶,每名客戶平均一筆訂單有 10 項商品,所有訂單中約 1% 在其…