资源描述:
《MATLAB及基本运算》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MATLAB及基本运算第一章MATLAB概述第二章数值计算功能第一章MATLAB概述§1.1发展历史1970s,创始人:CleveMoler博士;1984年,CleveMoler和JohnLittle成立了MathWorks公司,将MATLAB推上市场;1993年推出MATLAB4.0版;1997年推出5.0版;1998年推出5.2版;目前我们可以看到的最新版本为7.x版。在欧美高校,MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的本科生、硕士生、博士生必须掌握的基本技能。在国内,目前各个高校也
2、正在逐步开设相关课程,为广大学生学习和使用MATLAB提供方便。§1.2MATLAB的语言特点优点:简洁、紧凑,使用方便灵活,库函数丰富、可靠;运算符丰富,提供了几乎和C语言一样多的运算符;具有结构化的控制语句,面向对象编程的特性;语法限制不严格,程序设计自由度大;程序的可移植性很好;图形功能强大;具有功能强劲的工具箱;源程序具有开放性。缺点:程序的执行速度较慢。主要工具箱数学类:最优化,统计,神经网络,符号数学,偏微分方程,样条函数,数据拟合、结构动力学,虚拟现实等数据库类信号处理类控制工程类金融经济类系统仿真类(Simulink)几个有用的命令Help:包括help,help
3、+函数名,helpwin和helpdesk。demo:演示界面intro:介绍界面who:查询whos:查询clear:清除第二章数值计算功能§2.1数字及其运算Matlab的基本运算单元是以数字为元素的矩阵,而将数字看成1×1矩阵作统一处理,当我们使用数的运算功能时,我们可以如同平时用手在纸上写字一样,直接写出要计算的表达式后,按回车键即可得到结果。例如:>>23*23ans=529这里ans是系统规定的存放计算结果的变量,也可以自己定义,如:>>x=230x=230>>y=450y=450>>z=x*yz=103500这里,将x定义为230,y定义为450,而z=x*y,这种
4、方法常用在计算较为复杂的时候。例如:分别计算水在温度为0、20、40、60和80度时的黏度。已知水的黏度随温度的变化公式为:其中:,,用Matlab计算的命令为:muw0=1.785e-3;%定义零度时的黏度a=0.03368;b=0.000221;t=0:20:80;%定义温度变量muw=muw0./(1+a*t+b*t.^2)0.00180.00100.00070.00050.0003这里:“;”表示当前不输出结果;如以后想看此变量的值,只要输入该变量名即可;“t=0:20:80”表示t的值从0开始,间隔为20,到80为止;“./”表示数组的右除,在此处,当t取不同的值后,m
5、uw即构成了一个数组;以%开始的部分表示注释。常用运算符:+、-、*、/、^、sqrt.输入输出格式用format命令来控制:FORMATSHORT5位FORMATLONG15位FORMATRAT有理数表达注:具体可用helpformat查看常住变量:pi,i或j,inf,NaN§2.2向量及其运算输入向量的方法:1. 直接输入法A=[1234],B=[1,2,3,4],C=[1;2;3;4],元素用[]括起来,元素之间用空格或逗号分隔表示行向量,用分号分隔就表示列向量。2.利用冒号表达式生成向量基本形式为:FirstValue:Step:LastBound,例如:B=12:3:
6、35B=1215182124273033其中Step也可以为负,例如:C=12:-2:5C=121086特别当Step=1时可以省略。3.线性等分生成向量函数linspace用来生成线性等分向量:LINSPACE(x1,x2)generatesarowvectorof100linearlyequallyspacedpointsbetweenx1andx2.LINSPACE(x1,x2,N)generatesNpointsbetweenx1andx2.linspace(1,10,4)linspace(1,15,6)Linspace(1,100)4.对数等分生成向量函数logspac
7、e用来生成对数等分向量:LOGSPACELogarithmicallyspacedvector.LOGSPACE(d1,d2)generatesarowvectorof50logarithmicallyequallyspacedpointsbetweendecades10^d1and10^d2.Ifd2ispi,thenthepointsarebetween10^d1andpi.LOGSPACE(d1,d2,N)generatesNpoints.logspace(0,5,6),此