MATLAB总结
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=A\\B;AX=BX=A/B;XA=B矩阵操作函数矩阵转置:’
矩阵求行列式:det矩阵求逆:inv
矩阵特征值求取:eig
矩阵特征多项式系数求取:ploy矩阵对角元向量提取:diag字符转换(输出)函数:
sprintf("A(%d,%d)=%.1e\\n",m,n,A(m,n)),字符串转换;
fprintf("A(%d,%d)=%.1e\\n",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的接口发展很快,到MATLAB6.5已经提供了对VC7.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(notanumber),i,j,ans(默认变量)who(查找变量列表),whos(查看当前内存中的变量);save-将所有变量存入文件matlab.matsavemydat/savemydat.mat-将所有变量存入mydata.matsave文件名变量名列表,续行符:“”,Matlab区分大小写,它的命令和函数全是小写的,浮点运算的相对精度为eps,Matlab中eps2.22e-016,即大约保持16位有效数字。Matlab中的虚部单位:i,j,n=input("Pleaseinputn:")zeros(m,生成一个m行n列的零矩阵,m=n时可简写为zeros(n)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产生0~1之间均匀分布的随机矩阵m=n时简写为)rand(n)运用Simulink进行系统仿真Simulink是一个用来对动态系统进行建模、仿真和分析的软件包。它支持连续、离散及两者混合的线性和非线性系统,同时它也支持具有不同部分拥有不同采样率的多种采样速率的系统仿真。Simulink为用户提供了一个图形化的用户界面,对于用方框图表示的系统,通过图形界面,利用鼠标点击和拖拉方式,建立系统模型就像用铅笔在在纸上绘制系统的方框图一样简单,它与用微分方程和差分方程建模的传统仿真软件包相比,具有更直观、更方便、更灵活的优点,它不但实现了可视化的动态仿真,也实现了与MATLAB、C或FORTRAN语言,甚至和硬件之间的数据传送,大大的扩展了它的功能。
在MATLAB的主界面下点击Simulink的快捷图标,打开系统模型库,在建立的M-file文中直接加入所需要的模块,该系统的系统仿真模型如图所示。
(注:其中den(s)=s36s211s3)
3StepAddGain1den(s)TransferFcnScope
通过上述系统的模拟仿真,我们得到了如下的系统阶跃响应的仿真图
结论
通过本文的论述和实例分析可见,利用MATLAB分析控制系统稳定性具有编程简单、操作方便、处理速度快,分析结果准确可靠等优点。由此可见,MATLAB为工程技术人员分析、设计较优的控制系统提供了强有力的工具。
在刚开始学习MATLAB这门课程的时候并没有得到我的重视,因为它只是一个工具性的软件,学习好自己的专业课程才是最重要的。直到MATLAB和自动控制原理两门课程都进行到重要的部分时候,我发现MATLAB现在就可以应用到我们的专业课自动控制原理上,随着学习的深入,控制系统的分析也变得越来越复杂,用传统方法的计算,时间周期长而且准确率不高。但是在学习完MATLAB软件以后发现,其实我们可以运用现在学习的MATLAB的知识可以分方便的解决自动控制原理方面的问题。MATLAB的软件编程语言非常简单易懂,更重要的是利用MATLAB软件的Simulink软件包可以非常方便的得到各种自动控制系统的响应图像,要比我们在实验室的到相应的图像要方便简单的多。
在更深入的学习了MATLAB软件的使用以后,对它的强大功能有了更加深刻的认识,我相信在今后的学习和工作当中会有更多的地方运用到这一款软件,给我们的学习和工作带来更多的方便与快捷。
参考文献
1、薛定宇,陈阳泉.基于MATLAB/Simulink的系统仿真技术与应用.北京清华大学出版社,201*.
扩展阅读:matlab心得
学习Matlab心得体会
学习Matlab已经有一段时间了,对Matlab编程有了一定的了解。下面谈谈自己近期的学习心得。
第一节的时候我们对Matlab有了初步的认识:Matlab是“矩阵实验室(matrixlaboratoy)”的缩写,它是一种与数学水平密切相关的算法语言,专门针对科学、工程计算及绘图的需求。Matlab的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和处理、财务建模和分析以及计算机生物学等众多应用领域。附加的工具箱扩展了Matlab环境,以解决这些领域的特定性问题。比如说在自动控制理论中用的比较多的是根轨迹,相平面,传递函数,拉普拉斯变换,乃氏曲线等。在电机控制里面还有很多仿真实验,也经常用,对于辅助分析,也是很好用的。
我们已经学习过C语言,不难发现Matlab的编程基本语法学习起来很快的,和C语言很类似,而且支持C语言函数的,或者说函数就是用C语言编的。大一时学习线性代数,对矩阵又有了一定的了解,为今天学习Matlab打下了一定的基础。从matlab的名字的来源可以看出,它以矩阵运算常见,在当今的科学计算中,几乎无处不用矩阵运算,这是它的优势得到了充分的体现。
随着学习的课时的增加,我们对Matlab的有了深入而实质性的了解。首先我们学习了Matlab的数学运算、程序设计、程序调试、Matlab绘图及图形句柄,最后我们又学习了Matlab的图形用户界面设计。经过几次实验课,我们学会了M文件编程及程序调试,学会利用help这一命令对程序进行解释。
Matlab是以解释方式工作的,即它对每条语句解释后立即执行,若有错误也立即做出反应,便于对程序进行修改,大大减轻了编程和调试的工作量。它灵活、方便,程序调试手段丰富,调试速度快。Matlab语言像Basic和C语言一样规定了矩阵的算算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符等。Matlab的绘图功是十分方便的,在调用绘图函数时调整自变量可绘制出不同颜色的点、线、复线或多重线,这是通用的编程语言所不及的。Matlab的工作环境主要由命令窗口、图形窗口、和文本编辑窗口组成。
当然,matlab与其它计算机语言相比,有其独特的优点。特点如下:Matlab把编辑、编译、连接以及执行融为一体,加快了编写、修改、和调试程序的速度,或者说是一种比VB还要简单的语言。Matlab语言的内容极为丰富,它的各种函数都与数学领域有关,它的起点高,编程效率高,用户使用方便,智能化程度高,人机交互性好,功能丰富,可扩展性强。
通过这段时间的理论学习及实验,我觉得要提高matlab编程能力的方法有以下几点:(1)利用help,lookfor等功能对程序进行编译修改。(2)多上网查资料,上论坛,搜索帖子、发帖子问人(3)阅读别人、特别是一些高级技术人员的程序,在阅读的过程中进行学习,学习别人的编程方法。(4)还要有一本matlab的函数工具词典,可以尽量多的熟悉matlab自带的函数,因为matlab自带的函数特别多,基本上能够满足一般的数据和矩阵的计算。当然了,正如所有的程序语言一样,“3分课本7分上机”,一定要动手才行,不能光看。多想、多思考、多尝试,才是正路。
记得上第一节课时,老师给我们放得ppt上有这样一句话:学会Matlab将改变你的一生,网络对你的改变将远远的超过一台独立的计算机!作为一名电气工程及其自动化的一名学生,学好Matlab是非常有用的,扩展就业方向,为将来就业打下良好的基础!
最后,感谢老师您这么久以来对我们的谆谆教导!我们不会忘记您对我们的细心辅导,不会忘记您在我们瞌睡的时候给我们的讲的故事
友情提示:本文中关于《MATLAB总结》给出的范例仅供您参考拓展思维使用,MATLAB总结:该篇文章建议您自主创作。
来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。
《MATLAB总结》
由互联网用户整理提供,转载分享请保留原作者信息,谢谢!
http://m.bsmz.net/gongwen/712914.html
- 上一篇:桩基础施工学习总结
- 下一篇:地基与基础部分监理小结