开发区域

先进与MATLAB软件开发

开放和可扩展的

MATLAB是一个开放的、可扩展的平台独特的能力与一流的技术相吻合。开放MATLAB功能,指的是装在MATLAB文件的源代码可以研究。社区驱动的贡献文件交换已发展多年来,对手船只在DVD的代码。可扩展的,指的是与其他语言和MATLAB集成能力的技术栈。

MATLAB的可扩展性提供各种功能在C / c++、Java、。net、Perl、Python等等一些第三方库,如Xerces™(用于处理XML)烤到航运MATLAB产品本身。

MATLAB被设计为可扩展的,例如,墨西哥人接口提供几乎所有的FORTRAN和C / c++功能表达式的数值算法。

利用MATLAB - Triple-word-score的可扩展性

MATLAB的可扩展性帮助你如何在你的日常生活吗?

立即问题和回答这个问题本身的创作内容这个博客。您可能已经注意到“发表在MATLAB”这篇文章的最底部。

博客在这个网站上经常使用MATLAB进行创作他们的内容,我也不例外。一个拼写检查写作时总是有帮助的。因为我使用MATLAB编辑器,立即需要简化我的工作流程提供方便地访问解释清楚从MATLAB环境本身。

校对者对其他用户因此我迅速起草了一个需求列表。MATLAB校对者需要:

  • 轻量级和自由(即可以在大多数的MATLAB版本)
  • 跨平台(即与我们的Windows、Mac和Linux版本)
  • 多语种(即没有假设在使用英语作为全球我们有超过一百万用户)
  • 可定制的(即允许修改单词列表)
  • easy-to-build-and-use(即不是本身变成一个巨大的项目)

第一步是确保我没有重复的。一个快速文件交换搜索和跟踪互联网搜索一无所获。

找不到我需要的,我决定建立一个校对者通过利用现有技术和MATLAB的努力。我叫扩展MATLAB功能“triple-word-score”因为它网大幅增加生产力以最小的努力。

把它在一起不是重复的

鉴于跨平台的要求,我很快就消除了。net选项和解决用干净的API的Java库。奔放的老龄化的代码库,但干净的API和一套完整的语言字典它符合我的要求。它让我把支票兑跨平台的轻量级和自由要求。

Jazzy API有助于集成通过一个简单的Java包装器允许一个更清洁的调用接口。建立我们的Java类(SpellCheck.java),我解雇了一个Java IDE和进口从Sourceforge奔放的库:

/ * * /包装规范包com.mathworks.spellcheck;* / / *奔放的进口进口com.swabunga.spell.engine.SpellDictionary;进口com.swabunga.spell.engine.SpellDictionaryHashMap;进口com.swabunga.spell.event.SpellCheckEvent;进口com.swabunga.spell.event.SpellCheckListener;进口com.swabunga.spell.event.SpellChecker;进口com.swabunga.spell.event.StringWordTokenizer;/ * * / Java进口进口java.io.File;进口java.util.Iterator;进口并不知道;

构建一个简单的java类,它实现了一个为我们的事件侦听器。

/ * **这个类提供了一个MATLAB调检查拼写的评论*在代码中。* /公共类解释清楚实现SpellCheckListener{私人校对者解释清楚;/ * * /方法设置字典公共空间setDictionary(字符串dictFile){尝试{SpellDictionary字典= new SpellDictionaryHashMap(新文件(dictFile));解释清楚= new检查(字典);spellCheck.addSpellCheckListener(这个);}捕捉(异常e) {e.printStackTrace ();}}/ *检查拼写方法* /公共空间checkSpelling(字符串inputText){{解释清楚。checkSpelling(新StringWordTokenizer (inputText));}捕捉(异常e) {e.printStackTrace ();}}* / / *事件监听器是这里}

我们有一个方法来设置一个特定于语言的词典和一个输入字符串的方法检查拼写。奔放的图书馆将触发一个事件,我们采取行动。事件监听器是这样的:

/ *事件监听器,填充建议和回声必要* /公共空间spellingError (SpellCheckEvent事件){字符串消息=新的字符串(“拼错词:”+ event.getInvalidWord ());命令提示符* / / *回声建议列表= event.getSuggestions ();System.out.println(消息);如果(suggestions.size () > 0) {(Iterator suggestedWord = suggestions.iterator ();suggestedWord.hasNext ();) {system . out。打印ln("\tSuggested Word: " + suggestedWord.next()); } } else { System.out.println("\tNo suggestions"); } }

第一个版本的Java模块只是回声的拼写错误和建议命令窗口。编译java代码打包到一个JAR文件通常是一个单一的点击操作在大多数java开发工具。

编译:构建jar:我:\ \工作检查\ lib \ java \ MATLABSpellCheck \ dist \ MATLABSpellCheck。罐:构建成功(总时间:1秒)

MATLAB是建立在Java平台启用这个模块是一行代码来将其添加到动态Java类路径。我解释清楚基本在MATLAB在几分钟内。

javaaddpath (我:\ \工作检查\ lib \ java \ MATLABSpellCheck \ dist \ MATLABSpellCheck.jar ');

测试出来

测试出来,我下载一些样本的字典JazzyDicts SourceForge库它包含多种语言支持。金宝app然后,在MATLAB:

%提供Jazzy MATLAB进口com.mathworks.spellcheck。*;%设置一个默认的语言。dictFile = (“en_USx.dic”);%创建一个奔放的校对者解释清楚obj = ();obj.setDictionary (dictFile);%的拼写检查输入字符串obj.checkSpelling (“Yello Worrld”)
拼错词:Yello建议词:果冻建议词:大提琴建议词:大提琴建议词:你好拼错词:Worrld建议词:世界

只需要几行代码将MATLAB类,这是一个易于使用的检查我的编辑的内容。

我能够验讫的要求多语种易于使用的。我添加了常用单词像MATLAB等本地字典文件并继续改进它。

模块本身比技术更重要,显示扩展MATLAB平台的一种方式。我决定把这篇文章一个简单的例子来描述MATLAB利用其他技术的能力。我们计划讨论如何产生一个用户友好的MATLAB接口在即将到来的帖子。

总之,MATLAB的功能可以补充和加强与第三方技术提供一个一致的用户体验。

MATLAB也能带来强大的功能到其他平台,但这是另一个话题。




发表与MATLAB®R2015b

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。