MATLAB程序设计及应用_第1页
MATLAB程序设计及应用_第2页
MATLAB程序设计及应用_第3页
MATLAB程序设计及应用_第4页
MATLAB程序设计及应用_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第2 2章章 MatlabMatlab数值计算功能数值计算功能2.12.1、MatlabMatlab的数据类型的数据类型2.22.2、向量的建立及其运算、向量的建立及其运算2.32.3、矩阵的创建及其运算、矩阵的创建及其运算2.2.4 4、数组运算和多项式的各类运算、数组运算和多项式的各类运算基本要求基本要求v(1)(1)熟悉熟悉MatlabMatlab的数据类型。的数据类型。v(2)(2)掌握掌握MatlabMatlab的向量的建立及其运算。的向量的建立及其运算。 2.1 2.1 MatlabMatlab的数据类型的数据类型数数据据类类型型数字数字字符串字符串矩阵矩阵(数组数组)单元型数据

2、及结构型数据单元型数据及结构型数据2.1.1 2.1.1 变量与常量变量与常量 1 1、变量、变量1 1) )特点特点 MatlabMatlab语言并不要求对所使用的变量进行事先语言并不要求对所使用的变量进行事先声明,也不需要指定变量类型;声明,也不需要指定变量类型;在赋值过程中,如果变量己存在,将使用新值在赋值过程中,如果变量己存在,将使用新值代替旧值,并以新的变量类型代替旧的变量类型。代替旧值,并以新的变量类型代替旧的变量类型。2 2) )命名规则命名规则变量名区分大小写;变量名区分大小写;变量名长度不超过变量名长度不超过3131位,第位,第3131个字符之后的字个字符之后的字 符将被忽略

3、;符将被忽略;变量名以字母开头,变量名中可包含变量名以字母开头,变量名中可包含字母字母、数数字、下划线字、下划线,但不能使用标点。,但不能使用标点。2 2、常量、常量 MatlabMatlab有一些预定义的变量,这些特殊的变量有一些预定义的变量,这些特殊的变量称为常量。称为常量。常量名常量名常量值常量值 常量名常量名常量值常量值 i,j 虚数单位,定义为虚数单位,定义为 realmin可用的最小正实数,可用的最小正实数,2.2251e-308pi圆周率圆周率 realmax可用的最大正实数,可用的最大正实数,1.7977e+308Inf无穷大无穷大 eps浮点数的精度浮点数的精度(2.2204

4、e-016)NaN(nan) Not-a-Numer,表示不定值表示不定值 ans结果显示的默认变量结果显示的默认变量1-常量名常量名常量值常量值 常量名常量名常量值常量值 i,j i,j 虚数单位,定义为虚数单位,定义为 realminrealmin可用的最小正实数,可用的最小正实数,2.2251e-3082.2251e-308pipi圆周率圆周率 realmaxrealmax可用的最大正实数,可用的最大正实数,1.7977e+3081.7977e+308InfInf无穷大无穷大 epseps浮点数的精度浮点数的精度(2.2204e-016)(2.2204e-016)NaN(nan)NaN(

5、nan)Not-a-NumerNot-a-Numer,表示不定值表示不定值 ansans结果显示的默认变量结果显示的默认变量注意注意在定义变量时应避免与常量名相同,以免改变这些常量的值。在定义变量时应避免与常量名相同,以免改变这些常量的值。如果已改变了某个常量的值,可以通过如果已改变了某个常量的值,可以通过“clear常量名常量名”命令恢复该命令恢复该常量的初始设定值。常量的初始设定值。重新启动重新启动Matlab系统也可以恢复这些常量值。系统也可以恢复这些常量值。 1-【例【例1】pians=3.1416【例例2】1/0Warning:Divide by zeroans= Inf0/0War

6、ning:Divide by zeroans= NaN【例【例3】pi=1ans=1clear pipians=3.14162.1.2 数字变量数字变量1、数字变量的运算数字变量的运算对于简单的数字运算,可以直接输入:对于简单的数字运算,可以直接输入: 258*369 ans= 95202也可以输入:也可以输入: x258* 369 x= 95202 【例【例 2.1】要求计算水在温度为要求计算水在温度为 0 oC,20 oC,40 oC,60 oC,80 oC时的时的粘度,已知水的粘度随温度的变化公式为粘度,已知水的粘度随温度的变化公式为其中其中 0为为 0oC水的粘度,值为水的粘度,值为1

7、.78510-3 在在 Matlab命令窗中输入:命令窗中输入: 021atbt%定义摄氏零度时的粘度值定义摄氏零度时的粘度值muw0=1.785e-3; %定义两常数定义两常数a=0.03368; b=0.000221; %定义摄氏温度变量定义摄氏温度变量t=0:20:80; %计算摄氏温度对应粘度值计算摄氏温度对应粘度值muw=muw0./(1+a*t+b*t.2)plot(t,muw)运行结果运行结果mum = 0.0018 0.0010 0.0007 0.0005 0.0003说明说明v(1)%以后的内容只起到注释的作用,对最终结果不产生任以后的内容只起到注释的作用,对最终结果不产生任

