例子简介

网上java+matlab混编的挺多,大多数实例也都能实现出来,但是将matlab生成出来Figure显示在jsp页面中并配合WebFigure实现的例子却很少,所以我将自己的尝试结果详细的写出来。

一从Java和Matlab混合编程

1.1环境配置

我采用的是Java、jdk1.6.0_45、Eclipse、Matlab2013a,都是64位:

为什么我要强调环境配置都一样呢,首先,我之前Matlab用的是2013a32位的,会报错,Java和Matlab混编要求环境是统一的,同时我之前jdk用的是1.7.0_75,画不出图来,因为matlab必须联合1.6的jdk才能画出图来。

1.2编写plotsin.m和plotcos.m文件

1.3编译写好的两个函数制作一个java包(.jar)(complie the pltosin function as a java Package)如下图所示,使用deploytool命令,然后build

生成的文件夹

1.4 新建一个 Java Project工程,工程名JavaUseMatlab

右键点击工程名,添加(.jar)包

在Java build Path的Libraries下,点击Add External JARS添加javabuilder.jar和建立的matlabplot.jar,如下图所示

javabuilder.jar和matlabplot.jar的位置如下图

1.4 新建个.java文件,右键工程名JavaUseMatlab,如下图所示

并在,MathPlotTest.java文件编写程序

1.5 Run As程序Java Application

结果如下图所示

这个过程就完成,这个例子网上有很多人做,我主要是在后面将生成的Figure,用JSP发布在网页上。

二 Java和Matlab混编 将生成figure发布网页上,直接使用JSP中的网页标签

以绘画的正弦曲线为例,进行说明

2.1 绘制正弦曲线函数plotsin.m

2.2 编译写好的plotsin函数制作一个java包(.jar)(complie the pltosin function as ajava Package)如下图所示,使用deploytool命令,然后build

生成的目录文件如下图所示

2.3新建一个Dynamic Web Project

Eclipse+Tomacat7.0.59+JDK1.6.0_45

右键点击建立的myweb工程,建立一个jsp文件

2.4右键myweb工程,点击Build Path下面的 Configure Build  Path

在libraries下面,Add External JARs,将由matlab 生成的plotWeb.jar添加进来;plotWeb.jar在plotWeb的disturb文件夹下,以及matlab安装文件下的javaBuilder.jar文件,文件路径:D:\Program Files\MATLAB\R2013a\toolbox\javabuilder\jar\win64

同时将plotWeb.jar和javaBuilder.jar,拷贝到myweb工程下,WEB-INF下lib文件夹下面,如下图。

同时拷贝webfigures.tld文件,文件目录

D:\ProgramFiles\MATLAB\R2013a\toolbox\javabuilder\webfigures\ 到myweb的

WEB-INF文件夹下,如下图所示。

最后的工程项目机构图如下图所示:

2.5在生成的JSP文件下头部添加相应的引用项

引用webfigures.tld文件,定义标签项

<%@ taglib prefix="wf"uri="/WEB-INF/webfigures.tld"%>

引用WebFigure库,以及自己编写的Matlab类库,另外引用

com.mathworks.toolbox.javabuilder.*,也是必须的,因为其中包含一些Errors定义以及必要的类和接口定义。

<%@ page import="com.mathworks.toolbox.javabuilder.webfigures.WebFigure"%>

<%@ page import="com.mathworks.toolbox.javabuilder.*"  %>

<%@ page import="com.mathworks.toolbox.javabuilder.internal.*"  %>

<%@ page import="plotWeb.MathPlotSin"%>

最后再body体内添加代码:如图所示

2.6修改目录下web.xml文件,加入如下代码

2.7部署myweb项目到Tomcat,启动Tomcat

在浏览器中输入如下网址:  http://127.0.0.1:8080/myweb/Test.jsp

我也是不断试验好久才搞出来的,这是我以画正弦曲线,写的一个详细例子,(Tomcat的配置我就不说了,如果想做这个,首先应该配置好环境)祝君好运!

