- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答 4. 测试运行与分析 在JBuilder 2006输入运行参数4,得到如下结果。 Magic square of order 4 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 分析以上程序,Java程序主要完成了输入数据的类型转换和魔方矩阵结果的输出。真正魔方矩阵的生成是由m文件执行的。只不过是这个m文件的功能体现为经MATLAB Builder for Java打包后类中的一个方法theMagic.makesqr 1, n 。 MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答 输出曲线的演示程序 MATLAB针对数据绘制曲线或图形具有优势。可以利用MATLAB的这一优势编写曲线或图形的绘制程序,转换并打包后,供其它程序调用。 1. MATLAB程序的准备 drawplot.m函数,用于根据输入参数绘制曲线。 function drawplot x,y plot x,y MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答 2. M函数的转换与打包 有关打包m文件的过程我们在上个示例中已有介绍,这里不再重复。需要注意的是在打包前应选定编译器(在Settiing项中设置,如图7.9)。。 图7.9 设置编译文件窗口 MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答 图7.10 添加.m文件的窗口 MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答 我们选MATLAB2007a\toolbox\javabuilder\jar\javabuilder.jar为编译器。另外,如果需要将编译信息全部打印出来的话,选择Generate Verbose Output。从以下信息可以看到,编译是成功的并且可知打包文件的具体位置。 … Copying: D:\javabuilder_examples\m_drawplot\src\m_drawplot.jar - D:\javabuilder_examples\m_drawplot\distrib Copying: D:\javabuilder_examples\m_drawplot\src\m_drawplot.ctf - D:\javabuilder_examples\m_drawplot\distrib Compilation completed succesfully. The output is located in D:\javabuilder_examples\m_drawplot\distrib. … MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答 3. Java环境下调用打包文件 编辑如下程序,使用MATLAB的绘图功能完成图形绘制。 createplot.java程序 /*导入包 */ import box.javabuilder.*; import m_drawplot.*; class createplot public static void main String[] args MWNumericArray x null; /* Array of x values */ MWNumericArray y null; /* Array of y values */ m_drawplot thePlot null; /* 生成新的绘图实例 */ int n 100; /* 指定绘制曲线点数 */ MATLAB与控制系统仿真实践, 北京航空航天大学出版社,2009.8. 在线交流,有问必答 try /* 为x和y分配空间*/ int[] dims 1, n ; x MWNumericArray.newInstance dims, MWClassID.DOUBLE, MWComplexity.REAL ; y MWNumericArray.newInstance dims, MWClassID.DOUBLE, MWComplexity.REAL ; /* 设定值,使y sin x */ for int i 1; i
文档评论(0)