版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
机械工程设计分析和MATLAB应用
(第4版)
第1篇MATLAB基础和科学计算郭仁生编著机械工业出版社内容提要:本篇介绍MATLAB操作基础、矩阵和数组及其运算、符号运算基础、M文件和流程控制结构、数据可视化等基础知识;以及运用MATLAB提供的平台,在解决工程实际问题时经常用到的多项式运算和函数插值、函数的导数和积分、代数方程和最优化问题等常用数学计算函数的功能和科学计算方法。第1章MATLAB操作基础MATLAB(MatrixLaboratory,原意是矩阵实验室)是美国MathWorks公司在20世纪80年代中期推出,它的最初版本是种专门用于矩阵数值计算的数学软件。随着MATLAB的逐步市场化和功能扩展强化,为科学研究和工程设计以及必须进行数值计算的众多科学领域,提供了用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境的一种全面的解决方案。1.1MATLAB概述1.1.1MATLAB的主要模块MATLAB是一种面向科学与工程计算的21世纪科学计算语言,它包括MATLAB和Simulink两大部分,主要模块有:MATLAB是数值分析和图形处理的基础平台。MATLABToolbox是解决特定领域问题的、开放的、可扩展的函数库。MATLABCompiler是将编写的M文件自动转换成C/C++文件,配合另外一种计算机数学语言MathWorks提供的C/C++数学库和图形库,可以开发功能强大的独立应用软件。1.1.2MATLAB的主要特点1、编程容易和调试方便MATLAB具有程序流程控制结构、数据结构、输入输出和面向对象等程序设计语言特征,包含丰富的库函数可供直接调用,避免了对大量算法的重复编程;并且允许用户使用数学形式的语言编写程序,更加符合科技人员对数学表达式的书写格式,被誉为高级“数学演算纸和图形显示器”科学算法语言。MATLAB是一种解释执行语言,它将其它语言使用过程的编辑、编译、连接、执行和调试等步骤融为一体,并且在同一个窗口上处理程序中可能出现语法错误,及进行出错原因分析。因此程序调试比VisualBasic等更加简单方便。2、扩充性和交互性好MATLAB的库函数与用户文件在形式上是一样的,所以用户文件可以作为库函数进行调用,用户也可以根据需要建立和扩充新的库函数。MATLAB对科学研究和工程应用的许多专门领域都开发了功能强大的模块集和工具箱。MATLAB的核心文件和工具箱文件都是可读写的源文件,用户可以根据需要对其进行修改或编制新的工具箱。3、强大的计算功能MATLAB具有丰富的基本内部函数,是一个包含大量计算算法的集合。这些函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等,它采用了先进、可靠和优化计算方法,可用于解决数学和工程领域的绝大多数问题。4、出色的数据可视化功能MATLAB将向量和矩阵用图形表现出来,提供一系列简单明了、功能齐全的绘图函数和命令,包括二维和三维的可视化、图象处理、动画和表达式作图,以及对一些工程特性较强的特殊图形进行光照和色度处理、修饰和控制,以及四维数据的表现等,MATLAB同样表现了出色的处理能力。1.2MATLAB的系统界面和菜单功能1.2.1MATLAB系统界面在Windows环境中双击MATLAB7.0图标,启动MATLAB后,弹出MATLAB系统界面。MATLAB系统采用集命令输入、执行、修改和调试于一体的集成界面,在默认的情况下系统界面有4个窗口:1、命令窗口(CommandWindow):是MATLAB的主要交互窗口(图1的右侧),用于输入命令、函数、数组和表达式等信息,并且显示输出结果。其中“>>”是命令提示符。用户可以通过主窗口顶部的菜单栏(表2所示)中选择Edit/ClearCommandWindow命令清除窗口显示的信息。2、工作空间窗口(Workspace):用于显示MATLAB在内存空间中存储的所有变量的名称、大小和类型,可以对它们进行编辑和保存,也可以通过主窗口顶部的菜单栏中选择命令Edit/ClearWorkspace删除内存空间中存储的数据。3、历史命令窗口(CommandHistory):用于纪录已经运行过的命令、函数和表达式等信息,可以在该窗口中对它们进行重复运行或复制,也可以通过菜单Edit/ClearCommandHistory命令清除这些历史纪录。4、当前路径窗口(CurrentDirectory):用于显示和设置当前工作目录,同时显示当前工作目录下的文件名、文件类型和目录的修改信息等。⑴编辑窗口(Editor):当选择通过主窗口顶部的菜单栏中选择File/New(建立新文件)命令,或是使用File/Open…(打开文件)等操作时,MATLAB启动“编辑/调试器”窗口。⑵图形窗口(figure):在file菜单的次级菜单new中执行figure选项,可以打开图形窗口。1.2.2主窗口的菜单功能file(文件)
New(建立新文件)Open(打开旧文件)Edit(编辑)
Cut(剪切)Copy(复制)Paste(粘贴)ClearCommandWindow(清除命令窗口)ClearCommandHistory(清除历史命令)ClearWorkspace(清除工作空间)1.3运算符和标点符1.3.1运算符1、算术运算符表1-2算术运算符运算符功能运算符功能+相加-相减*矩阵相乘.*数组相乘^矩阵乘方.^数组乘方\左除.\数组左除/右除./数组右除例1-1某学生的各科学习成绩分别为:语文86、英语91、数学89、物理74、化学82,试计算该生成绩的总分和平均分。在MATLAB命令窗口中运算提示符“>>”后面依次输入命令,并且按Enter键确认。>>a=86;b=91;c=89;d=74;e=82;%分别用变量a、b、c、d、e储存各科成绩>>z=a+b+c+d+e%计算该生成绩的总分z=422>>p=z/5%计算该生成绩平均分p=84.40002、关系运算符关系运算符用于比较两个对象(数、字符串、矩阵)之间的大小或不等关系,当比较的两个对象关系为真时,返回值为1;关系为假时,返回值为0。表1-3关系运算符运算符功能运算符功能>大于>=大于等于<小于<=小于等于==等于~=不等于例1-2
有两组数据:A=12、23、45、60、88和B=11、23、51、65、87,试对它们各对应元素进行关系比较。>>A=[12,23,45,60,88];%用向量A存储数据>>B=[11,23,51,65,87];%用向量B存储数据>>dy=A>B%比较向量A各对应元素是否大于向量Bdy=10001>>xd=A==B%比较向量A各对应元素是否等于向量Bxd01000>>xy=A<=B%比较向量A各对应元素是否≤向量Bxy=011103、逻辑运算符MATLAB提供了4种逻辑运算符。逻辑表达式或逻辑函数的值是一个逻辑量,真时值为1,假时值为0。表1-4逻辑运算符运算符功能运算符功能&与~非|或xor异或例1-3建立2个数组a=[0101]和b=[0011],对它们进行逻辑运算。打开MATLAB程序编辑器,在编辑窗口中输入以下7行语句:%逻辑运算a=[0202]b=[0022]a&b%2个数组的与运算a|b%2个数组的或运算~a%a数组的非运算xor(a,b)%2个数组的异或运算表1-5两个数组的逻辑运算结果比较数组a0202数组b0022与(&)0001或(|)0111非(~)1010异或(xor)0110例1-4两个学生的语文、英语、数学、物理、化学等五科学习成绩分别为:A=[68,77,93,80,91]和B=[72,81,90,83,75],试判别是否满足条件:每个学生的文科(语文、英语)平均成绩不小于75分,同时理科(数学、物理、化学)平均成绩不小于80分。A=[68,77,93,80,91];B=[72,81,90,83,75];WA=((A(1)+A(2))/2)>=75&((A(3)+A(4)+A(5))/3)>=80WB=((B(1)+B(2))/2)>=75&((B(3)+B(4)+B(5))/3)>=80WA=0WB=11.3.2标点符表1-6常用的标点符符功能符功能:冒号,产生数组,或是指定矩阵行、列元素.小数点,或是域访问符等;分号,区分行,或是取消运行显示等…省略号,续行符,逗号,区分列,或是函数参数分割符等%百分符,注释符()括号,指定运算过程中的先后次序等!惊叹号,调用操作系统运算[]方括号,矩阵定义标志=等号,赋值标记{}大括号,用于构成单元数组等’单引号,字符串的标示符等1.4数据类型1.4.1数值量MATLAB的数值量默认以双精度格式进行计算和保存在内存中,其显示格式可以通过format命令改变。如:1、formatshort短格式(系统默认),显示小数点后面4位有效数字,如pi()显示>>pians=3.1416说明:由于省略变量名和赋值标记“=”,则系统自动产生一个用作结果的默认变量ans。2、formatlong长格式,显示15位数字,如用长格式显示1/7>>formatlong>>1/7ans=0.142857142857143、formatshorte短格式e方式,对非整数值按照e方式显示5位数字,如>>formatshorte>>1/7ans=1.4286e-0014、formatlonge长格式e方式,对非整数值按照e方式显示15位数字,如>>formatlonge>>1/7ans=1.428571428571429e-0015、formathex按照16进制显示,如>>formathex>>1/7ans=3fc24924924924926、formatrat用近似的有理数显示,如>>formatrat>>0.7092ans=1773/25007、MATLAB语言中的有一些特定的数值常量
常量符号
常量含义i,j虚数单位pi圆周率的双精度表示eps容差变量(浮点运算相对精度)NaN不定式,表示非数字量Realmin最小的正浮点数,Realmix最大的正浮点数,inf正无穷大1.4.2字符量字符量可用于公式推导和数学解析运算。1、MATLAB的字符量一般是ASCII值的数值数组,它必须用单引号进行赋值,如>>String='ABC'String=ABC字符数组String中的每个字符(包括空格)都是字符数组的一个元素。>>s='1.503.205.637.819.04's=1.503.205.637.819.04s是一个浮点格式的字符数组。2、将字符数组s转换为数值代码,此功能可由函数str2num实现,如>>str2num(s)ans=1.50003.20005.63007.81009.0400s变成浮点格式的数值数组。3、将浮点数或数组转换为字符数组,此功能可由函数num2str实现。4、将符号表达式转换为数值表达式,此功能可由函数eval实现。如>>s='cos(pi/6)+sinh(3)+sqrt(2)';vs=eval(s)vs=12.29811.4.3变量变量的表达格式是:变量=表达式1、变量的规则⑴变量可以由数字、字母或下划线“_”组成,但是第1个字符必须是英文字母。⑵变量名的长度不超过31位。⑶不能使用函数名和系统保留字作为变量名。⑷任何变量均视为一个矩阵(单一的数是矩阵的最简单形式)。⑸凡是以“i”或“j”结尾的变量作为复变量处理。如果对“i”或“j”作一般变量赋值时,它们将不再是复数的虚数部分。⑹变量名区分大小写。2、变量类型⑴局部变量(Local):是在函数文件内部中定义的变量。当函数运行时,它保留在自己的工作区中,它只能的该函数文件内部被访问;一旦函数文件退出运行,内存变量不复存在。局部变量不需要专门进行定义。⑵全局变量(Global):是多个函数文件共享的变量。每个使用它的函数文件都必须用global语句声明它为全局变量,全局变量的作用域是整个MATLAB工作空间,所有的函数文件都可以对它进行存取和修改。因此,定义全局变量是函数文件之间传递信息的一种手段。需要指出,全局变量固然可带来某些方便,但却破坏了函数对变量的封装,降低了程序可读性。1.5基本数学函数1.5.1三角函数sin(x)正弦函数sinh(x)双曲正弦函数asin(x)反正弦函数asinh(x)反双曲正弦函数cos(x)余弦函数cosh(x)双曲余弦函数acos(x)反余弦函数acosh(x)反双曲余弦函数tan(x)正切函数tanh(x)双曲正切函数atan2(y,x)四象限反正切函数atanh(x)反双曲正切函数cot(x)余切函数coth(x)双曲余切函数acot(x)反余切函数acoth(x)反双曲余切函数sec(x)正割函数sech(x)双曲正割函数asec(x)反正割函数asech(x)反双曲正割函数csc(x)余割函数csch(x)双曲余割函数acsc(x)反余割函数acsch(x)反双曲余割函数例1-5计算正弦函数、反正切函数和渐开线函数的值。>>zx=sin(35*pi/180)%先将转换为弧度zx=0.5736>>alpha=atan(0.8204)*180/pi%结果转换为度alpha=39.3655>>formatlong%定义按长格式显示>>theta=tan(20*pi/180)-20*pi/180%渐开线函数的数学表达式theta=0.014904383867341.5.2指数和对数函数
表1-9指数和对数函数exp(x)指数函数nextpow2(x)最邻近2的幂log(x)自然对数函数pow2(x)以2为底指数函数log2(x)以2为底对数函数sqrt(x)平方根函数log10(x)以10为底的对数函数例1-6计算对数和指数。>>log2(24^(1/3))ans=1.5283即>>exp(3.8)ans=44.7012即1.5.3取整和取余函数fix(x)朝零方向取整函数round(x)四舍五入函数floor(x)朝负方向取整函数mod(y,x)(带符号)取余函数ceil(x)朝正方向取整函数rem(y,x)(无符号)取余函数表1-10取整和取余函数说明:⑴fix(x)是截尾取整函数,例如:>>fix([3.52-3.52])ans=3-3⑵round(x)是四舍五入函数,例如:>>round([5.433.62])ans=54使用函数roundn(x,-n)可以将数x四舍五入到指定的第n位小数,例如>>a=3.24506;roundn(a,-4)ans=3.2451>>roundn(a,-2)ans=3.25⑶mod(y,x)和rem(y,x)都是取余函数,它们返回结果都是余数。rem和mod的区别在于:当除数x和被除数y的正负号一样的时候,两个函数结果是等同的;当除数x和被除数y的符号不同时,mod函数结果的符号和除数x的一样,而rem和被除数y一样。例如:>>mod(-10,4)%被除数-10,除数4ans=2>>rem(-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 花生露地栽培管理规范
- 污染物排放台账管理办法
- 农膜回收利用处置实施方案
- 高尿酸血症饮食管理指导方案
- 高血压人群膳食营养干预手册
- 专项应急预案编制管理规范
- 体成分分析仪数据分析标准
- 个人职业病防护用品管理细则
- 居家老年人防跌倒看护应急预案
- 针对久坐人群的肩颈松解手法
- 信息技术(基础模块)(WPSOffice)中职上下两册全套教学课件
- 奥氏体不锈钢焊管固溶热处理工艺规范(征求意见稿)
- HGT 6188-2023 聚丙烯共聚反应器 (正式版)
- 锂电池充放电循环测试课件
- DL∕T 2009-2019 超高压可控并联电抗器继电保护配置及整定技术规范
- 2024年贵州匀影文旅投资集团有限公司招聘笔试参考题库含答案解析
- 基于STM32智能台灯的设计与实现
- 九年级道德与法治的知识竞赛题
- 基于PLC控制的机械手设计
- DB4206-T 60-2023 实验室气瓶安全管理规范
- 输配电线路单线图绘制要求
评论
0/150
提交评论