zoukankan      html  css  js  c++  java
  • 关于Matlab的Web开发以及Matlab webservice服务的实现经验

                  本博客所有文章分类的总目录:【总目录】本博客博文总目录-实时更新

          Matlab和C#混合编程文章目录 :【目录】Matlab和C#混合编程文章目录

    最近碰到一个同学要用到Matlab web Service服务,听说过,但是从来没用过,花了很多时间去配置,结果失败了,所以特意到此留个脚印告诫后来的同学们:

    1、首先说说matlab 的webservice服务这个东西,说白了就是能够在web页面调用服务器上的matlab进行运算,以利用matlab强大的函数库和功能。这看起来的确很美好,特别是对于学生来说,matlab里面大量的函数可以说大大的减轻了其编程的工作量,而把更多的时间花在业务流程与算法上面。

    2、可行性:matlab web service服务在2007版本里面已经比较完善了,而新版本中已经去掉了这一功能,反正以前的那种web service开发方式是否淘汰掉了。根据官方提供的例子也能够运行和配置,虽然matlab为我们提供了这种可行性,但是我不得不说,对于一个关于其他业务知识的学生来说,采用这一功能,完全不可行:服务无故启动不了;刚还能运行的程序一会就运行不了;还要结合网页与输入输出参数对源程序和网页程序进行更改,……这一些问题每一个都会繁琐不一,我为2个程序在服务器上搞了2天,中间成功过,后来莫名其妙的错误,我彻底崩溃了,所以也放弃了采用matlb web service来解决问题的方法,实际上还有更好的解决方法;

    3、替代解决方法:对很多学生来说,可能更多的关注自己的研究领域的细节和算法,而对实现过程则不关心,虽然精通一门编程语言可以给他们带来很多便利,但是在目前很多科研学生的编程能力还是不够的;对于matlab web service的替代解决方法是:采用其他网页开发语言来编写基本的网页程序和算法,对于复杂的算法或者需要用到matlab中大量的函数的项目,可以采用混合编程的方式解决,目前matlab 2010已经很好的支持.NET 和 JAVA的混合编程,这样可以极大的提高效率,和减少部署难度,并且,用.NET或者JAVA来开发算法或者编写网页程序也是如此 的简单和便利,至少目前大部分网页程序的程序员都是属于这2者。

    4、实际案例:以我碰到的这个案例来说吧:

      之前:想采用matlab web service来实现从网页输入指定的序列,服务器调用matlab程序进行运算,并返回结果,网页输出;而网页是采用C#.NET做的;

      由于配置复杂,要求较高,最终实现一半放弃了这一想法;转用.NET混合编程实现:

    最终方案:将matlab m程序编译,在C#.NET中调用大部分算法,其他一部分处理过程直接用C#完成,网页是用C#.NET做的,所以matlab中的算法很容易得到调用,得到了结果,想怎么显示就怎么显示。这种方案部署容易,实现简单(当然要掌握.NET混合编程的技巧),相对第一种方法,不知道轻松多少。

    下次有时间再来写一篇matlab与.NET混合编程的文章吧,的确很方便了,有了这个工具,对于做科研的同学来说,如虎添翼啊!但是一些实际的应用项目的话,可能也不太可行,因为matlab的版权以及运行速度等等。。这不是学生做科研学生考虑的问题,呵呵,可以不予理会。

     
  • 相关阅读:
    sqlserver中压缩日志文件
    git命令的使用
    c#开发wps插件(3)部署
    c#开发wps插件(2)
    小王子
    唯一的!!!
    小王子
    MySql命令行修改密码
    MacOS下Lucene学习
    企业权限管理(SSM整合)(总结)
  • 原文地址:https://www.cnblogs.com/asxinyu/p/DoNet_Invoke_Matlab_WebService.html
Copyright © 2011-2022 走看看