基于Matlab编制公式插入文档的方法及计算机存储介质技术

技术编号:21200188 阅读:36 留言:0更新日期:2019-05-25 01:20
本发明专利技术公开了一种基于Matlab编制公式插入文档的方法及计算机存储介质,所运行的系统中安装有Matlab软件和文档服务器软件,方法包括以下步骤:1)链接Matlab脚本程序与文档服务器;2)在Matlab脚本程序中设定文档的格式;3)将公式中的特殊字符进行进制转换,并编写公式字符串矩阵;4)将所述的字符串数组按专业格式生成公式并插入编辑区域。通过上述方法,本发明专利技术建立了Matlab与文档接口之间的数据通讯,提供了一种在Matlab脚本中快速编制专业数学公式并插入文档中的技术解决方案,避免了人工重复编写,方便了人们工作和使用。

Formula insertion method and computer storage medium based on MATLAB

The invention discloses a method for inserting a document into a formula based on MATLAB and a computer storage medium. The running system is equipped with MATLAB software and document server software. The method comprises the following steps: 1) linking matlab script program with the document server; 2) setting the format of the document in MATLAB script program; 3) converting the special characters in the formula into a binary system and compiling them. Formula string matrix; 4) Formula is generated in professional format and inserted into editing area. Through the above method, the invention establishes data communication between MATLAB and document interface, provides a technical solution for quickly compiling professional mathematical formulas and inserting them into documents in MATLAB script, avoids manual repetition and facilitates people's work and use.

【技术实现步骤摘要】
基于Matlab编制公式插入文档的方法及计算机存储介质
本专利技术涉及一种编制公式插入文档的方法及计算机存储介质,特别是涉及一种基于Matlab编制公式插入文档的方法及计算机存储介质。
技术介绍
程序开发可以编制专业的文档。采用高级程序设计语言如C#、visualbasic等进行计算相关的软件开发时,可以通过程序代码方便地定义文档页面、字体以及段落间距等格式,生成专业的文档模板,运行程序即可按固定格式及定义的模板自动生成例如计算报告书等文档。但是,采用高级计算语言Matlab脚本编制文档尚存在空白。鉴于Matlab软件接近数学表达式的自然化语言风格、高效的数值计算及符号计算功能,并且包含控制语句、函数、结构体、输入和输出等编程特点,Matlab已经深入渗透到工程计算和科学研究等各个领域。Matlab用户往往通过编制脚本计算程序完成计算任务,但是将计算过程及结果写入计算报告书等文档时存在下列缺陷:(1)无法将计算过程所涉及的数学公式直接导入文档,(2)无法将计算过程的中间步骤及最终结果直接导入文档。此时,用户在编制计算报告书等文档时需要(1)人工重复编写数学公式、(2)人工保存中间步骤结果并重复导入报告书,这导致用户编写计算报告书涉及大量人工重复劳动、工作效率低下。
技术实现思路
专利技术目的:本专利技术要解决的技术问题是提供一种基于Matlab编制公式插入文档的方法及计算机存储介质,克服采用Matlab进行数学或工程计算并编写文档时存在的不足之处,避免了数学公式及计算结果的人工重复编写,提高了工作效率。技术方案:本专利技术所述的基于Matlab编制公式插入文档的方法,所运行的系统中安装有Matlab软件和文档服务器软件,包括以下步骤:(1)链接Matlab脚本程序与文档服务器;(2)在Matlab脚本程序中设定文档的格式;(3)将公式中的特殊字符进行进制转换,并编写公式字符串矩阵;(4)将所述的字符串数组按专业格式生成公式并插入编辑区域。进一步的,步骤(1)中的链接包括以下步骤:(1)链接Matlab脚本程序与文档服务器,若文档服务器已经打开,则返回文档句柄,否则,创建报告书服务器并返回文档句柄;(2)保存所述文档。进一步的,步骤(2)中所述的文档的格式包括了光标初始位置、页面大小、纸张样式、排列方向、上下左右空白区域、首行缩进、行间距、文本对齐方式和文字大小。进一步的,步骤(3)的具体过程为:将特殊字符所采用的十六进制编码转换为十进制编码,再转换成字符,与常规字符合并形成字符串矩阵。进一步的,步骤(4)的具体过程为:将所述字符串矩阵按专业格式转换为数学公式,脚本程序调用数学集合对象,在定义的公式编辑区域插入所述的字符串矩阵。进一步的,所述的Matlab软件版本不低于R2015a,所述的文档服务器软件包括了word2010、word2013、wps2010和wps2013。本专利技术所述的计算机存储介质,其上存储有计算机程序,所述程序被计算机处理器执行时实现以上任一项所述的方法。有益效果:本专利技术能够将Matlab脚本中的数学公式定义为字符串矩阵,特殊字符采用十六进制编码,将其转换为十进制编码后与一般字符合并为字符串矩阵,调用数学集合对象自动生成专业的数学公式,将数学公式直接导入文档。通过上述方法,本专利技术建立了Matlab与文档接口之间的数据通讯,提供了一种在Matlab脚本中快速编制专业数学公式并插入文档中的技术解决方案,避免了人工重复编写,方便了人们工作和使用。附图说明图1是本方法的整体流程图。具体实施方式本方法使用的Matlab软件版本不低于R2015a,文档服务器版本包括了word2010、word2013、wps2010以及wps2013,本实施例采用的数学公式测试用例为:常规数学表达式Eq.1(温度单位转换)、Eq.2(含上下标)、Eq.3(平方根)、Eq.4(三次根号)、Eq.5(n次根)、Eq.6(公式阵列)、Eq.7(求和符合)、Eq.8(积符号)、Eq.9(分段函数)、Eq.10(矩阵Matrix)以及Eq.11(极限),具体实施方式如图1所示。S1:链接Matlab脚本控制程序与计算报告书服务器,判断报告书服务器是否已经打开,若已打开,在打开的Word报告书服务器中进行操作,否则打开Word报告书服务器。在Matlab的脚本文件窗口中写入如下的原始代码:S2:设定计算报告书格式,脚本文件原始代码如下所示:%%设定光标位置从头开始Content=Document.Content;Selection=Word.Selection;Paragraphformat=Selection.ParagraphFormat;%%设定页面大小Document.PageSetup.PaperSize='wdPaperA4';%设置纸张样式Document.PageSetup.Orientation='wdOrientPortrait';%排列方式为垂直方向Document.PageSetup.TopMargin=57*1.2637;%单位像素Document.PageSetup.BottomMargin=57*1.2637;Document.PageSetup.LeftMargin=57*1.5821;Document.PageSetup.RightMargin=57*1.5821;Document.PageSetup.HeaderDistance=50;Document.Paragraphs.FirstLineIndent=25;%首行缩进Document.ActiveWindow.ActivePane.View.Type='wdPrintView';%设置视图方式为页面S3、定义数学公式字符串数组并插入到特定的编辑区域,原始代码如下所示:%%第一段:描述性文字Pa11=['以下公式仅供测试'];Selection.Text=Pa11;Selection.Font.Size=14;Selection.Font.Bold=0;Selection.paragraphformat.Alignment='wdAlignParagraphJustify';%两端对齐Selection.ParagraphFormat.LineSpacingRule='wdLineSpaceSingle';%单倍行距Selection.ParagraphFormat.FirstLineIndent=30;%首行缩进Selection.MoveDown;Selection.TypeParagraph;%%示例,插入公式Eq.1:温度单位转换objRange=Selection.Range;objRange.Text='Celsius=(5/9)(Fahrenheit–32)';objRange=Selection.OMaths.Add(objRange);objEq=objRange.OMaths(1);objEq.BuildUp;Selection.EndKey;Selection.TypeParagraph;%%示例,插入公式Eq.2:公式含上下标objRange=Selection.Range;objRange.Text='σ_1(L本文档来自技高网...

