2.多数情况下,输入行中的空格不会对Matlab运算产生影响。如果不指定输出结果的名称,Matlab将默认的运算结果命名为ans,即单词answer的缩写。 3. 可以通过将数据信息存储在Matlab变量中。每条变量赋值语句输入以后,Matlab就会立即显示出计算结果。分号“;”告诉Matlab只对其输入计算求解,而不用显示结果。Matlab每一步都会记住先前运算的信息,这是因为Matlab具有记忆功能。Matlab变量名必须是一个单词,而不能用多个以空格间隔的单词(可以用下划线连接)表示
4.命令窗口中输入help precedence,可以查看优先级顺序的信息。 5.Matlab工作区
Matlab具有记忆功能,当用户在命令窗口中操作时,Matlab会记录用户输入的命令和创建的所有变量的值。这些命令和变量都被保存在一个标题为 Workspace的Matlab工作区或基本工作区窗口中,可以在用户需要的任何时候调用。
命令who查询当前的所有变量名(没有显示值)。
6.用户可以用方向键↓、↑、→、←重新调用原来输入过的命令。↑键调用前一个命令,多次按↑键调用更靠前的命令,直到第一个命令。类似↓键调用当前命令的下一个命令。按→、←键使光标在命令行中移动,可再编辑。找到命令后Enter键则执行该命令,ESC键清除当前命令。 7.Tab键在拼写变量名或命令时,有很好的用处。
8.为了满足熟悉EMACS编辑器的用户,Matlab支持常用的EMACS编辑中的组合控制键,例如,可以用Control-U(即Ctrl+U键盘命令)来清除当前的命令。 9.关于变量
变量名必须是一个单一的词,不能包含空格。 变量命名规则: 变量名区分大小写。 变量名最多能包含63个字符,其后的字符都被忽略。 变量名必须以一个字母开始,其后可以是任意数量的字母、数字、或者下划线。 不允许出现标点符号,因为Matlab中标点有特殊含义。 关键字不能作为变量名,否则将出现警告信息。iskeyword函数返回Matlab中的关键字。
用户可以用isvarname函数验证输入的字符串是否合法,是则返回Ture(即1),否则返回False(即0)。例如isvarname('case')将返回0. 组合键Ctrl+C中止Matlab的执行过程。 10.
10.Matlab中特殊的变量 变量名 描述 ans 用作结果的默认变量名 beep 使得计算机发出“嘟嘟”声 pi 圆周率 浮点精度限(2.2204e-16),Matlab中的eps 最小数,如该数与1相加,将产生大于1的最小的那个数。 inf 表示无穷大,例如1/0 NaN或nan 表示不定数,即结果不能确定,例如0/0 i或j 虚数,表示√(-1) nargin 函数的输入参数个数 nargout 函数的输出参数个数 realmin 可用的最小正实数值 realmax 可用的最大正实数值 bitmax 可用的最大正整数(以双精度格式存储) varargin 可变的函数输入参数个数 varargout 可变的函数输出参数个数 11.当用户再次使用以前的变量或给上表中的特殊变量重新赋值时,它们原来的值将会被覆盖。不过用这个变量原来的值计算的其他表达式的值不会受到影响。这一点与Excel不同,Matlab不会根据变量的变化而实时刷新表达式的值。如需重新计算表达式的值,必须重新调用相应的Matlab命令,让Matlab重新计算。 12.特殊变量也遵循上述规则,但是可以自动恢复。当用户重新启动Matlab时特殊变量的值就恢复到它的初始值,而一般变量一旦被覆盖则初始值就丢失了。特殊变量要恢复初始值而不重新启动Matlab,只需执行clear命令。 13.当我们不希望显示计算的中间过程时,用分号(;)很有效。 百分号(%)之后的所有文本被看作一条注释。 我们可以利用逗号或分号在一行中输入多条命令。
一个表达式或命令较长时,必须另起一行书写。在Matlab中,可以用3个连续的句点(...,称为续行符)表示同一语句的延续输入。
注意:只有当续行符出现在变量名和数算符之间时才能起到语句续延作用,当出现在一个变量名的中间位置时,是不能实现语句续延的(这时必然会报错)。换句话说,一个变量名不能被隔开分散在两行。另外,由于注释行是被忽略的(所有百分号后的内容都不起作用),因此注释行不能用续行符实现续行。
14.复数
Matlab最强大的一个特性就是它无需要任何特殊操作,就可以对复数进行处理。产生复数的形式有几种典型方式: (1) c1=1-2i (2) c1=1-2j
(3) c1=complex(1,2) (4) c2=3*(2-sqrt(-1)*3) (5) c3=sqrt(-2) (6) c4=6+sin(.5)*1i (7) c5=6+sin(.5)*1j
生成c4和c5时,分别通过乘以1i和1j来获得虚部。这一操作是必须的,因为sin(.5)i和sin(.5)j在Matlab中是没有任何意义的。只有数字才能与字符i和j直接连接,而表达式则不可以。
15.一般而言,复数运算的结果也是复数,如果所得结果的虚部位0时,Matlab会自动去掉结果中的0的虚部。real函数和imag函数可以分别获取一个复数的实部和虚部。 16.欧拉恒等式
此等式将一个复数的极坐标形式和它的直角坐标形式联系起来,即:
M∠θ= Me=a+bj,其中极坐标表达式用极径M
jθ
和角度θ表示,直角坐标
2
形式用a+bj表示。这两种表达式之间的关系是M=√(a
-1
+b),
2
θ=tan(b/a),a=Mcos(θ),b=Msin(θ)。
在Matlab中,使用函数real、imag、abs和angle完成极坐标和直角坐标表
达式之间的转换。 c1=complex(1,-2) mag_c1=abs(c1) angle_c1=angle(c1)
deg_c1=angle_c1*180/pi %弧度转化为度 real_c1=real(c1) imag_c1=imag(c1) 上面的代码中,Matlab函数abs用来计算一个复数的模或一个实数的绝对值,Matlab中函数angle用来计算一个复数的角度(单位为弧度)。
注意:在以前的版本中,Matlab无法以度数为单位执行三角运算。不过,在Matlab 7中,所有的基本三角函数都能够支持以角度为单位角度值作为输入参数。
17.浮点运算
几乎在所有情况下,Matlab中的数值都是用双精度数来表示的,这些双精度数在系统内部用二进制表示。二进制是计算机最常见的表示方式,同时也是数字协处理器的固有格式。然而,正是由于这种表示方式,使得并非所有的数值都能被准确地表示,也就是说,Matlab中的数值表示存在一个极限值,另外,在进行加法运算时,还存在一个公认的下限。
(1) Matlab存在一个它能够表示的最大正实数,用下面的代码获得: format long %tell Matlab to display more precision realmax
(2)同样,Matlab也存在一个它能够表示的最小正实数,可以用下面的代码实现: realmin (3)Matlab还存在一个用双精度值表示的浮点相对误差限eps,定义为1与比它大的最小数之间的距离,即该值加上1所产生的数是比1大的数中最小的数。输入eps获得。推而广之,eps(x)将产生x与比它大的最小数之间的步进距离。验证:eps(1) eps(10) eps(100)
由此可见,随着x数量级的增加,由有限精度表示的数值之间的距离(即上述eps(x)的返回值)也会随之增大。
18.Matlab有限精度的局限往往产生奇怪的结果,如下面的例子表明加法并不是绝对满足交换律。 0.42-0.5+0.08 0.08-0.5+0.42 0.08+0.42-0.5
从数学角度来讲,上述三个表达式都是0,实际并非如此。
原因:并不是所有的数字都能够用双精度数精确地表示。实际上,上面的三个数中只有0.5可以被精确地表示。当数字不能够被精确表示时,Matlab就会给它们一个尽可能精确的近似值——这就给计算结果带来了不可避免的误差。在多数情况下,这些误差是很小的,不然现代计算机就不可能再使用双精度了。双精度带来的误差通常只在用Matlab比较两个数是否相等时才会出现。 有限精度效应带来的第二个后果出现在函数运算中。一方面Matlab不能精确地表示函数的参数,另一方面大多数函数本身也无法被精确的地表示。例如:
sin(0) sin(pi) %两者结果不一样:第一个为0第二个为1.2246799147353e-016 本例和前面一个例子出现的误差都小于eps
18.Matlab中的整数也是用双精度浮点数来表示的。Matlab中所有的整数都可以被精确地表示,但是存在它所能表示的最大整数的上限。输入函数bitmax得到9.0071992740991e+015,这个值等于2
53
-1。
19.数学函数
例子:求正弦值为根号2除以2的角度值 x=sqrt(2)/2 y=asin(x)
y_deg=y*180/pi
提醒:Matlab使用的是弧度值而不是角度值。
函数列表 三角函数 acos acosd acosh acot acotd acoth acsc acscd acsch asec asecd asech asin asind asinh atan atand atanh atan2 cos cosd cosh cot cotd coth csc cscd csch sec secd sech sin sind sinh tan tand tanh
描述 反余弦函数 反余弦函数,返回度数值 反双曲余弦函数 反余切函数 反余切函数,返回度数值 反双曲余切函数 反余割函数 反余割函数,返回度数值 反双曲余割函数 反正割函数 反正割函数,返回度数值 反双曲正割函数 反正弦函数 反正弦函数,返回度数值 反双曲正弦函数 反正切函数 反正切函数,返回度数值 反双曲正切函数 四个象限内反正切 余弦函数 余弦函数,以度数为输入参数 双曲余弦函数 余切函数 余切函数,以度数为输入参数 双曲余切函数 余割函数 余割函数,以度数为输入参数 双曲余割函数 正割函数 正割函数,以度数为输入参数 双曲正割函数 正弦函数 正弦函数,以度数为输入参数 双曲正弦函数 正切函数 正切函数,以度数为输入参数 双曲正切函数 指数函数 ^ exp expm1 log log10 log1p log2 nthroot pow2 reallog realpow realsqrt sqrt nextpow2 描述 求乘方 求指数 指数减1(即exp(x)-1) 求自然对数 求以10为底的对数 求x+1的自然对数 求以2为底的对数,用于浮点数分割 求实数的第n个实根 求以2为底的幂,用于浮点数换算 求非负实数的自然对数 求非负实数的乘方 求非负实数的平方根 求平方根 最小的p,使得2p不小于给定的数n
复数函数 abs angle conj imag real unwrap 描述 求实数的绝对值或复数的模 求以弧度为单位的相角 求复数的共轭值 求复数的虚部 求复数的实部 复数的相角展开 判断是否为实数,若是返回True,否isreal 则返回False cplxpair 将矢量按共轭复数对重新排序 complex 由实部和虚部创建复数 取整、求余函数 fix floor ceil round mod rem sign
描述 向0取整 向负无穷取整 向正无穷取整 向最近的整数取整 求模或有符号取余 求除法的余数 符号函数 坐标转换函数 cart2sph cartpol pol2cart sph2cart 数理函数 factor isprime primes lcm rat rats perms nchoosek airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln legendre cross dot 描述 笛卡尔坐标到球坐标变换 笛卡尔坐标到柱坐标或极坐标变换 柱坐标或极坐标到笛卡尔坐标变换 球坐标到笛卡尔坐标变换
描述 求一个数的质数因子 判断一个数是否为质数,若是返回True,否则返回False 产生不大于某数的质数序列 求一个数的最大公约数 求一个数的最小公倍数 有理逼近 有理数输出 求几个元素所有可能的组合 求从n个元素中一次取k个元素的所有可能的组合。 Airy函数 第一类贝塞尔函数 第二类贝塞尔函数 第三类贝塞尔函数 经过修正的第一类贝塞尔函数 经过修正的第二类贝塞尔函数 beta函数 不完全beta函数 beta函数的对数 Jacobi椭圆函数 完全椭圆积分 误差函数 互补误差函数 经过比例缩放的互补误差函数 误差函数的逆函数 指数误差函数 gamma函数 不完全gamma函数 gamma函数的对数 legendre伴随函数 向量叉乘 向量点乘
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务