文档详情

MATLAB应用第2章第4版MATLAB数据及运算.doc

发布:2017-02-01约2.47万字共34页下载文档
文本预览下载声明
第2章 MATLAB数据及运算 2.1 变量及其操作 一、变量命名规则 1.变量名、函数名对字母大小写是敏感的 myfile与MyFile表示不同的变量 sin是MATLAB定义的正弦函数名,但SIN、Sin都不是 2.变量名的第一个字符必须是英文字母 3.变量名最多可包含63个字符(英文、数字和下划线) 4.变量名中不能包含空格、标点 my_exemple12是合法的变量名,12exemple、_exemple12、my exemple12、my.exemple12是非法变量名 二、MATLAB默认的预定义变量 每当MATLAB启动时,不经定义和赋值就会产生一些变量,称为MATLAB默认的预定义变量 这些变量都可以重新赋值。但最好不要对这些变量名重新赋值 预定义变量 含义 预定义变量 含义 ans 计算结果的缺省变量名 nargin 函数输入参数个数 eps 机器零阈值(机器的浮点运算误差限) narout 函数输出参数个数 Inf或inf 无穷大,如1/0 realmax 最大正浮点数 i或j 虚数单位 realmin 最小正浮点数 pi 圆周率? lasterr 存放最新的错误信息 NaN或nan 不是一个数(Not a Number),如0/0,∞/∞ lastwarn 存放最新的警告信息 例1 用键盘在MATLAB指令窗中输入以下内容 eps eps —— 机器的浮点运算误差限。PC机上eps的默认值为 2.2204×10-16 ,若某个量的绝对值小于eps,则可以认为这个量为0。 ∞ 的MATLAB表示,也可以写成inf 。同样地,- ∞ 可以表示为 - Inf 。在 MATLAB 程序执行时,即使遇到了以 0 为除数的运算,也不会终止程序的运行,而只给出一个“除0”警告,并将结果赋成Inf ,这样的定义方式符合 IEEE 的标准。从数值运算编程角度看,这样的实现形式明显优于C语言。 例3 用键盘在MATLAB指令窗中输入以下内容 0/0,inf/inf,inf*0 注意 在MATLAB中,即使遇到以0为除数的运算,程序也不会终止运行。这时只给出一个警告,并将结果赋给inf或NaN NaN —— 不定式( not a number ) ,通常由 0 / 0 运算、Inf / Inf 及其他可能的运算得出。 NaN 是一个很奇特的量,如 NaN 与Inf 的乘积仍为 NaN 。 例4 用键盘在MATLAB指令窗中输入以下内容 n= realmax,n= 1.7977e+309 例5 用键盘在MATLAB指令窗中输入以下内容 m= realmin,m=2.2251e-309 i 和 j —— 若i或j量不被改写,则它们表示纯虚数量j 。但在 MATLAB 程序编写过程中经常事先改写这两个变量的值,比如在循环过程中常用这两个变量来表示循环变量。如果想恢复该变量,则可以用语句 i = sqrt(-1)设置,即对 -1 求平方根。 三、MATLAB运算符和表达式 运算符 操作 数学表达式 MATLAB运算符 MATLAB表达式 加 a+b + a+b 减 a-b - a-b 乘 a(b * a*b 除 a(b /或\ a/b或b\a 幂 ab ^ a^b 注意 所有运算都定义在复数域上 例1 用键盘在MATLAB指令窗中输入以下内容 u=sqrt(-4) 注意 对于方根,运算只给出处于第1象限的解 例2 用左除(\)和右除(/)计算表达式的值 用键盘在MATLAB指令窗中输入以下内容 (5+cos(47*pi/180))/(1+sqrt(7)-2*i)、(1+sqrt(7)-2*i) \(5+cos(180 \47*pi)) 注意 对于标量,左除(\)或右除(/)所得到的结果是一样的 对于矩阵,左除(\)和右除(/)所得到的结果是不一样的 AX=B → A-1AX= A-1B → X=A-1B=A\B, XA=B → XA A-1=B A-1 →X= BA-1= B/A 表达式 ?直角坐标表示与极坐标表示之间的转换 real(z):给出复数z的实部a=rcos? imag(z):给出复数z的虚部b=rsin? abs(z):给出复数z的模r=sqrt(a2+b2) angle(z):以弧度为单位给出复数z的相角?=arctg(b/a) 例1 写出复数表达式,计算 用键盘在MATLAB指令窗中输入以下内容 z1= 3 + 4i %书写格式1 z2 = 1 + 2 * i %书写格式2 z3=2*exp(i*pi/6) %书写格式2 z=z1*z2/z3 A=[1,3;2,4]-[5,8;6,9]i A=[1,3;2,4]-[5,8;6,9]*i B=[
显示全部
相似文档