matlab作用

matlab作用,第1张

MATLAB是矩阵实验室(Matrix Laboratory)之意。

除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完相同的事情简捷得多在新的版本中也加入了对C,FORTRAN,c++ ,JAVA的支持可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用,非常的方便。

MATLAB的基础是矩阵计算,但是由于他的开放性,并且mathwork也吸收了像maple等软件的优点,使MATLAB成为一个强大的数学软件

当前流行的MATLAB 65/70包括拥有数百个内部函数的主包和三十几种工具包(Toolbox)工具包又可以分为功能性工具包和学科工具包功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类

开放性使MATLAB广受用户欢迎除内部函数外,所有MATLAB主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包

Matlab的官方网站:://mathworks

Matlab的优势和特点

(1)友好的工作平台和编程环境

MATLAB由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强, *** 作更简单。

而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

(2)简单易用的程序语言

Matlab一个高级的距阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。

使之更利于非计算机专业的科技人员使用。

而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

(3)强大的科学计算机数据处理能力

MATLAB是一个包含大量计算算法的 。

其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C++ 。

在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。

MATLAB的这些函数集包括从最简单最基本的函数到诸如距阵,特征向量、快速傅立叶变换的复杂函数。

函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组 *** 作以及建模动态仿真等。

(4)出色的图形处理功能

MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和距阵用图形表现出来,并且可以对图形进行标注和打印。

高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。

可用于科学计算和工程绘图。

新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使他不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。

同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。

另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

(5)应用广泛的模块 工具箱

MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。

一般来说,他们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

(6)实用的程序接口和发布平台

新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。

允许用户编写可以和MATLAB进行交互的C或C++语言程序。

另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。

MATLAB的一个重要特色就是他有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。

工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

(7)应用软件开发(包括用户界面)

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5。

(8) Matlab常用工具箱介绍(英汉对照)

Matlab Main Toolbox——matlab主工具箱

Control System Toolbox——控制系统工具箱

munication Toolbox——通讯工具箱

Financial Toolbox——财政金融工具箱

System Identification Toolbox——系统辨识工具箱

Fuzzy Logic Toolbox——模糊逻辑工具箱

Higher-Order Spectral Analysis Toolbox——高阶谱分析工具箱

Image Processing Toolbox——图象处理工具箱

LMI Control Toolbox——线性矩阵不等式工具箱

Model predictive Control Toolbox——模型预测控制工具箱

μ-Analysis and Synthesis Toolbox——μ分析工具箱

Neural Network Toolbox——神经网络工具箱

Optimization Toolbox——优化工具箱

Partial Differential Toolbox——偏微分方程工具箱

Robust Control Toolbox——鲁棒控制工具箱

Signal Processing Toolbox——信号处理工具箱

Spline Toolbox——样条工具箱

Statistics Toolbox——统计工具箱

Symbolic Math Toolbox——符号数学工具箱

Simulink Toolbox——动态仿真工具箱

System Identification Toolbox——系统辨识工具箱

Wavele Toolbox——小波工具箱

例如:控制系统工具箱包含如下功能:

连续系统设计和离散系统设计

状态空间和传递函数以及模型转换

时域响应(脉冲响应、阶跃响应、斜坡响应)

频域响应(Bode图、Nyquist图)

根轨迹、极点配置

1补充新的内容:

MATLAB R2007b正式发布了!MATLAB 2007b于2007年秋节正式发布,TMW正式发布了MATLAB R2007b,新版本涵盖:Simulink 7、新产品Simulink Design Verifier、Link for Analog Devices VisualDSP以及82个产品模块的更新升级及Bug修订。

从现在开始,MathWorks公司将每年进行两次产品发布,时间分别在每年的3月和9 月,而且,每一次发布都会包含所有的产品模块,如产品的new feature、bug fixes和新产品模块的推出。

在R2007b中(MATLAB 74,Simulink 66),主要更新了多个产品模块、增加了多达350个新特性、增加了对64位Windows的支持,并新推出了工具箱。

R2007b, released on March 1, 2007, includes updates to MATLAB and Simulink, two new products released since R2007b, and updates and bug fixes to 82 other products R2007b adds support for the Intel® based Mac, Windows Vista™, and 64-bit Sun Solaris™ SPARC platforms

这次的升级做了重大的增强,也升级了以下各版本,提供了MATLAB、SIMULINK的升级以及其他最新的模块的升级。

这个Matlab 2007版本不仅仅提高了产品质量,同时也提供了新的用于数据分析、大规模建模、固定点开发、编码等新特征。

其中MATLAB Builder for 扩展了MATLAB piler的功能,主要有:

