本帖最后由 厚积薄发 于 2010-6-22 18:21 编辑
会议实录(四)
第二阶段:报告(数学中国社区:大笨象) 1、报告 活动发言人(291269111) 20:47:05
下面由数学中国版主(大笨象)做报告 madio_MATLAB版主(675308355) 20:47:22
大家好。 madio_MATLAB版主(675308355) 20:47:47
这次我主要说的是simulink的一些东西。发展及应用方面。 madio_MATLAB版主(675308355) 20:49:14
首先是simulink 的发展。 madio_MATLAB版主(675308355) 20:49:48
本人从08年暑假才刚刚接触simulink 。以前仅仅是用MATLAB。 madio_MATLAB版主(675308355) 20:49:59
Simulink是The MathWorks公司开发的用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具,常集成于MathWorks公司的另一产品MATLAB中与之配合使用。 madio_MATLAB版主(675308355) 20:50:29
MathWorks公司于1993年推出MATLAB4.0版本。 madio_MATLAB版主(675308355) 20:51:06
与MATLAB类似,Simulink的功能可以通过购买或自定义的工具箱不断扩展。 另外,Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。 madio_MATLAB版主(675308355) 20:53:13
最新版本 7.5版。Release2010a madio_MATLAB版主(675308355) 20:53:49
我现在只说一下最新版本的一些增强功能。 madio_MATLAB版主(675308355) 20:54:07
基于组件建模
§ 为每个子系统新增了块,以简化标量算法的向量化,并提高了代码重用率
§ 能为仿真触发模型,或被另一个模型引用时触发模型
§ 将函数调用信号分支,以控制对多个子系统、Stateflow® 图和模型的执行 madio_MATLAB版主(675308355) 20:54:21
基于组件建模
§ 为每个子系统新增了块,以简化标量算法的向量化,并提高了代码重用率
§ 能为仿真触发模型,或被另一个模型引用时触发模型
§ 将函数调用信号分支,以控制对多个子系统、Stateflow® 图和模型的执行
madio_MATLAB版主(675308355) 20:54:37
模型管理。 madio_MATLAB版主(675308355) 20:54:44
块功能的增强 madio_MATLAB版主(675308355) 20:54:55
嵌入式 MATLAB madio_MATLAB版主(675308355) 20:55:02
仿真性能 madio_MATLAB版主(675308355) 20:55:12
以及用户界面的增强 madio_MATLAB版主(675308355) 20:55:30
而 图形用户界面正式simulink的一大特点 madio_MATLAB版主(675308355) 20:56:19
下面说一下应用吧。具体的大家可以到http://www.mathworks.cn看。 madio_MATLAB版主(675308355) 20:56:53
控制系统设计
控制系统基于模型的设计, 包括嵌入式系统仿真、快速原型及代码生成等
数字信号处理
分析信号,开发算法和设计数字信号处理系统
通信系统
设计和仿真复杂通信系统
图像处理
图像采集、分析、可视化和算法开发
测试和测量
测试和测量应用中硬件连接 性和数据分析
计算生物学
生物数据和系统的分析、可 视化与仿真
计算金融
金融建模、分析及应用程序 开发
madio_MATLAB版主(675308355) 20:57:13
现在物联网 闹得沸沸扬扬。 madio_MATLAB版主(675308355) 20:57:40
而上面的很多功能正是必须的。 madio_MATLAB版主(675308355)
20:58:05 在越来越复杂的研究、系统设计和系统验证项目中,工程师依赖MATLAB实现技术计算,依赖Simulink实现基于模型的设计。这些工具加快了数据分析、算法开发、大规模系统仿真、性能分析、硬件和软件验证及为制作原型和配置的自动生成代码等任务. madio_MATLAB版主(675308355)
20:59:00 信号识别 数据采集 信号处理 网络传输 madio_MATLAB版主(675308355)
21:01:24 这些都是simulink的强项。所以我想这些可以simulink使用及研发作为以后的方向。 madio_MATLAB版主(675308355)
21:01:56 恩。谢谢大家。 活动发言人(291269111)
21:02:04 感谢大笨象的精彩演讲,下面进入讨论阶段, 活动发言人(291269111)
21:02:53 由于此次会议的通讯方式比较低级,下次我们会改善通讯方式。给大家更好的平台 2、讨论 labfans--yfl(602561167)
21:03:21 能谈一下代码生成吗 labfans--yfl(602561167)
21:03:43 他的主要应用 madio_MATLAB版主(675308355)
21:03:50 simulink 可以生成C 代码。但是个人感觉效率低 labfans--yfl(602561167)
21:04:46 比如说我要开发单片机,代码可以移植吗? matlabsky-oweagan(412827170)
21:04:49 有相关的资料 可以共享一下么 madio_MATLAB版主(675308355)
21:04:54 我现在用的主要是数字处理这一块。大的东西没做过。 madio_MATLAB版主(675308355)
21:05:11 但是 可以让math跟咱们探讨一下。 madio-aqua2001(17515041) 21:05:40
matlab对分布式计算支持起来方便吗? madio_MATLAB版主(675308355) 21:05:50
我们有一个课题是做温度湿度气体传感器的仿真。 活动发言人(291269111) 21:05:58
math现在可能工作去了,由于他在加拿大,现在是白天 madio_MATLAB版主(675308355) 21:06:10
真忙呀 labfans--yfl(602561167) 21:06:19
恩,很想知道下他在工程中的应用 madio_MATLAB版主(675308355) 21:06:25
分布式计算 我不太清楚 labfans--yfl(602561167) 21:07:19
看到过用simulink驱动硬件的 活动发言人(291269111) 21:07:25
Matlab介绍:
Matlab是由mathworks公司开发的一种主要主要用于数值计算和可视化图形处理的工具语言。它以编程环境和工具箱形式将数值分析、矩阵分析、图像处理、信号处理和仿真等诸多强大的功能集成在较易实用的交互式计算机环境中,为科学研究、工程应用提供了一种功能强,效率高,可扩展性的编程工具。
Matlab语言相对于java、c等一些高级语言要简单的多,它将底层的一些细节对用户完全透明,比如说:matlab不需要你关心它的底层的存贮——matlab基础的学习主要在于语法和数组的应用。Matlab语言易学易用、简洁而且能够快速上手吗,既是一个从来没有用过matlab的人,通过简单的学习,也可以轻易地学会matlab。
大家可以去参考相应的matlab基础书籍。
Matlab的含义:
Matlab这个名字是有matrix(矩阵)+laboratory(实验室)两个单词的前三个字母组合而成的。
对于实验室,个人认为matlab名副其实,其不仅是个实验室,而且还可以作为建立实验室的一个强效工具!
Matlab发展史:
1、 萌芽:
【软件发展和推广】20世纪70年代后期,美国墨西哥大学计算机系主任Cleve Moler博士在讲授线性代数课程的时,发现应用其他的高级编程语言很不方便,于是Cleve Moler博士和他的同事为同学设计了一组调用Linpack和eipack库程序的“通俗易懂”的接口,此即用Fortrain语言编写的萌芽状态的matlab。(发展状况:以免费的形式使用,深受学生的喜爱)
2、 发展
【市场发展】1984年,John Little 、cleve Moler、steve Bangert合作成立了mathworks公司,专门从事matlab软件开发,并把matlab正式推向市场。
【软件发展第一阶段】此时,matlab的内核采用c语言编写,而且除了原有的数值计算能力外,新增加了数据视图功能。
【软件发展第二阶段】1995年,mathworks公司推出了matlab4.0版本;1995年,mathworks公司推出了matlab4.2.x版本(for windows3.x);matlab 4.x版本在原来具有的数值计算和图形可视化的基础上,增加了新的功能:
2.1、推出了simulink。
2.2、开发出基于word处理平台的notebook
2.3、推出符号计算工具包
2.4、开发出了于外部进行接口直接数据转换的组件,使得matlab可以进行实时数据分析、处理、硬件开发。
1997年,mathworks公司推出了matlab5.0;2000年,matlab6.0问世;2002年,matlab6.5问世;2004年matlab7.0问世;后来陆续出来了7.x版本,8.X版本,9.X版本,现在已经更新到10.x版本(bt种子:[[ ( Bytes)font]矩阵实验室].Mathworks.Matlab.R2010a.ISO-TBE.iso|5614561280|b0825b401987dc5d42a688d41b1512a0|h=22Q2JTJPBASQWDEUAE5ABZ7IZIJ5BY52|/)
如今其认可度是有目共睹的,是全球三大数学软件巨头之一。
【通过说明其发展过程,我们是否能收到启发呢,我们可以按照其发展模式来发展我们国家的数学软件】
3、 优点
matlab强大的计算功能使得它被誉为“巨人肩膀上的工具”。(可以参考这篇文章:http://www.madio.net/forum-viewthread-tid-95131-from-home.html)
使用matlab编程运算与人们进行科学计算的思路和表达方式完全一致,所以不像学习其他高级语言那样难于掌握,用matlab编写的程序犹如在演算纸上排列出公式和求解问题,所以matlab又被誉为演算纸式的科学算法语言(注意它是一种算法语言是的它区别于其他的一些数学软件),其所拥有的帮助文档时期最大的优点,对于其推广和使用显得非常重要【提示:如果我们要开发数学软件,一定要注意帮助文档的排版】
4、 Matlab家族的介绍:(以7.0为例)
4.1、matlab
matlab是集计算、可视化、编程三大功能与一身,其实matlab产品加入中所有产品的基础。Matlab特征如下:
(1)强大的数学计算功能(其拥有庞大的数学、统计、工程函数,可以使用户立刻实现所需的强大的数学计算功能。由各领域的专家和学者开发的数值计算程序,使用了安全、成熟、可靠的算法,从而保证了最大的运算速度和可靠结果)
(2)可视化的工具
a、matlab提供了功能强大的、交互式的二维和三维绘图功能,可使用户创建富有表现力的彩色图形,可视化工具包括:曲面渲染、框线图、伪彩图、光源、三维等位线图、图像显示、动画、体积可视化的呢个。)
b、matlab提供了handle grahic图形机制。使用该机制可以对图形进行灵活的控制,利用GUIDE工具,可以方便的创建自己的GUI界面。
(3)直观灵活的语言
matlab不仅仅是一套打包好的函数库,同时也是一种高级的面向对象的编程语言。使用matlab可使用户卓有成效的开发自己的程序。Matlab自带的许多函数都是用matlab实现的。
(4)较强的开放和可扩展性
这个算是其半开源的一个标志,是的用户可以建立自己的m文件,从而可以创建自己的工具箱,构建特定领域的“虚拟实验室”,这算是其生命力最强的一个原则性基础吧。
(5)特殊应用工具箱
4.2Matlab toolbox
为了支持不同的专业用户,matlab还提供了大量的面向专业领域的工具箱。工具箱具体有哪些,这个版本不同,内容也不同,大家可以去mathworks官方网站去证实。
4.3Matlab compiler
利用matlab compiler可以从m文件自动产生优化的c代码。可以利用这个软件进行快速开发。
4.4.Simulink及simulink模块库
simulink算是一个matlab的可视化平台,或者说是“图形化操作的matlab”,只要在matlab能实现的,在这个地方都可以通过特定的模块来实现,而不需要你编写任何代码。可以说matlab相当于m-dos,simulink相当于windows。后者更方便哈。
在这里你可以把matlab的任何函数封装成一个小模块,然后组装成一个自己的simulink模块库,从而组建自己的工具箱,实验室。
4.5Stateflow
其提供了图形工具帮助用户分析和设计事件驱动系统。其是基于有线状态机理论,能建立和仿真复杂的反应和事件驱动系统。
4.6Real-time worship
其直接将simulink。Stateflow。dsp blockset。Communication blockset建立的模型自动生成代码。通过它可以为嵌入式控制系统和dsp应用循序生成c代码。
5、 学习matlab的经验方法谈
学习matlab最好的方法是用matlabhelp文档;
初期的学习可以利用课本来学习,然后你可以看matlab demo,下来你就可以看matlabhelp文档了,这是我的学习方式步骤。
6、 Matlab应用领域 这是自己整理的一个matlab!本来想做成报告形式,但是由于时间关系,所以只能这样给大家看了。大家可以去参考下 madio_MATLAB版主(675308355) 21:08:12
MATLAB 本身是用C 写的,可以驱动硬件。 madio_MATLAB版主(675308355) 21:08:40
比如说我要开发单片机,代码可以移植吗? madio_MATLAB版主(675308355) 21:08:47
这个需要一定的修改 madio_MATLAB版主(675308355) 21:09:03
不同的单片机有一定的区别。 labfans--yfl(602561167) 21:09:17
恩,这个知道 labfans-Admin(308246073) 21:09:30
关于MATLAB我想再说一点其在高校中的情况,现在绝大部分理工科高校都已开设了这门课程,但从我个人感受来说,我觉得我们的教学还仅仅局限在为了学语言而学语言,没有把这个强大的语言工具嵌入到实际的教学工作中。在这方面,很高兴联系到了西安电子科技大学的陈怀琛教授(http://see.xidian.edu.cn/faculty/hchchen/),陈教授专注于MATLAB教学与研究很多年,现在正主持教育部教改项目“用MATLAB和建模实践改造线性代数课程”(http://www.matlabedu.cn/index.asp)。由于陈教授比较忙,近期正准备“线性代数的软件实践”的培训班,将于7月3-11日实施。参加并通过考核的老师,将统一发放由教育部人事司和高教司共同签章的“高校青年骨干教师高级研修班”培训证书。在线性代数中引入MATLAB和建模实践,可以解决后续课中大量困难和复杂的问题。这些方法在现有的教材中都是找不到的,对于有志从事高校教育事业的青年教师来说,我想这是一个不错的机会。虽然陈教授不能亲自和大家在线上交流,但是很高兴能够征得他的同意,他的报告《线性代数要和科学计算结成好伙伴》可以在研讨会上发表供大家讨论。 labfans--yfl(602561167) 21:09:41
我指的是核心算法 madio_MATLAB版主(675308355) 21:09:47
但并不推荐用simulink 转化的C去应用的单片机。 madio_MATLAB版主(675308355) 21:10:00
算法当然可以用。
|