matlab入门学习系列之表达式 变量运算符

目录

变量

矩阵运算符

数组运算符

函数

表达式示例


变量

与大多数其他编程语言一样,MATLAB® 语言提供数学表达式,但与大多数编程语言不同的是,这些表达式涉及整个矩阵。

MATLAB 不需要任何类型声明或维度说明。当 MATLAB 遇到新的变量名称时,它会自动创建变量,并分配适当大小的存储。如果此变量已存在,MATLAB 会更改其内容,并根据需要分配新存储。例如,

num_students = 25

创建一个名为 num_students 的 1×1 矩阵,并将值 25 存储在该矩阵的单一元素中。要查看分配给任何变量的矩阵,只需输入变量名称即可。

变量名称包括一个字母,后面可以跟随任意数目的字母、数字或下划线。MATLAB 区分大小写;它可以区分大写和小写字母。A 和 a 是相同变量。

尽管变量名称可以为任意长度,MATLAB 仅使用名称的前 N 个字符(其中 N 是函数 namelengthmax 返回的数字),并忽略其余字符。因此,很重要的一点是,应使每个变量名称的前 N 个字符保持唯一,以便 MATLAB 能够区分变量。

N = namelengthmax
N =
    63

矩阵运算符

表达式使用大家熟悉的算术运算符和优先法则。

+

加法

-

减法

*

乘法

/

除法

\

左除

^

'

复共轭转置

( )

指定计算顺序

数组运算符

如果矩阵不用于线性代数运算,则成为二维数值数组。数组的算术运算按元素执行。这意味着,加法和减法运算对数组和矩阵都是相同的,但乘法运算不相同。MATLAB 的乘法数组运算表示法中包含点,也就是小数点。

运算符列表包括

+

加法

-

减法

.*

逐元素乘法

./

逐元素除法

.\

逐元素左除

.^

逐元素幂

.'

非共轭数组转置

如果使用数组乘法将丢勒的幻方矩阵自乘

A.*A

则会生成一个数组,该数组包含介于 1 至 16 之间的整数的平方,并且以不常见的顺序排列:

ans =
   256     9     4   169
    25   100   121    64
    81    36    49   144
    16   225   196     1

构建表

数组运算对构建表非常有用。假定 n 为列向量

n = (0:9)';

然后,

pows = [n  n.^2  2.^n]

构建一个平方和 2 次幂的表:

pows =
     0     0     1
     1     1     2
     2     4     4
     3     9     8
     4    16    16
     5    25    32
     6    36    64
     7    49   128
     8    64   256
     9    81   512

初等数学函数逐元素处理数组元素。因此

format short g
x = (1:0.1:2)';
logs = [x log10(x)]

构建一个对数表。

 logs =
      1.0            0 
      1.1      0.04139
      1.2      0.07918
      1.3      0.11394
      1.4      0.14613
      1.5      0.17609
      1.6      0.20412
      1.7      0.23045
      1.8      0.25527
      1.9      0.27875
      2.0      0.30103

函数

MATLAB 提供了大量标准初等数学函数,包括 abssqrtexp 和 sin。生成负数的平方根或对数不会导致错误;系统会自动生成相应的复数结果。MATLAB 还提供了许多其他高等数学函数,包括贝塞尔函数和 gamma 函数。其中的大多数函数都接受复数参数。有关初等数学函数的列表,请键入

help elfun

有关更多高等数学函数和矩阵函数的列表,请键入

help specfun
help elmat

某些函数(例如,sqrt 和 sin)是内置函数。内置函数是 MATLAB 核心的一部分,因此这些函数非常高效,但计算详细信息是不可访问的。其他函数使用 MATLAB 编程语言实现,因此可以访问其计算详细信息。

内置函数与其他函数之间存在一些差异。例如,对于内置函数,您看不到代码。对于其他函数,您可以看到代码,甚至可以根据需要修改代码。

一些特殊函数提供了有用的常量值。

pi

3.14159265...

i

虚数单位 G−1

j

与 i 相同

eps

浮点相对精度 ε=2−52

realmin

最小浮点数 2−1022

realmax

最大浮点数 (2−ε)21023

Inf

无穷大

NaN

非数字

通过将非零值除以零或计算明确定义的溢出(即超过 realmax)的数学表达式,会生成无穷大。通过尝试计算 0/0 或 Inf-Inf 等没有明确定义的数值的表达式,会生成非数字。

函数名称不会保留。您可以使用如下新变量覆盖任何函数名称

eps = 1.e-6

并在后续计算中使用该值。可以使用以下命令恢复原始函数

clear eps

表达式示例

您已经学习了 MATLAB 表达式的几个示例。下面是一些其他示例及生成的值:

rho = (1+sqrt(5))/2
rho =
    1.6180

a = abs(3+4i)
a =
     5

z = sqrt(besselk(4/3,rho-i))
z =
   0.3730+ 0.3214i

huge = exp(log(realmax))
huge =
  1.7977e+308

toobig = pi*huge
toobig =
   Inf
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值