MATLAB - 预定义变量



预定义变量是在编程语言中已经定义好的变量。当您尝试打印它们时,它们已经具有一个值。它们不被保留为关键字,可以在您的程序中使用。如果直接使用,这些变量将具有一定的值,但可以被覆盖,并且可以在代码中用作变量名。

良好的编程实践是不在代码中使用预定义变量作为变量名,因为这可能会导致意外的结果。

MATLAB 中的预定义变量

以下是 Matlab 中可用的预定义变量列表。

变量 描述
pi 在这里,pi 变量将给出 Π 的值,精确到 15 位有效数字。
i,j 它们是复数的变量。
inf 显示无穷大值。例如,零除法的结果。
NaN 它表示“非数字”,是函数返回的一些不需要的结果。
clock 这将为您提供当前时间,以向量格式表示年份、月份、日期、小时、分钟、秒。
date 一个包含今天日期的字符串值。
eps 它保存一个称为 epsilon 的最小值。
ans 当您使用命令行 Matlab 工具时,会注意到这一点。结果存储在 ans 中,该变量在 Matlab 工作区中可用。
whos 列出 Matlab 中的变量
global 将给定变量声明为全局变量

让我们通过一个示例来了解 Matlab 中每个预定义变量。

pi

以下是在 Matlab 中使用 pi 的示例。

>> pi

ans =

    3.1416

>> 

如前所述,预定义变量不是保留关键字,可以像下面这样被覆盖。

>> pi = 2

pi =

     2

>> 

I,j: 复数

以下是在 Matlab 中检查 i 和 j 的值的示例。

>> i

ans =

   0.0000 + 1.0000i

>>
>> j

ans =

   0.0000 + 1.0000i

>> 

将 j 的值更改为 12 的示例。

>> j = 12

j =

    12

>> i+j

ans =

  12.0000 + 1.0000i

>> 

复数 i 的示例

x = [1:3]';
y = [5:-3:3]';

z = x+i*y

在 Matlab 中执行后,您将得到

>> x = [1:3]';
y = [5:-3:3]';

z = x+i*y

z =

   1 + 5i
   2 + 5i
   3 + 5i

>> 

复数 i 的示例

x = [1:3]';
y = [5:-3:3]';

z = x+j*y

在 Matlab 中执行后,您将得到

>> x = [1:3]';
y = [5:-3:3]';

z = x+j*y

z =

   1 + 5i
   2 + 5i
   3 + 5i

>> 

Inf: 无穷大值

以下是一个示例

>> inf

ans =

   Inf

>> 

您还可以使用 Inf 创建无穷大值的数组,如下面的示例所示

X = Inf(3)

执行后,您将得到

>> X = Inf(3)

X =

   Inf   Inf   Inf
   Inf   Inf   Inf
   Inf   Inf   Inf

>> 

NaN: 非数字

不是实数或复数,具有特殊值的数值称为 NaN,它代表“非数字”。对于 0/0、inf/inf 等表达式,将得到 NaN 作为结果。

以下是在 Matlab 中使用 NaN 的示例。

>> NaN

ans =

   NaN

>>

在此示例中,我们将创建如下所示的 NaN 数组

X = NaN(3)

在 Matlab 中执行后,您将得到

>> X = NaN(3)

X =

   NaN   NaN   NaN
   NaN   NaN   NaN
   NaN   NaN   NaN

>> 

在这里,我们将创建一个 2x3x4 的 NaN 值数组,然后显示其大小。

X = NaN(2,3,4);
size(X)

在 Matlab 中执行后,您将得到

>> X = NaN(2,3,4);
size(X)

ans =

     2     3     4

>> 

Clock: 获取当前日期和时间

clock 将返回一个日期向量,其中包含 [年 月 日 时 分 秒]。

以下是在 Matlab 中使用 clock 的示例。

>> clock

ans =

   1.0e+03 *

    2.0230    0.0040    0.0300    0.0100    0.0400    0.0434

>> 

您还可以将 clock 用作普通变量并覆盖它。

>> clock =1

clock =

     1

>> 

Date: 返回今天的日期

以下是在 Matlab 中使用 date 的示例。

>> date

ans =

    '30-Apr-2023'

>> 

您还可以像下面这样覆盖其值。

>> date = "today"

date = 

    "today"

>> 

eps: Epsilon 值

以下是一个示例

>> eps

ans =

   2.2204e-16

>> 

您还可以像下面这样覆盖其值。

>> eps = 11

eps =

    11

>> 

ans: 存储的结果

以下是一个示例

>> 1+1

ans =

     2

>>

您可以将 ans 用作普通变量名

>> ans = 10

ans =

    10

>> 

whos

此命令将列出工作区中所有变量及其大小和类型。

示例

>> whos
  Name      Size            Bytes  Class     Attributes

  A         3x3                72  double              
  B         4x4               128  double              
  a         1x1                 8  double              

>> 

Global

这将使变量成为全局变量。

语法

global  var1 var2  … varN

这将使 var1 var2 … varN 在范围内全局可用。

以下是一个全局变量的示例

global test
test = 10

在 Matlab 中执行后,您将得到以下内容

>> global test
>> test = 10

test =

    10

>> whos
  Name      Size            Bytes  Class     Attributes

  A         3x3                72  double              
  B         4x4               128  double              
  C         1x1                 8  double              
  a         1x1                 8  double              
  test      1x1                 8  double    global    

>>
广告