可以打包MATLAB函数,使网络程序员可以通过C#,VB等语言访问这些函数;

创建组件来保持MATLAB的灵活性;

创建COM组件;

将源自MATLAB函数的错误作为一个标准的管理异常来处理。

R2007b 提供了重大的新功能: 直接在命令行使用 Real-Time Workshop 的 嵌入式 MATLAB 函数的 C 代码生成。

另外,Simulink 中的嵌入式 MATLAB 函数块支持多 M 文件中的算法。

MATLAB R2007b新版本中,产品模块进行了一些调整,MATLAB Builder for COM的功能集成到MATLAB Builder for 中去了,Finacial Time Series Toolbox的功能集成到Financial Toolbox中了。

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

作为和Mathematica、Maple并列的三大数学软件。

其强项就是其强大的矩阵计算以及仿真能力。

要知道Matlab的由来就是Matrix + Laboratory = Matlab,所以这个软件在国内也被称作《矩阵实验室》。

每次MathWorks发布Matlab的同时也会发布仿真工具Simulink。

在欧美很多大公司在将产品投入实际使用之前都会进行仿真试验,他们所主要使用的仿真软件就是Simulink。

Matlab提供了自己的编译器:全面兼容C++以及 Fortran两大语言。

所以Matlab是工程师,科研工作者手上最好的语言,最好的工具和环境。

Matlab 已经成为广大科研人员的最值得信赖的助手和朋友!

对理论的掌握并不代表对知识的真正理解。对于一些所谓高深的理论都可以自己编写程序来检验对其理解的程度。我的经验是:只有你把程序流畅地写出来,才是真正意义上对知识理解通透了。比如,我在大三学电力系统分析的时候,就自己用Matlab语言编写了牛—拉法求潮流的程序,计算暂态稳定的简单程序,计算发电机短路电流的程序等。自然地这些专业课程都学得不错。 Matlab是一门优秀的编程语言,在欧美非常普及。选择一门顺手的编程语言可以让你在学习和工作中事倍功半。Matlab是一种语言因为它可以用作编程,也是一种软件因为它自带的工具箱具有类似软件前台的GUI界面以及能够轻松实现人机通信功能。在学习Matlab编程之前,需要对其有一个基本的了解:(1) 数据处理 能对数据进行计算、分析和挖掘,数据处理函数功能强大,命令简洁;(2) 软件工具箱 各式各样的工具箱,包括神经网络工具箱、Simulink工具箱(虽然Simulink从底层开发出来的,但是我们认为也是工具箱的一种)、模糊工具箱、数字图像处理工具箱和金融工具箱等;(3) 精致绘图 Matlab通过“set”命令重设图形的句柄属性,可绘制精准而美观的图形;(4) 动画实现 Matlab可以进行实时动画、**动画和AVI视频制作,并能在动画中添加WAVE格式的音频;(5) 与软硬件通信 Matlab接口函数可以实现与软件(比如C)和硬件(比如电子示波器)通信;(6) 平面设计 与全球最顶尖的平面设计软件之一Adobe Photoshop联袂使用,传达震撼的视觉设计效果;(7) 游戏开发 利用Matlab语言可以开发一整套的游戏,比如开发32关的推箱子游戏。 根据我对Matlab将近7年的学习经验,学习Matlab编程就像读一本书,刚开始读时感觉这本书很薄,内容浅显,容易上手,似乎感觉Matlab语言是最容易学会最简单的一门编程语言;继续读下去感觉这本书其实很厚。初学Matlab编程过程中经常会遇到五大困惑:其一,函数指令掌握太少,写不出简洁的程序甚至正确有效的代码也写不出;初学者阅读一个Matlab编程高手写出的一个相对复杂的程序,会发现不但整篇程序的思路难以理解,而且会碰见很多陌生的命令,就像一篇英文阅读理解有很多单词都不认识。自己动手写程序想表达的意思表达不出来,力不从心。其二,不能掌握Matlab函数复杂的语法格式;相比VB和C而言,Matlab语法格式比较复杂。语法格式不正确程序就不能运行,同一个命令有很多种语法格式。格式不同,程序输出的结果就大相迳庭。比如使用“streamribbon”命令创建三维流带图,其语法格式为streamribbon(x,y,z,u,v,w,sx,sy,sz);那么向量x,y,z,u,v,w,sx,sy,sz分别代表什么意义,各向量之间满足什么样的长度关系都必须真真切切地理解,否则因为不能键入正确的向量而不能画出三维流带图。其三,能套用别人程序自己却丝毫没有程序开发能力;比如在神经网络工具箱中,各种创建、学习和训练网络的函数命令众多,语法格式复杂,套用别人已经编好的神经网络程序比较简单,但是如果自己对照各个函数的用法书写完整的神经网络程序却不是简单的事,因为你没有从本质上理解这些命令。这就是说,你只能模仿别人的程序,却不能触类旁通自己开发程序。其四,不能准确全面地理解指令实现的功能;比如在Matlab中实现排序功能的命令是“sort”,而在C语言中如果想实现排序,那就必须依据“冒泡法”原理编写一小段的程序实现排序;虽然Matlab命令用起来比C简便,但是如果对“sort”命令原理不了解,就不能知晓“sort”是实现升序排列还是降序排列,对于矩阵是按行排序还是按列排序。所以当我们使用将繁琐的原理封装在Matlab里的命令时,如果不熟悉该命令的原理,那么使用时至少要在命令窗口中键入该命令以便试探它的用法。其五,函数的参数不知道如何调整。比如使用命令“imadjust”对轮廓不明晰的数字图像进行处理时,处理过的图像也许轮廓分明,但是很多都是伪轮廓,已经改变了原始图像的品质,所以在使用该命令时一定要注意拿捏好校正因子的大小。又如在编写BP网络源程序过程中,网络始终无法收敛且找不出原因,很多人都会怀疑是不是网络的拓扑结构设计有问题,其实很多情况下症结都是出在网络学习速率参数的大小上,只要将参数调小一点,网络也许就会立即收敛。当你不知道参数的具体取值时,不妨多调试几次。 最后通过长时间扎实的学习,对Matlab主程序命令和常用的一二个工具箱已经基本掌握,写起程序来才会思路涌涌而至,得心应手,轻车熟路,感觉这本书其实还是比较薄。由于MATLAB函数命令丰富,完全掌握没有必要也很难,只要掌握经常用到的命令就可以了。科学研究表明,只要掌握知识的60%就可以运用了。对于碰见的一些生僻的函数用法时,可以查询Matlab help命令寻求帮助或者身边备用一本Matlab函数词典。那么如何学好Matlab编程呢?我以为需要做到以下三点:(1) 多看多记 多阅读优质的程序,注意细细体会程序设计的思想,记下常用指令及其用法,准备一个笔记本,将看到好的程序段落摘抄下来或者复印,积累多了,装订成册。(2) 多练多想 模范别人的程序段,然后进行优化或改编。多多尝试开发小程序,多思考程序设计的流程,同时适当地借鉴一些程序设计艺术技巧。(3) 不要“偷懒” 初学者往往喜欢将别人或者自己以前编好的程序段甚至某一个指令复制粘贴过来,而懒得动手去写,这个习惯不好,尽管表面上是节省了一点时间。虽然这些指令对于初学者来说都认识,而且印象中也会写,但是时间长了,很多命令就不是记得很准确了。比如,函数“linspace”经常会被写成“linespace”,属性名“markersize”会被错误地写成“markesize”了。等等。 世界上没有100%的完美。Matlab这样优秀的软件也有缺陷:编译一直不顺畅和程序不能脱离Matlab环境运行。