8、何影响。何影响。v(2)当用户不想显示中间的计算结果时,可用当用户不想显示中间的计算结果时,可用“;”来结束一来结束一行的输入,此时结果将不显示在屏幕上;当用户想再次查询行的输入,此时结果将不显示在屏幕上;当用户想再次查询此变量时,只需输入变量名。此变量时,只需输入变量名。v(3)一般代数表达式的输入就如同在纸上进行演算一样,如一般代数表达式的输入就如同在纸上进行演算一样,如四则运算符就直接用四则运算符就直接用+、-、*和和/即可,所以有人称其为即可,所以有人称其为演算演算纸式纸式的科学计算语言。的科学计算语言。v(4)Matlab中的乘方、开方运算可能和其他一些语言中有所中的乘方、开方运算可

9、能和其他一些语言中有所不同,分别由符号和函数不同,分别由符号和函数sqrt来实现。来实现。v(5)计算的顺序和优先级,计算的顺序和优先级,和和sqrt的优先级最高,的优先级最高,*、/次之,次之,+、- 的优先级最低。的优先级最低。【例如】例如】124456 ans=580 124*456 ans= 56544 【例如】例如】1233 ans= 1860867 sqrt(ans) ans=1.3641e003【例如】例如】12*34 ans=1632 2 数字的显示格式数字的显示格式(1)在在Matlab语言中的数值有多种显示形式。语言中的数值有多种显示形式。(2)在默认情况下,若数据为整数,

10、则以整型表示;若为实数,在默认情况下,若数据为整数,则以整型表示;若为实数,则以保留小数点后则以保留小数点后4位的浮点型表示。位的浮点型表示。(3)在在Matlab语言中,所有的数据均按语言中,所有的数据均按IEEE浮点标准所规定的浮点标准所规定的长型格式存储,数值的有效范围为长型格式存储,数值的有效范围为10-308 10308(4)Matlab的输入格式完全继承了的输入格式完全继承了C语言的风格和规则,如正语言的风格和规则,如正负号、小数点和科学计数法等。负号、小数点和科学计数法等。 【例如】【例如】9 -73 0.1999 1.4756e4 6.62620E34 用户可以改变数字的显示格

11、式,控制数字显示格式可用用户可以改变数字的显示格式,控制数字显示格式可用format命令。命令。值得注意的是,值得注意的是,format命令只影响在屏幕上的显示结果,而不影响命令只影响在屏幕上的显示结果,而不影响其在内部的存储和运算,而其在内部的存储和运算,而Matlab的数据存储和运算总是以双精度的数据存储和运算总是以双精度进行的。进行的。format short 5位定点表示位定点表示(默认值默认值)format long 15位数字表示位数字表示format short e 5位浮点表示位浮点表示format long e 15位浮点表示位浮点表示format short g 在在5位定

12、点和位定点和5位浮点中选择最好的格式表位浮点中选择最好的格式表 示,示,Matlab自动选择。自动选择。format long g 从从15位定点和位定点和15位浮点中选择最好的格式表位浮点中选择最好的格式表 示,示,Matlab自动选择。自动选择。format rat 近似有理数表示近似有理数表示format hex 十六进制表示十六进制表示 下面以下面以Sqrt(2) Sqrt(2) 为例来具体展示各种不同格式对显示为例来具体展示各种不同格式对显示的影响。的影响。 Short1.4142Long1.41421356237310Short el.4142e+000Long el.414213

13、562373095e+000Short g1.4142Long g1.4142135623731Rtional1393/9852.1.3 2.1.3 字符串字符串1 关于字符串的约定关于字符串的约定(1)在在Matlab中,字符串用单引号设定后输中,字符串用单引号设定后输入或赋值。入或赋值。【例如】【例如】S=matrix laboratory S=matrix laboratory2 字符数组的生成字符数组的生成函数函数char可以用来生成字符数组可以用来生成字符数组(或矩阵或矩阵)【例如】【例如】s3=char(s,y,m,b,o,l,i,c)s3 =symbolics3 “ ”的作用是将

14、字符数组的作用是将字符数组显示为行变量显示为行变量ans=symbolic(2)字符串的每个字符字符串的每个字符(包括空格包括空格)都都是字符数组的一个元素。是字符数组的一个元素。【例如】【例如】size(S) %size命令用命令用来查看字符数组来查看字符数组s的维数的维数ans= 1 17(3)在在Matlab中,字符串和字符数组中,字符串和字符数组(或矩阵或矩阵)基本上是等价的。基本上是等价的。【例如】【例如】s(3)ans=ts2=Matlabs2=Matlab2.2 向量及其运算向量及其运算 向量运算是矢量运算的基础,向量也是向量运算是矢量运算的基础,向量也是组成矩阵的基本元素之一。