解决了java+matlab混编+web(jsp)调用Matlab,网页中显示Figure,详细实例相关推荐

  1. wpf matlab混编,WPF(C#)与MATLAB混合编程

    WPF(C#)与MATLAB混合编程 WPF可以为开发者提供便捷地构建用户交互界面的解决方法,而matlab则在科学计算方面有着无与伦比的优势,因此在一些需要将科学算法转换为应用软件的项目中,需要应用 ...

  2. mac下配置进行c和matlab混编

    mac下配置进行c和matlab混编 是用mac的小伙伴有时候有没有感觉很痛苦!遇到什么问题,找相关的解决办法真心不方便,我最近在搞一段程序,要进行c和matlab的混编,可是,在matlab中输入: ...

  3. matlab振动频谱分析是不是要,VB和Matlab混编实现振动信号的频谱分析

    VB和Matlab混编实现振动信号的频谱分析 3 0 物理测试 2 O O 4年第 2期 V B和 Ma t l a b混编实现振动信号的频谱分析 谭轶平, 王振清 ( 北京航空航天大学材料学院,北京 ...

  4. swift 打包sdk_在封装SDK中Swift和OC混编之相互调用

    oc和swift混编之相互调用.jpg 在非SDK中: 1.swift调用oc 步骤: 创建 工程名-Bridging-Header.h 放入oc的头文件,swift即可调用 在swift项目中或者在 ...

  5. Java读取mapinfo格式_求助:如何把mapinfo格式的地图数据放到网页中显示

    声明,我可不是做广告哦 mapXtreme Java,是目前用于Internet或企业Intranet唯一的100%纯Java地图服务器.mapInfo mapXtreme Java与J2EE兼容,为 ...

  6. 使用JSP代码编写index.jsp文件在网页上显示数据库数据

    使用JSP代码编写index.jsp文件在网页上显示数据库数据 在index.jsp文件上使用JSP代码编写 可以在网页上以表格的形式显示数据库 内的数据 需要创建一个项目 因为需要用到关于JDBC的 ...

  7. m 文件 dll matlab 中调用_Java与MatLab混编

    该篇介绍Java与MatLab的混合编程 环境:Windows10,Jdk 1.8.0_261 64位,MatLab r2018b 64位 先安装MatLab MatLab安装 一.打开MatLab, ...

  8. c 与matlab混编,C与MATLAB混合编程之调用MATLAB引擎

    Visual Studio调用MATLAB需要的配置已经在<Visual Studio调用MATLAB的配置>一文中给出了详细的步骤,本文将介绍混合编程的示例. 在C中调用MATLAB,据 ...

  9. c 与matlab混编,谈谈Matlab与C/C++或C#的互调用(混合编程)

    记得当初一个师姐问我知不知道如何在Matlab里调用C++的程序,还真把我问住了.因为我以前就知道C++调用Matlab的方法,这方面网上资料一大堆.没想到现在自己突发奇想又遇到另外一个问题,Matl ...

最新文章

  1. WanaCrypt0r勒索蠕虫完全分析报告
  2. 京东JIMI用户未来意图预测技术揭秘
  3. mongodb上一篇下一篇_如何使用Microsoft office word—上一篇
  4. 熬夜做出的数据可视化,却被领导臭骂,只因这个......
  5. mysql5.6.4安装_win 7 64 mysql 5.6.4 安装
  6. 详解tensorflow数据读取-tf.train.string_input_producer和tf.train.start_queue_runners
  7. 如何使用Win7系统自带的刻录功能刻录启动光盘
  8. linux 3 4文件管理ppt,第8单元-Linux系统文件查找与文件管理.ppt
  9. 蒙古文输入法linux版,蒙古文输入法下载 德力海蒙古文输入法 V2.1.3 官方安装版(附使用手册) 下载-脚本之家...
  10. 导线测量步骤c语言程序,基于excel表的附合导线计算程序.doc
  11. Grafana panel 图形高级定制
  12. 千锋前端-React全家桶_React项目实战全球新闻发布管理系统-db.json文件数据
  13. Stm32学习(基于HAL库)
  14. php bouncy castle,ORG.BOUNCYCASTLE
  15. 【PTA】6-4 奇数值结点链表
  16. 【Fracturing amp; Destruction】Unity3D的物体爆裂、炸裂、碎裂效果
  17. How to play PRA CandyBox game——GoDapp
  18. 美通社企业新闻汇总 | 2019.2.27 | 中国大学名次在世界大学排名中继续攀升;吉利2021年发布支持5G量产车型...
  19. linux ss的使用方法
  20. Plants vs. Zombies

热门文章

  1. 2021年电工(初级)考试题库及电工(初级)试题及答案
  2. 算法初探-动态规划(Dynamic Programming)
  3. ubuntu kylin 优麒麟中的录屏软件
  4. VINS-Mono环境配置与测试笔记
  5. Python 实现百钱买百鸡问题(试使用列表推导式解决该问题)
  6. GP--大表分区管理(一)
  7. jpcsp源码解读13:动态二进制翻译1
  8. jni连接dll报错
  9. 怎么开启MIUI9系统的Root权限
  10. 一加android 6.0壁纸,Android 6.0!一加发布氢OS V1.4