开发者社区> 异步社区> 正文

《MATLAB R2012a超级学习手册》一1.1 MATLAB介绍

简介:
+关注继续查看

本节书摘来自异步社区《MATLAB R2012a超级学习手册》一书中的第1章,第1.1节,作者 史洁玉 , 孔玲军,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.1 MATLAB介绍

MATLAB R2012a超级学习手册
MATLAB是一种高效的工程计算语言,它将计算、可视化和编程等功能集于一个易于使用的环境。

1.1.1 MATLAB的产品构架

MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。

说明:
目前MATLAB产品家族广泛用于如下几个方面。

数值分析。
数值和符号计算。
工程与科学绘图。
图形用户界面设计、控制系统的设计与仿真。
数字图像处理、数字信号处理。
通信系统设计与仿真。
财务与金融工程等领域。
MATLAB产品家族的框架结构如图1-1所示。其中MATLAB是MATLAB产品家族的基础,它提供了基本的数学算法,例如矩阵运算、数值分析算法,可直接调用600多个内建MATLAB函数。MATLAB集成了2D和3D图形功能,以完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言——M语言,利用M语言可以通过编写脚本或者函数文件实现读者自己的算法。

image

MATLAB Compiler是一种编译工具,能够将那些利用MATLAB提供的编程语言——M语言编写的函数文件编译生成为函数库、可执行文件COM组件等。利用M语言还开发了相应的MATLAB专业工具箱函数供读者直接使用。

Simulink是基于MATLAB的框图设计环境,可以用来对各种动态系统进行建模、分析和仿真。它的建模范围广泛,可以针对任何能够用数学来描述的系统进行建模,其中包括连续、离散,条件执行,事件驱动,单速率、多速率和混杂系统等。

Stateflow是一个交互式的设计工具。它基于有限状态机的理论,可以用来对复杂的事件驱动系统进行建模和仿真。Stateflow与Simulink、MATLAB紧密集成,可以将Stateflow创建的复杂控制逻辑有效地结合到Simulink的模型中。

1.1.2 MATLAB简介

MATLAB软件从1984年推出的第1个版本到目前发布的版本为MATLAB R2012a。MATLAB语言相对于传统的科技编程语言有诸多的优点,主要包括以下几个方面。

1.易用性
MATLAB是种解释型语言,就像各种版本的BASIC。和BASIC一样,它简单易用可实时计算在命令行处表达式的值,也可执行预先写好的大型程序。在MATLAB集成开发环境下,程序可以方便地编写、修改和调试。

2.平台独立性
MATLAB支持许多的操作系统,提供了大量的平台独立的措施。在一个平台上编写的程序,在其他平台上一样可以正常运行,在一个平台上编写的数据文件在其他平台上一样可以编译。

3.预定义函数
MATLAB带有一个极大的预定义函数库,提供了许多已测试和打包过的基本工程问题的函数。在许多的语言中,需要写出所编数组的下标和执行计算所需要的函数。这些函数包括其数学意义、中值、标准误差等。

除了植入MATLAB基本语言中的大量函数,还有许多专用工具箱,以帮助读者解决在具体领域的复杂问题。

4.机制独立的画图
与其他语言不同,MATLAB有许多的画图和图像处理命令。当MATLAB运行时,这些标绘图和图片将会出现在这台电脑的图像输出设备中。此功能使得MATLAB成为一个形象化技术数据的卓越工具。

5.可视化图形界面
MATLAB允许程序员为他们的程序建立一个交互式的图形界面。利用MATLAB的这种功能,程序员可以设计出相对于无经验的读者可以操作的复杂的数据分析程序。

6.MATLAB编译器
MATLAB的灵活性和平台独立性是通过将MATLAB代码编译成设备独立的P代码,然后在运行时解释P代码来实现的。这种方法与微软的VB相类似。不幸的是,由于MATLAB是解释性语言,而不是编译型语言,导致产生的程序执行速度慢。

7.文件I/O和外部应用程序接口
MATLAB的文件I/O和外部应用程序接口有如下特点。

新的文件I/O函数支持读取更大的文本文件,并且可以向Excel和HDF5文件中写入内容。
支持压缩格式的MAT文件,使得读者可以使用较少的磁盘空间保存大量的数据,而且速度更快。
可以使用Java addpath函数来动态添加、删除或重载Java类,而不必重启MATLAB。
支持COM接口、服务器事件和VisualBasic脚本等。
当然MATLAB也有两个基本的缺点。

(1)MATLAB是解释型语言,执行速度要比编译型语言慢得多。这个问题可以通过合理的MATLAB结构得到缓解,也可以在使用前编译出MATLAB程序。

(2)MATLAB软件的费用较高。一个完全版MATLAB编译器的大小是一个C语言或Fortran语言编译器的5到10倍。但MATLAB能够节省大量的时间在科技编程方面,故MATLAB在商业编程过程中是节省成本的。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
机器学习实战(Machine Learning in Action)参考答案以及原始数据
数据以及参考code在官网下载即可 https://www.manning.com/books/machine-learning-in-action 如果下载不了可以从这里下载:名称 MLiA_SourceCode.
1047 0
《MATLAB信号处理超级学习手册》——第2章 时间信号与系统 2.1 离散序列
本节书摘来自异步社区《MATLAB信号处理超级学习手册》一书中的第2章,第2.1节,作者:MATLAB技术联盟 , 史洁玉著,更多章节内容可以访问云栖社区“异步社区”公众号查看 第2章 时间信号与系统 一个离散时间信号是一个整数值变量n的函数,表示为x(n)或{x(n)}。
2046 0
Android学习之Animation(三)
今天观看了一个关于android动画的一些知识,就顺便记录下来,以备之后的学习和参考。 在XML文件中使用LayoutAnimationController 第一步: 在res/anim文件夹下创建一个xml文件,如list_layout_animation.xml.代码的内容如下面的简单的示例: 其中animation属性对应的值就是添加的动画资源文件。
791 0
git学习------> Gitlab如何进行备份恢复与迁移?
前段时间,在某台CenterOS服务器上搭建了Gitlab环境,并且大家陆陆续续的都把代码从svn迁移到了gitlab,但是之前的CenterOS服务器并不是搭建在公司的机房环境,而是搭建在办公室的某台闲置的电脑上,因此为了保证数据安全性,领导要求为将之前的Gitlab数据全部重新迁移到公司机房的服务器上面去。
2975 0
RMAN_学习笔记5_RMAN Catalog Script恢复目录脚本
2014-12-24 Created By BaoXinjian 一、摘要 简言之,将rman的备份恢复命令写成脚本并保存在恢复目录内,恢复目录内的脚本可用性及通用性高于基于文件系统的脚本。 客户端只要能够登录到RMAN恢复目录,则这些脚本可用,尤其对于global脚本,可以被任意注册的数据库调度。
928 0
Machine Learning From Scratch-从头开始机器学习
Python implementations of some of the fundamental Machine Learning models and algorithms from scratch.
936 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
12049
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载