经过暑假期间对与matlab的初步学习和了解,我学习了一些课堂上不曾学到的有用内
容;并初步了解了matlab作为运算工具的强大以及使技术工作变得更加简单有效。通过简单学习matlab,我对matlab的知识的了解可以归纳为下面几点。 一、matlab的基本知识及主要应用范围
Matlab作为以矩阵运算为核心的专业计算机程序,拥有难以置信的各种丰富的函数,可以解决工程科学中的各种运算;所以matlab对于解决工程技术中所面对的各种复杂运算更得心应手。
Matlab在使用中相对于同类产品有很多优点:1、易用性 它是一种解释性语言,它简单易用程序可用作笺簿求打在命令行处表达式的值,也可执行预先写好的大型程序。在它MATLAB集成开发环境下,程序可以方便的编写,修改和调试。这是因为这种语言极易使用,对于教育应用和快速建立新程序的原型,它是一个理想的工具。2、平台独立性 MATLAB 支持许多的操作系统,提供了大量的平台独立的措施。在一个平台上编写的程序,在其它平台上一样可以正常运行,在一个平台上编写的数据文件在其它平台上一样可以编译。因此用户可以根据需要把MATLAB 编写的程序移植到新平台。3、预定义函数 MATLAB 带有一个极大的预定义函数库,它提供了许多已测试和打包过的基本工程问题的函数。除了植入MATLAB 基本语言中的大量函数,还有许多专用工具箱,以帮助用户解决在具体领域的复杂问题。4、机制独立的画图 matlab有很多画图和图像处理命令,可以绘制和处理二维及三维图像,不仅可以单独作为一个画图工具绘制一些以常用画图工具难以绘制的复杂图形。5、用户图形界面 它的用户操作界面简洁易懂,即使第一次操作也可以由界面上的文字提示完成操作,而且MATLAB 允许程序员为他们的程序建立一个交互式的用户图形界面,程序员可以设计出相对于无经验的用户可以操作的复杂的数据分析程序。6、matlab编译器MATLAB 的灵活性和平台独立性是通过将MATLAB 代码编译成设备独立的P 代码,然后在运行时解释P 代码来实现的。但由于matlab不是编译型语言,产生的程序执行速度慢。
二、Matlab开发环境的主要操作窗口
1、Command Window(命令窗口) 打开命令窗口会出现matlab help和Demos,help提供的是各种函数的使用情况以及对于matlab使用过程中的各种帮助;Demos是matlab提供的各种范例。在命令窗口中我们可以输入所要计算的内容。
2、Workplace(工作空间)工作空间用于保存MATLAB变量的信息。在工作空间可以对变量进行观察、编辑、保存和删除。在命令窗口中键入“whos”命令,可以显示出保存在工作空间中的所有变量的名称、大小、数据类型等信息,如果键入“who”命令,则只显示变量的名称。
3、Command history(命令历史窗口)命令历史窗口记录用户每一次启动MATLAB的时间以及在命令窗口运行过的所有指令。 4、Profiler 没用过,不知道用来干嘛„ 三、Matlab使用基础 1、数值和向量组
在MATLAB 7中,生成向量最简单的方法就是在命令窗口中按一定格式直接输入。输入的格式要求是,向量元素用“[ ]”括起来,元素之间用空格、逗号或者分号相隔。需要注意的是,用它们相隔生成的向量形式是不相同的:用空格或逗号生成行向量;用分号生成列向量。
向量与数的加法(减法):向量中的每个元素与数的加法(减法)运算。向量与数的乘法(除法):向量中的每个元素与数的乘法(除法)运算。
两个数通常可以用6种关系来进行描述:小于(<)、小于等于(< =)、大于(>)、大于等于(> =)、等于(= =)和不等于(~ =) 。比较两个元素的大小时,如果结果为1,则表明关系式为真;如果结果为0,则表明关系式为假。
Matlab还可用于多项式的创建、多项式的运算以及关系和逻辑运算等。 2、字符串、单元数组和结构
MATLAB 7对字符串的设定非常简单,只需用单引号(’)将需设定的字符串引注即可。Matlab利用数组操作工具进行字符串元素的读取,使用disp函数显示字符串。并且使用char函数进行逆变换,同时,matlab还可以进行字符串的运算即判断字符串是否相等。进行字符串的查找与替换。
用类似矩阵的记号将给复杂的数据结构纳入一个变量之下。和矩阵中的圆括号表示下标类似,单元数组由大括号表示下标。
直接输入法生成结构型变量;使用struct函数生成结构型变量 ;在结构体变量中添加成员变量 ;在结构体变量中删除成员变量 ;在结构体变量中调用成员变量。 3、数值计算功能
矩阵的生成有多种方式,通常使用的有4种方法:在命令窗口中直接输入矩阵;通过语句和函数产生矩阵;在M文件中建立矩阵;从外部的数据文件中导入矩阵。
Matlab还可以用来生成特殊矩阵,像生成零矩阵(zeros)、全1矩阵(ones)、对角矩阵(diag)、随机矩阵(rand、randn)、范德蒙德矩阵(vander)、Hilbert矩阵(hilb)、反Hilbert(invhilb)。
Matlab还可运用speye、spones、spdiags、sparse、find、full、spalloc、sprand、sprandn等特殊的函数来生成稀疏矩阵。
Matlab主要还是运用于线性代数中的矩阵运算,因为matlab作为以矩阵为运算单位的系统,用于矩阵运算还是很好的。可以用函数解决矩阵的求逆,倒置,逆矩阵,矩阵的四则运算,矩阵的分解运算,矩阵的结构操作,以及概率统计等矩阵的复杂运算。 4、图形处理
Matlab拥有大量的二维、三维图像处理函数,像一次、二次、多次函数、三角函数、对数函数、指数函数等,还有大量进行三维制图的函数。除了绘制图像之外,matlab还可对图像进行进一步标注,像增加x轴、y轴标注,加标题,改变图形外部特征颜色、线型等,还可以在一张图纸上画多个图,给图形加网格等。 5、Simulink建模仿真
Simulink提供了大量以图形方式给出的内置系统模块,使用这些内置模块可以快速方便地设计出特定的动态系统。我们可以利用matlab自带的simulink创建自己所需要的仿真模型帮助我们完成所需任务。
四、从matlab学习过程中掌握的技能及总结。
经过几天对matlab的了解和学习,感觉还是学到了很多基础东西,有些在matlab的使用中很重要。
我们要习惯新建M文件,将自己所要书写的命令复制粘贴到M文件中,因为当你写的命令有错误时,在命令窗口会显示你的错误,需要我们修改;但是发现命令窗口中不能对最后一行命令之前的命令进行当时修改—就是你只可以修改最后一行命令,所以有必要将命令放入M文件中进行修改然后再放回命令窗口。
学会每次写入新的命令之前进行clear(发现clear all也可以)命令窗口,如果你不清理工作空间中的变量,那么我们上一次命令中变量所赋的值就会影响这一次的运算。同时为了使命令窗口更简洁,更明了,我们需要用clc来清除命令窗口中的所有数据。 与C语言中差不多,matlab中所用的变量需要先赋值,再参与运算。像你想计算
y=x^2+12*x-20(x=2)的值,你的命令就得写为x=2;y=x^2+12*x-20;而不能写为y=x^2+12*x-20;x=2;所以有时候我们不能看着你要计算的式子直接往上面写入,而遇到一些不必要的错误。
Matlab对于函数的运用非常广泛,有些时候很复杂的一些输入我们可以利用matlab自定义的函数完成输入。这就要求我们必须熟记matlab的基本函数库(熟悉你所要用到的函数类型),并且要牢记各种函数的写入格式像sin((5*x-3)),matlab允许小括号进行嵌套,并不需要我们以前的小括号外面必须是中括号等。
时刻注意matlab的Command window自带的提示功能,当我们需要输入括号等间隔符号时,matlab会时刻将你输入的符号和它相之对应的符号用用蓝色小矩形显示出来,我们可以用来检验括号是否对应错误。
为了使命令窗口简洁明了,更便于我们查找错误,我们最好每输完一条语句就以“;”结尾,避免不必要的麻烦。
对于数组和矩阵的运算,特别是点积与叉积的区别,我们要清楚我们所面对的问题中所运用的运算是哪一种,以此来确定选用何种乘法。在使用matlab输入一些命令时如x^2的输入方法可能提示为错误,我们可以改为x.^2.
Matlab用来画图是最好的了,对于数学中所涉及的各种图形,运用matlab基本上都可以解决。像数学中涉及的高次函数图像,对数函数图像等都可以用它来解决。它不仅可以用于二维制图,还可以用于三维制图。统计方面的图像也可以用它来解决。二维制图时我们可以通过多种命令来对图形进行备注修改,我们也应记住基本命令的输入格式。 Matlab还可用于矩阵各个方面的运算,像求矩阵的逆矩阵,求矩阵的倒置矩阵,矩阵的伴随矩阵等。我们还可以用它进行多项式求解,由根逆推多项式,多项式因式分解,多项式合并化简等。
Simulink建模仿真可以算是比较有用的matlab所携带的拓展包了,对于一些我们需要看到它具体变化路线的模型,光从它的函数表达式上是看不出问题的,我们需要看它的变化曲线等多项内容,这就需要simulink进行仿真,由简单的仿真解决复杂的问题。但是由于只是对simulink的简单了解,现在连它的基本模块的应用都还是不会。。。
通过对matlab的了解和解决布置的作业,我们用它解决问题的时候,要有一个层次化的思维,首先分析问题,发现问题中与matlab的关联点,用平白语言表述它,最后用matlab语句写出来。由于是自己看的,有的方面看不懂就直接省略,并且对于现在的我们只能用它解决一些简单的问题。对于程序化设计,建模仿真方面涉及过少,只能算是一个初学者;但是我们知道matlab是一个很有用的工具对于我们将来以后的学习工作中,我们
知道一个可以解决问题的工具使用方法,激励我们以后更努力的学习和使用它。
因篇幅问题不能全部显示,请点此查看更多更全内容