如何使用matlab在网页中作图

如何使用matlab在网页中作图,第1张

Matlab的函数绘图功能应该是所有数值分析软件中最出色的,在自己的网页中加入Matlab图形,不仅可以使自己的网页显得很酷很炫,而且可以使自己的网页非常专业,尤其适合发表论文时作为引用的验证系统的网站,同时网页上的Matlab图形还允许用户和图形之间做高效的互动。

本文的基础建立在你已经知道如何对Matlab库函数或者是手动编写的函数打jar包,并在一般java应用程序中调用。本文将主要讲解如何部署包含有定制Matlab图形的网站,所采用的基本工具是Matlab

R2010b(注意,更低版本的Matlab可能不具备打jar包的功能),Tomcat6,其他工具有MyEclipse。本文将尽量以最浅显易懂的方式介绍在网页中加入Matlab图形的方法。

使用java在网页中加入Matlab图形有三种方式:

1、使用servlet返回的HTML字符串将Matlab图形嵌入网页;

2、直接使用JSP中的WebFigure标签;

3、使用中间件将整个Matlab图形嵌入网页,包括其功能和 *** 作。

本文将只介绍第二种方法。

1 Matlab函数编写

首先确定返回WebFigure的Matlab函数的基本形式如下:

function [result1 result2] = getfigure(parameter1, parameter2) f = figure('Visible','off')%建立一个Figure. 生成函数图形的代码,插入到f中去result1 = webfigure(f)%将Figure转换为WebFigure并返回 close(f)%将原始Figure f关闭end

使用Matlab编译器将上述函数打成jar包,在编译之前最好在Matlab窗口中测试一下这个函数,以保证其可以返回期望的结果,为了看到图形可以将close(f)语句暂时注释掉。

2 Web工程的配置

2.1 工程结构

基本结构如下:

Webroot

--WEB-INF

web.xml

webfigures.tld

--classes

yourservlet.class

--lib

javabuilder.jar

yourmatlabclass.jar

yourindex.jsp

yourindex.html

对于tomcat来说,直接将此目录copy到其webapps目录下就可以完成部署,但作者还是建议在MyEclipse中将此工程目录打成war包后,在tomcat的manage窗口中完成部署。

Tomcat只有一个部署文件web.xml,其中需要做一些修改,之后介绍。

Webfigures.tld是显示matlab图形必须的文件,建议在matlab安装文件夹中自己查找,加入到网站目录树中。

Classes文件夹中放置的是一些编译好的文件,如servlet类。这些servlet需要事先编译,编写servlet在web application的src文件夹下,注意在工程中包含javabuilder.jar等必须的jar包,打war包时,MyEclipse会自动将编译好的class文件从src文件夹copy到classes文件夹。

Lib文件夹可以不用考虑,打war包时,MyEclipse会自动将用户添加的jar包添加到这个文件夹下。 Web根目录下放置jsp文件和html文件,注意包含必要的jar包,否则会报错,但不会影响打war包。

这次使用java搭建网站有一些强烈的感觉,其实用J2EE搭建网站还是非常容易的,只要你遵循J2EE的基本规范就可以了,具体的来说就是遵循上述文件设置规范,以及相应的文件编写规范。另外,对于相对规模较小的应用,JSP+Servlet是非常快捷且方便的,像JSP,可以直接在tomcat的webapp部署文件夹下,使用文本编辑的方式直接修改,再使用浏览器直接进行调试,非常方便且直接。似乎听有人说现在开发都不再使用Bean了,不知道是不是真的。

2.2 修改部署文件

使用MyEclipse建立一个Web Application工程,修改Webroot目录下WEB-INF目录下的web.xml部署文件,在web-app标签中加入如下代码:

<servlet><servlet-name>WebFigures</servlet-name><servlet-class>com.mathworks.toolbox.javabuilder.webfigures.WebFiguresServlet </servlet-class></servlet><servlet-mapping><servlet-name>WebFigures</servlet-name><url-pattern>/WebFigures/*</url-pattern></servlet-mapping>如果你生成了自己的servlet的话,还需要添加相应的代码。

3 生成jsp文件

Jsp头部需要添加的东西:

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

引用webfigures.tld文件,定义标签项。 <%@ page import="com.mathworks.toolbox.javabuilder.webfigures.WebFigure" %>

引用WebFigure库,以及你自己编写的Matlab类库,另外引用com.mathworks.toolbox.javabuilder.*也是必须的,因为其中包含一些Error定义以及必要的类和接口的定义。

在body体中加入如下类似的代码: <% YourComponentClassmyDeployedComponent = nulltry { myDeployedComponent = new YourComponentClass()try

{ WebFigurewebFigure =

(WebFigure) (MWJavaObjectRef)myDeployedComponent.getfigure(1)[0]).get()//matlab类的使用就不再说明了,此处调用与在普通java程序中调用matlab类是相同

的 request.getSession().setAttribute("YourFigure",

webFigure)} catch(ClassCastException e) { throw new

Exception ("Issue casting deployed components outputs to WebFigure", e)} } catch (Exception e) { e.printStackTrace()} finally { myDeployedComponent.dispose()}%><wf:web-figure name="YourFigure" scope="session"/>

打war包,将上述网站工程部署,恭喜你已经可以看到自己定制的包含Matlab图形的网页了。

最后,再谈一谈我这段时间使用Matlab的感受吧,最直观的感受就是简单易用而且强大,看Matlab的帮助文件感觉条理和结构非常清晰,措辞明确且浅显易懂,非常符合科研人员的一贯作风。

就以webfigure的使用这篇帮助文献来说吧,声明了开发一个matlab网站需要哪些人员,每个人员的技能准备要求,别被其中Expert要求所吓倒,其实matlab并不要求Expert有非常深入的技能,局部基本功就足够了。文章清晰得列出了开发过程中所可能遇到的方方面面的问题,并分门别类,还给出了具体的例子,

matlab的帮助文件从不故弄玄虚,每一句话都直指核心问题,且浅显易懂,通俗的说,看过帮助文件的每一句话,你都能具备举一反三的能力。

matlab在安装时,注芦禅判册了环境变量,所以,相应目录下的可执行程式多可以直接用DOS调用,譬如:你在"运行"里输入Matlab就可以运行matlab一样.

只是我不明白就是怎么用网页执行MATLAB.你有服务器上陪改所有权限,你当然可以运行了.

服务器上MATLAB,用客户端执行语袭丛句,这样的有专门的程式.一般有个工作站就可以了.相关内容只言片语说不清楚.建议到matlab官网认真学习.再找相关资料.

搜索燃胡关键字: octave-online。

虽然matlab和octave不是同一款软洞纯件,纳段咐不过一般matlab的程序不加修改就可以直接在octave环境下运行。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12368373.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存