MATLAB使用方法(matlab函数怎么用)

表达式

变量

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

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

num_students = 25
   

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

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

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

N = namelengthmax
N =
63
   

数字

MATLAB 使用传统的十进制记数法以及可选的小数点和前导加号或减号来表示数字。科学记数法使用字母 e 来指定 10 次方的缩放因子。虚数使用 ij 作为后缀。下面给出了合法数字的一些示例:

3 -99 0.0001
9.6397238 1.60210e-20 6.02252e23
1i -3.14159j 3e5i
   

MATLAB 使用 IEEE® 浮点标准规定的 long 格式在内部存储所有数字。浮点数的有限精度约为 16 位有效小数位数,有限范围约为 10-308 至 10 308。

以双精度格式表示的数字的最大精度为 52 位。任何需要 52 位以上的双精度数字都会丢失一定精度。例如,下面的代码因截断而将两个不相等的值显示为相等:

x = 36028797018963968;
y = 36028797018963972;
x == y
ans =
1
   

整数的可用精度为 8 位、16 位、32 位和 64 位。将相同数字存储为 64 位整数会保留精度:

x = uint64(36028797018963968);
y = uint64(36028797018963972);
x == y
ans =
0
   

MATLAB 软件存储复数的实部和虚部。该软件根据上下文采用不同方法来处理各个部分的量值。例如,sort 函数根据量值进行排序,如果量值相等,则根据相位角度排序。

sort([3 4i, 4 3i])
ans =
4.0000   3.0000i 3.0000   4.0000i
   

这是由相位角度所致:

angle(3 4i)
ans =
0.9273
angle(4 3i)
ans =
0.6435
   

“等于”关系运算符 == 要求实部和虚部相等。其他二进制关系运算符 ><< code="">、>=<=< code=""> 忽略数字的虚部,而仅考虑实部。

矩阵运算符

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

加法

-

减法

*

乘法

/

除法

\

左除

^

'

复共轭转置

( )

指定计算顺序

数组运算符

如果矩阵不用于线性代数运算,则成为二维数值数组。数组的算术运算按元素执行。这意味着,加法和减法运算对数组和矩阵都是相同的,但乘法运算不相同。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 提供了大量标准初等数学函数,包括 abssqrtexpsin。生成负数的平方根或对数不会导致错误;系统会自动生成相应的复数结果。MATLAB 还提供了许多其他高等数学函数,包括贝塞尔函数和伽玛函数。其中的大多数函数都接受复数参数。有关初等数学函数的列表,请键入

help elfun
   

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

help specfun
help elmat
   

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

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

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

pi

3.14159265...

i

虚数单位 G−1

j

i 相同

eps

浮点相对精度 ε=2−52

realmin

最小浮点数 2−1022

realmax

最大浮点数 (2−ε)21023

Inf

无穷大

NaN

非数字

通过将非零值除以零或计算明确定义的溢出(即超过 realmax)的数学表达式,会生成无穷大。通过尝试计算 0/0Inf-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
(0)

相关推荐

  • 如何采用MATLAB画一个分段函数图像

    当我们使用MATLAB画一个分段函数的时候,常常会遇到一些问题,出现不对的情况,下面小编给出一个画法,实测可行. 操作方法 01 打开MATLAB软件,如图所示. 02 建立一个脚本文件,具体方法如图 ...

  • matlab中的diff函数的使用

    matlab中的diff函数是求数组差异的函数,不过我们也可以用来求出导数 操作方法 01 我们先介绍一下diff函数的使用语法,如图所示: 02 现在我们创建一个矩阵,如图所示: 03 接着我们可以 ...

  • MATLAB如何实现三维函数的绘图

    MATLAB无疑是最重要的数学计算工具之一,其绘图能力也十分强大,那么如何用MATLAB实现对于三维函数的图形绘制呢? 操作方法 01 本人采用的MATLAB版本是2015b,不过不同版本对本文并无影 ...

  • matlab中如何定义函数

    操作方法 01 自定义函数的途径: M文件函数(M file function) 在线函数(Inline Function) 匿名函数(Anonymous Function) 02 1.M文件函数 范 ...

  • MATLAB查看某一函数功能的4种方法

    本文介绍了使用help,edit,doc,lookfor来查看某一函数功能的4种方法,其中doc+某一函数命令的方式比较常用. 操作方法 01 第一,启动MATLAB,出现以下命令行窗口(Comman ...

  • matlab怎么调用自定义函数

    有时候我们在使用matlab的时候,想调用自定义函数,怎么调用呢,下面来分享一下方法 操作方法 01 第一步在matlab中创建了一个自定义函数test_data,并将test_data函数放在当前文 ...

  • MATLAB中用差分法求解函数的一阶导数和二阶导数

    matlab在计算数值求导方面有很多函数.下面我来不用这些函数,介绍简单的函数求一阶导数二阶导数的差分方法以及其MATLAB实现. 操作方法 01 求解一阶导数的公式:y'=[y(x0+h)-y(x0 ...

  • MATLAB如何画分段函数的图像

    通常要用MATLAB画分段函数图像的话,总要分段去画非常麻烦,还需要hold on,现在教你一种简单化分段函数的方法,让你一下子知道这个方法的魅力!! 操作方法 01 确定你需要的分段函数是怎样一个表 ...

  • mobile matlab连接到电脑版matlab的方法

    mathworks公司提供了两种mobile matlab的使用方法,一种是license number(需要购买正版),另一种就是连接上电脑使用.本文将介绍如何连接到电脑上正常使用. 注意:必须保证 ...