如何使用matlab在网页中作图

如题所述

第1个回答  推荐于2017-11-29
  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 = null; try { 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在网页中作图
使用Matlab编译器将上述函数打成jar包,在编译之前最好在Matlab窗口中测试一下这个函数,以保证其可以返回期望的结果,为了看到图形可以将close(f)语句暂时注释掉。2 Web工程的配置 2.1 工程结构 基本结构如下:Webroot --WEB-INF web.xml webfigures.tld --classes yourservlet.class --lib javabuilde...

如何使用matlab在网页中作图
1,给你一组自变量X的值,一组因变量Y的值(注意,X的维数和Y的维数要相等)画这样的离散的数据的曲线要用plot命令:plot(x,y,'r-O')式中:单引号不能缺少,r表示曲线的颜色为红色(你也可以改为g绿色),- 表示个点之间连线的线形(也可以改为:),o表示离散点以o型来体现(也可以改为...

MATLAB作图实例:2:添加图表的标题和轴标签
MATLAB作图实例:2 - 详细指南在MATLAB中,为图表添加标题、轴标签和图例是提高可读性和理解性的重要步骤。首先,我们来创建一个简单的折线图。通过定义x值在-2π到2π之间的100个等间隔点,然后计算出对应的y1(正弦值)和y2(余弦值),并用plot函数绘制这两组数据。要为图表添加标题,使用title函...

如何用matlab直接画图-matlab如何描点画图
1、打开MATLAB软件,准备开始作图。方法一:1、在命令窗口,编写离散点向量,例如离散点(X,Y),X=[1357293628],Y=[214561525710],如果我们直接采用Plot作图,画出来的是折线。2、对Plot显示样式进行设置,如:plot(X,Y,'k*'),'k'表示显示黑色颜色,'*'表示点为星号显示。方法二:1、也比较方便,清除之前...

MATLAB作图实例:6:指定轴刻度值和标签
首先,创建一个x轴的线性间隔值,范围在-10到10之间,共有200个值。接着,生成y值作为x的余弦值,并绘制数据。接下来,可以沿x轴和y轴调整刻度值的位置,指定为增加值的向量,无需均匀间隔。同时,还可以沿x轴更改与每个刻度值关联的标签。使用字符向量的单元格数组指定标签,若需包含特殊字符或希腊...

如何用matlab作图减少数据点?
源数据如下:共计1001个数据 步骤1:直接作图:plot——>line+symbol——>line+symbol 得到图像 步骤2:双击做出的图线,弹出设置框 在“Drop Lines”中勾选“skip Poins“设置每隔20个数据取一个点画出 可以看到做出的图中数据点明显减少。

Matlab作图一
hh = title(string): 在当前图形的顶端上加图例string 解 x=linspace(0,2*pi,30);y=sin(x);plot(x,y)xlabel('自变量X')ylabel('函数Y')title('示意图')grid on (3) hh = gtext(‘string’)命令gtext(‘string’)用鼠标放置标注在现有的图上.运行命令gtext(‘string’)时,屏幕上...

Matlab绘图方法整理(超完整版)
关于参数使用,可在每种方法中添加,以上示例仅作简单说明。关于第三种使用方法,可通过hold on命令组合绘制多图。fplot的使用方法 在fplot中,f表示函数,采用函数句柄形式。lims指定x轴取值范围。参数与plot相同。例如绘制sin(x)图像。其它二维曲线图 除了基本的plot和fplot,MATLAB还提供了更多绘制二维...

matlab中用平面坐标作图?
首先,需要了解MATLAB中如何定义坐标点。在MATLAB中,坐标点通常以向量的形式表示。例如,你可以使用以下代码定义x坐标:x(1)=1;这将定义x坐标从1开始。接着,为了绘制特定的曲线,可以使用`plot`函数。该函数接受x坐标和y坐标作为输入参数。在MATLAB中,如果只提供一对向量作为参数,`plot`函数将自动...

请问如何用matlab画图?所要画的图为不同的二维点(x,y)连接起来的折线...
在matlab中输入以下语句:figure;x=1:6;y=[12 23 45 62 14 25];plot(x,y,'- *'); %% 用圈标用 plot(x,y,'-o');grid on; %%显示网格的,如果不显示用 grid off;运行就可以了!http:\/\/www.fosu.edu.cn\/li\/math\/SXRJ\/matlab\/MATLABRUMEN3.htm 这个网页上有更为详细的资料,你...

相似回答