【技术保护点】
1.一种基于Matlab编制公式插入文档的方法,所运行的系统中安装有Matlab软件和文档服务器软件,其特征在于包括以下步骤:(1)链接Matlab脚本程序与文档服务器;(2)在Matlab脚本程序中设定文档的格式;(3)将公式中的特殊字符进行进制转换,并编写公式字符串矩阵;(4)将所述的字符串数组按专业格式生成公式并插入编辑区域。

【技术特征摘要】
1.一种基于Matlab编制公式插入文档的方法,所运行的系统中安装有Matlab软件和文档服务器软件,其特征在于包括以下步骤:(1)链接Matlab脚本程序与文档服务器;(2)在Matlab脚本程序中设定文档的格式;(3)将公式中的特殊字符进行进制转换,并编写公式字符串矩阵;(4)将所述的字符串数组按专业格式生成公式并插入编辑区域。2.根据权利要求1所述的基于Matlab编制公式插入文档的方法,其特征在于步骤(1)中的链接包括以下步骤:(1)链接Matlab脚本程序与文档服务器,若文档服务器已经打开,则返回文档句柄,否则,创建报告书服务器并返回文档句柄;(2)保存所述文档。3.根据权利要求1所述的基于Matlab编制公式插入文档的方法,其特征在于:步骤(2)中所述的文档的格式包括了光标初始位置、页面大小、纸张样式、排列方向、上下左右空白区域、首行缩进、行...

【专利技术属性】
技术研发人员:朱正刚朱登明彭泽
申请(专利权)人:太仓中科信息技术研究院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1