matlab的优缺点

MATLAB的优缺点
MATLAB是一套功能强大的工程计算软件,被广泛的应用于自动控制、机械设计、流体力学和数理统计等工程领域。工程技术人员通过使用MATLAB提供的工具箱,可以高效的求解复杂的工程问题,并可以对系统进行动态的仿真,用强大的图形功能对数值计算结果进行显示。MATLAB是必备的计算与分析软件之一,也是研究设计部门解决工程计算问题的重要工具。
MATLAB语言的主要特点有:
1.编程效率高
MATLAB语言是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比C语言等更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列公式与求解问题。因此,也可通俗地称MATLAB语言为演算纸式科学算法语言。由于它编程简单,所以编程效率高,易学易懂。
2.高效方便的矩阵和数组运算
MATLAB语言像BASIC、C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变的照搬到数组建的运算中。有些如算术运算符只要增加“.”就可以用于数组建间的运算。另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解数字图像处理问题时显得大为简洁、高效、方便,这是其他高级语言所不能相比的。
然而,较之于C语言MATLAB也有自己的劣势。
1.循环运算效率低。
MATLAB中所有的变量均为向量形式,这样一方面在对向量进行整体的计算时,表现出其他语言难以表现出的高效率,但是对于向量中的单个元素,或是将向量作为单个的循环变量来处理时,其处理过程相当的复杂。
2.封装性不好。
一方面,所有的变量均保存在公共工作区中,任何语句都可以调用。另一方面,作为一个完备的软件,而不是实现算法的程序,编程人员在使用MATLAB时需要花相当多的时间考虑如何设计用户界面。虽然,MATLAB提供了一定量的交互界面制作途径,但最终的代码仍然将不可避免的移植到较为“低级”的语言中,如C语言,C++。
综合MATLAB的优劣,选择MATLAB作为自己变成的平台,实际上是编程效率和运行效率两者之间的的妥协。一般来说对程序运行的时间没有特别的限定,因此选择MATLAB来编程便无可厚非了。而更重要的是,MATLAB的程序简单易行,我们可以很方便的对现有的算法进行改进。

原文地址:https://www.cnblogs.com/njzy123456/p/9751645.html

时间: 2024-10-12 22:41:28

matlab的优缺点的相关文章

机器学习之实战matlab神经网络工具箱

上节在 <机器学习之从logistic到神经网络算法> 中,我们已经从原理上介绍了神经网络算法的来源与构造,并编程实战了简单神经网络对于线性与非线性数据的分类测试实验.看过上节的可能会发现,上节实现的算法对于非线性数据的分类效果并不是非常完美,有许多值得优化的地方.而matlab作为一个科学计算软件,本身集成了非常多的优化算法,其中的神经网络工具箱就是其中一个优秀的工具箱,本节将以工具箱中的函数重新实验上节中的分类实验. 首先来了解这个工具箱.我们说,一个简单的神经网络就如下图所示: 这是我们

机器学习笔记----四大降维方法之PCA(内带python及matlab实现)

大家看了之后,可以点一波关注或者推荐一下,以后我也会尽心尽力地写出好的文章和大家分享. 本文先导:在我们平时看NBA的时候,可能我们只关心球员是否能把球打进,而不太关心这个球的颜色,品牌,只要有3D效果,看到球员扣篮的动作就可以了,比如下图: 如果我们直接对篮球照片进行几百万像素的处理,会有几千维甚至几万维的数据要计算,计算量很大.而往往我们只需要大概勾勒出篮球的大概形状就可以描述问题,所以必须对此类数据降维,这样会使处理数据更加轻松.这个在人脸识别中必须要降维,因为我们在做特征提取的时候几万维

浅识——后向投影成像算法(BackProjection,BP) 【MATLAB代码分析】

一.什么是BP算法 由来:BP算法最初是McCorkle受计算机层析技术的启发推导而来,所谓的计算机层析:就是CT(Computer Tomograpy),这是在医院中再普遍不过的技术了. BP算法的原理:BP算法参考了"时延-叠加"的思想,在雷达应用中,其对雷达接收天线接收到的回波信号进行距离向匹配率,获取回波数据中包含的相幅信息,再通过IFFT进行逆傅里叶变换,获取收发天线组合的时延,最后累积信号相干相加得到目标函数. 1.1  BP算法 回波信号与参与电信号进行匹配滤波后,获得的

