



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB基础学习论文【摘要】MATLAB的基础性应用、了解与程序设计。 MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用MATLAB 函数集)扩展了MATLAB 环境,以解决这些应用领域内特定类型的问题。求矩阵最值函数: C=max(A),当A是矩阵时,返回各列最大值;当A是向量(行或列)时返回向量的最大值。C=max(A,B),A与B大小一样,返回相应位置的最大值。 C=max(A,1),返回第一维(各列)最大值。 C=max(A,2),返回第二维(各行)最大值。 C,I = max(.),返回最大值,以及该最大值的位置。 注:min函数用法与max函数类似。 矩阵除法: X=AB;AX=B X=A/B;XA=B 矩阵操作函数 矩阵转置: 矩阵求行列式:det 矩阵求逆:inv 矩阵特征值求取:eig 矩阵特征多项式系数求取:ploy 矩阵对角元向量提取:diag 字符转换(输出)函数: sprintf(A(%d,%d)=%.1en,m,n,A(m,n),字符串转换; fprintf(A(%d,%d)=%.1en,m,n,A(m,n),字符串输出至显示屏; %d等表示输出数值的格式,具体用法见help文件。 矩阵求和函数: C=sum(A),当A是矩阵时,返回各列之和;当A是向量(行或列)时,返回所有元素之和。 C=sum(A,1),按列求最大值,返回一个行向量。 C=sum(A,2),按行求最大值,返回一个列向量。求余函数:rem(X,Y),求X/Y的余数,返回X-n.*Y,n=fix(X./Y)(朝0方向取整),符号与X的符号一致,当Y=0时,返回NaN,该函数的返回值就是通常的求余数的结果。 众所周知,MATLAB是一个功能强大的数学软件,擅长于用矩阵运算完成各种数学功能。但是其程序需要在MATLAB环境下解释执行,效率不高。如果能将它强大的函数库用于C语言,利用C来编译执行,MATLAB将能发挥更大的作用。所以,MATLAB从5.0开始已经提供了与外部C/C+程序的应用程序接口,为利用C语言调用MATLAB的函数提供了可能。但是MATLAB的接口发展很快,到MATLAB 6.5已经提供了对VC 7.0的支持,同时对C的接口相对于5.X版本有了一定的改变,在MATLAB当中,我们利用M文件来实现函数,每一个M文件实现一个单独的功能,这一点和C语言当中的函数是相互对应的。所以,如果我们能将MATLAB中的M文件转化为C语言下的一个单个函数,就能实现MATLAB中相应的功能,整个过程可分为三个主要部分,用MATLAB将M文件翻译为C语言文件,从生成的C语言文件提取出有用语句,编写数据转换程序实现参数格式转换。整个过程最终将把M文件翻译成C语言当中的一个具有相同功能的函数,供其它的程序调用。接下来几章主要介绍了MATLAB的编程基础,这里引入了M文件的使用,M语言的语法与C语言非常类似,M语言函数文件能够接受用户的输入参数,并进行计算,然后将计算的结果作为函数的返回值返回给调用者。在MATLAB中具有不同类型的函数,分别为内建函数、系统M函数、系统MEX函数文件、用户自定义MEX函数文件和用户自定义的M 文件,其中内建函数是MATLAB基本内核提供的函数。下面是学习这门课常用到的知识点: demo-运行MATLAB提供的展示文件; clear-清除workspace中所有的变量;clc-清除命令窗口中的所有内容; size-计算变量的维数 ;length-计算变量的长度 ;C-停止运行当前程序 ;quit/exit-结束或离开MATLAB;系统预定义变量:eps(浮点运算误差限), pi, Inf(无限), NaN(not a number), i, j , ans(默认变量)who(查找变量列表),whos(查看当前内存中的变量) ;save 将所有变量存入文件 matlab.mat save mydat / save mydat.mat 将所有变量存入 mydata.mat save 文件名 变量名列表,续行符: “” ,Matlab 区分大小写,它的命令和函数全是小写的 ,浮点运算的相对精度为 eps,Matlab 中eps2.22e-016,即大约保持 16 位有效数字。 Matlab 中的虚部单位:i, j ,n=input(Please input n: ) zeros(m,n)生成一个m行n列的零矩阵,m=n 时可简写为 zeros(n)ones(m,n)生成一个m行n列的元素全为1的矩阵, m=n 时可写为 ones(n)eye(m,n)生成一个主对角线全为1的m行n列矩阵, m=n 时可简写为 eye(n),即为 n 维单位矩阵diag(X)若X是矩阵,则diag(X)为X的主对角线向量 若X是向量,diag(X)产生以X为主对角线的对角矩阵tril(A)提取一个矩阵的下三角部分triu(A)提取一个矩阵的上三角部分rand(m,n)产生 01 之间均匀分布的随机矩阵 m=n 时简写为 rand(n)运用Simulink 进行系统仿真 Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。它支持连续、离散及两者混合的线性和非线性系统,同时它也支持具有不同部分拥有不同采样率的多种采样速率的系统仿真。Simulink为用户提供了一个图形化的用户界面,对于用方框图表示的系统,通过图形界面,利用鼠标点击和拖拉方式,建立系统模型就像用铅笔在在纸上绘制系统的方框图一样简单,它与用微分方程和差分方程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点,它不但实现了可视化的动态仿真,也实现了与MATLAB、C或FORTRAN语言,甚至和硬件之间的数据传送,大大的扩展了它的功能。在MATLAB的主界面下点击Simulink的快捷图标,打开系统模型库,在建立的M-file文中直接加入所需要的模块,该系统的系统仿真模型如图所示。(注:其中den(s)=)通过上述系统的模拟仿真,我们得到了如下的系统阶跃响应的仿真图 结论通过本文的论述和实例分析可见, 利用MATLAB 分析控制系统稳定性具有编程简单、操作方便、处理速度快, 分析结果准确可靠等优点。由此可见,MATLAB 为工程技术人员分析、设计较优的控制系统提供了强有力的工具。在刚开始学习MATLAB这门课程的时候并没有得到我的重视,因为它只是一个工具性的软件,学习好自己的专业课程才是最重要的。直到MATLAB和自动控制原理两门课程都进行到重要的部分时候,我发现MATLAB现在就可以应用到我们的专业课自动控制原理上,随着学习的深入,控制系统的分析也变得越来越复杂,用传统方法的计算,时间周期长而且准确率不高。但是在学习完MATLAB软件以后发现,其实我们可以运用现在学习的MATLAB的知识可以分方便的解决自动控制原理方面的问题。MATLAB的软件编程语言非常简单易懂,更重要的是利用MATLAB软件的Simulink软件包可以非常方便的得到各种自动控制系统的响应图像,要比我们在实验室
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论