15、本节将对向量的组成矩阵的基本元素之一。本节将对向量的创建及其基本运算做简单介绍。创建及其基本运算做简单介绍。2.2.1 向量的生成向量的生成2.2.2 向量的基本运算向量的基本运算 2.2.3 点积、叉积及混合积的实现点积、叉积及混合积的实现 2.2.1 向量的生成向量的生成1 直接输入向量直接输入向量生成向量最直接生成向量最直接的方法就是在命的方法就是在命令窗口中直接输令窗口中直接输入。入。格式上的要求是,格式上的要求是,向量元素需要用向量元素需要用“ ”括起来,括起来,元素之间可以用元素之间可以用空格、逗号或分空格、逗号或分号分隔;需要注号分隔;需要注意的是,用空格意的是,用空格和逗号分隔

16、生成和逗号分隔生成行向量,用分号行向量,用分号分隔生成列向量。分隔生成列向量。2 利用冒号表达式生成向量利用冒号表达式生成向量基本形式为基本形式为xx0:step:xn 其中其中x0,step,xn分别为给定数值,分别为给定数值,x0表示向量的首表示向量的首元素数值,元素数值,xn表示向量尾元素数值限,表示向量尾元素数值限,step表示从第表示从第二个元素开始,元素数值大小与前一个元素值大小二个元素开始,元素数值大小与前一个元素值大小的差值。的差值。注意注意(1)这里强调这里强调xn为尾元素数值限,而非尾元素值,当为尾元素数值限,而非尾元素值,当xn-x0恰为恰为step值的整数倍时,值的整数

17、倍时,xn才能成为尾值。才能成为尾值。(2)若若x0 xn,则需则需step0;若若x0 xn则需则需Step0;若若x0=xn,则向量只有一个元素。则向量只有一个元素。(3)若若step=1,则可省略此项的输入,直接写成则可省略此项的输入,直接写成x=x0:xn(4)此时可以不用此时可以不用“”。 【例如】【例如】a=1:2:12a=1 3 5 7 9 11 a=1:-2:12a=Empty matrix:1-by-0 a=12:-2:la= 12 10 8 6 4 2 a=1:2:1a=1a=1:6a=1 2 3 4 5 63 线性等分向量的生成线性等分向量的生成线性等分功能函数线性等分功

18、能函数linspace用来生成线性等分向量,其用来生成线性等分向量,其调用格式如下:调用格式如下:ylinspace(x1,x2)生成生成100 维的行向量,使得维的行向量,使得y(1)x1,y(100)x2;ylinspace(x1,x2,n)生成生成n维的行向量,使得维的行向量,使得y(1)x1,y(n)=x2。例如:例如:a1=linspace (1,100,6)a1 =1.0000 20.8000 40.6000 60.4000 80.2000 100.0000说明说明:线性等分函数和冒号表达式都可生成等分向量。:线性等分函数和冒号表达式都可生成等分向量。但前者是设定了向量的维数去生成

19、等间隔向量,而后但前者是设定了向量的维数去生成等间隔向量,而后者是通过设定间隔来生成维数随之确定的等间隔向量。者是通过设定间隔来生成维数随之确定的等间隔向量。4 4 对数等分向量的生成对数等分向量的生成 在数据处理中常常需要对数刻度坐标,在数据处理中常常需要对数刻度坐标,Matlab中还中还提供了对数等分功能函数,具体格式如下:提供了对数等分功能函数,具体格式如下: y=logspace(xl,x2) 生成生成50维对数等分向量,使得维对数等分向量,使得y(1) =10 x1,y (50) =10 x2 y=logspace(xl, x2, n) 生成生成n维对数等分向量,使得维对数等分向量,

20、使得y (1) =l0 x1,y (n) =l0 x2【例如】例如】a2=logspace(0,5,6) a2 =l 10 100 1000 10000 1000005 5 从矩阵中提取从矩阵中提取 向量可以从矩阵中提取,可以把向量看成向量可以从矩阵中提取,可以把向量看成1n阶阶(行向量行向量)或或n1阶阶(列向量列向量)的矩阵,以矩的矩阵,以矩阵形式生成。阵形式生成。例例A=1 2;3 4S1=A(:,1)S2=A(2,:)2.2.2 向量的基本运算向量的基本运算1 加加(减减)与数加与数加(减减)【例如】【例如】a=1:5a+1ans = 2 3 4 5 6a-1 ans = 0 1 2

21、3 4(a+1)+(a-1)ans =2 4 6 8 102 数乘数乘【例如】【例如】a*2ans = 2 4 6 8 102.2.3 点积、叉积及混合积的实现点积、叉积及混合积的实现1 1 点积计算点积计算 在高等数学中,向量的点积是指两个向量在其中某一个向量方在高等数学中,向量的点积是指两个向量在其中某一个向量方向上的投影的乘积,通常可以用来引申定义向量的模。向上的投影的乘积,通常可以用来引申定义向量的模。在在Matlab中,向量的点积可由函数中,向量的点积可由函数dot来实现。来实现。dot dot 向量点积函数向量点积函数 dot(a,b) dot(a,b)返回向量返回向量 a a和和b b的数量点积。的数量点积。a a和和b b必须同维。当必须同维。当a a和和b b都为列向量时,都为列向量时,dot(a,b)dot(a,b)同于同于aa* *b b。【例】【例】试计算向量试计

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论