c程序中调用matlab

c程序调用matlab 方法一: 在c程序中调用matlab引擎(相当于打开一个精简版matlab然后往里输入命令,即客户机/服务器模式, c程序为客户机,matlab作为本地服务器) 方法二:将m文件打包成dll文件,然后在c语言环境下调用 优缺点分析: 方法一,易于实现,可以实时监控程序的运行,但独立性差,速度慢,需要安装完整版matlab,且每次调用都会启动matlab.exe进程: 方法二,实现复杂,调试麻烦,但只需要安装mcr(matlab component runtime),耗费资

C#.Net与MATLAB集成

在数学分析工具方面,MATLAB无疑是佼佼者,除了作为软件工具外,MATLAB的自定义编程语言以及混合编程的支持,使其可以与Python.R之类数学分析语言媲美.尤其是在一些传统领域的研究,由于其研究领域的专业性,研究人员一般是该专业科班出身,而计算机则是副业,因此MATLAB的应用要远比Python和R广泛. MATLAB拥有众多的算法包,.Net平台下的F#是用于数据分析的语言,但相比较而言,MATLAB的算法更多,计算效率更高,而且MATLAB的绘图能力很强:另一方面,MATLAB在传统的

测绘软件优缺点

身为一名测绘专业的本科生,我已经学习了AutoCAD,CASS,MATLAB,COSA等.下面是我对一些软件的看法. CAD优缺点: 1.平面绘图:能以多种方式创建直线.圆.椭圆.圆环多边形(正多边形).样条曲线等基本图形对象. 2.绘图辅助工具:提供了正交.对象捕捉.极轴追踪.捕捉追踪等绘图辅助工具. 3.编辑图形:CAD具有强大的编辑功能,可以移动.复制.旋转.阵列.拉伸.延长.修剪等. 4.书写文字:能轻易在图形的任何位置.沿任何方向书写文字,可设定文字字体.倾斜角度及宽度缩放比例等属性.

利用MATLAB进行曲线拟合

软件环境:MATLAB2013a 一.多项式拟合 多项式拟合是利用多项式最佳地拟合观测数据,使得在观测数据点处的误差平方和最小. 在MATLAB中,利用函数ployfit和ployval进行多项式拟合. 函数ployfit根据观测数据及用户指定的多项式阶数得到光滑曲线的多项式表示,polyfit的一般调用格式为:P = polyfit(x,y,n).其中x为自变量,y为因变量,n为多项式阶数. polyval的输入可以是标量或矩阵,调用格式为 pv = polyval(p,a) pv = pol

MATLAB检查指定路径中的子文件夹中的文件名中是否带有空格

测试文件夹为: clear;close all;clc; %% %程序实现的功能 %检查指定路径中的子文件夹中的文件名中是否带有空格,并去掉文件名中的空格 %% %程序中用到的之前不清楚的函数如下 %1)strfind(a,b):即找a中是否有b,如果a中有b,则输出b的位置序号.没有输出空数组 %2)isempty(a):判断数组是否为空 %3)strrep(a,b,c):就是把a中所有出现的b换为c %4)movefile(a,b):a移动为b,如C:\test1.jpg移动为C\test2

关于MATLAB处理大数据坐标文件2017620

暑假已至,接下来组内成员将会各回各家,各找各妈,这肯定是对本次大数据比赛是很不利的. 接下来我会把任务分配给组员,当然任务会比起初的时候轻一点,因为我认为本次比赛的目的并不是我要求组员做什么,而是我的组员要求自己做什么! 我们现在主要接触的两门语言: MATLAB语言在数据处理方面很牛,它的画图功能也是杠杠的,尤其是3D画图 Python语言是一门近几年很火的语言,学好它对自己肯定只有益处,它的出生很晚,但是短短十多年,它已经稳居计算机语言前三名.尤其是现在的大数据时代,它的代码不仅简单易懂,而