1、在命令窗口中输入:type 函数名(例如type rgb2gray等),就会在命令窗口出现该函数的相关说明及源代码;

2、在命令窗口中输入:open 函数名(例如open rgb2gray等),就会打开该函数的m文件;

3、在命令窗口中输入:edit函数名(例如edit rgb2gray等),同样会打开该函数的m文件;

4、还有一种方法就是故意将原函数的参数类型或者个数写错,就会出现出错提示,点击提示出错处,也可以打开该函数的m文件;很多大型的函数都能获得源代码,但是MATLAB里面有一些built-in函数是看不到源代码的,sort就是其中之一。这些函数是预编译好的,运行效率非常好,比如像find、min、max等频繁用到的一些函数还有很多矩阵运算函数都是built-in函数。自带函数,用type+函数名。比如,type dwt2可以显示dwt2函数的代码但是,好像没有qpsk这个函数

用xlsread函数打开excel文件。

>> A=xlsread('book1xls')%注意book1xls在work目录下可以这样,否则要写出路径。

A =

1 2

2 3

3 4

4 5

5 6

6 7

7 8

8 9

9 10

10 11

x=[1 3 5 -1]';

n=length(x);

for i=1:n;

if x(i)>2

y(i)=fun1(x(i));

else

y(i)=fun2(x(i));

end

end

y

这是主程序。下面两个分别保存成M文件

function y = fun1(x)

y=xx+1;

end

function y = fun2(x)

y=x-1;

end

以上就是关于matlab作用全部的内容,包括:matlab作用、如何使自己成为matlab高手、matlab让别人运行程序但看不到源代码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9837793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存