- Matlab 教程
- MATLAB - 首页
- MATLAB - 概述
- MATLAB - 特性
- MATLAB - 环境设置
- MATLAB - 编辑器
- MATLAB - 在线
- MATLAB - 工作区
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 日期和时间
- MATLAB - 数字
- MATLAB - 随机数
- MATLAB - 字符串和字符
- MATLAB - 文本格式化
- MATLAB - 时间表
- MATLAB - M 文件
- MATLAB - 冒号表示法
- MATLAB - 数据导入
- MATLAB - 数据输出
- MATLAB - 数据归一化
- MATLAB - 预定义变量
- MATLAB - 决策
- MATLAB - 决策
- MATLAB - If End 语句
- MATLAB - If Else 语句
- MATLAB - If…Elseif Else 语句
- MATLAB - 嵌套 If 语句
- MATLAB - Switch 语句
- MATLAB - 嵌套 Switch
- MATLAB - 循环
- MATLAB - 循环
- MATLAB - For 循环
- MATLAB - While 循环
- MATLAB - 嵌套循环
- MATLAB - Break 语句
- MATLAB - Continue 语句
- MATLAB - End 语句
- MATLAB - 数组
- MATLAB - 数组
- MATLAB - 向量
- MATLAB - 转置运算符
- MATLAB - 数组索引
- MATLAB - 多维数组
- MATLAB - 兼容数组
- MATLAB - 分类数组
- MATLAB - 元胞数组
- MATLAB - 矩阵
- MATLAB - 稀疏矩阵
- MATLAB - 表格
- MATLAB - 结构体
- MATLAB - 数组乘法
- MATLAB - 数组除法
- MATLAB - 数组函数
- MATLAB - 函数
- MATLAB - 函数
- MATLAB - 函数参数
- MATLAB - 匿名函数
- MATLAB - 嵌套函数
- MATLAB - 返回语句
- MATLAB - 空函数
- MATLAB - 局部函数
- MATLAB - 全局变量
- MATLAB - 函数句柄
- MATLAB - 滤波器函数
- MATLAB - 阶乘
- MATLAB - 私有函数
- MATLAB - 子函数
- MATLAB - 递归函数
- MATLAB - 函数优先级顺序
- MATLAB - Map 函数
- MATLAB - Mean 函数
- MATLAB - End 函数
- MATLAB - 错误处理
- MATLAB - 错误处理
- MATLAB - Try...Catch 语句
- MATLAB - 调试
- MATLAB - 绘图
- MATLAB - 绘图
- MATLAB - 绘制数组
- MATLAB - 绘制向量
- MATLAB - 条形图
- MATLAB - 直方图
- MATLAB - 图形
- MATLAB - 2D 线性图
- MATLAB - 3D 图形
- MATLAB - 格式化图形
- MATLAB - 对数坐标轴图形
- MATLAB - 绘制误差条
- MATLAB - 绘制 3D 等值线
- MATLAB - 极坐标图
- MATLAB - 散点图
- MATLAB - 绘制表达式或函数
- MATLAB - 绘制矩形
- MATLAB - 绘制频谱图
- MATLAB - 绘制网格曲面
- MATLAB - 绘制正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 线性插值
- MATLAB - 2D 数组插值
- MATLAB - 3D 数组插值
- MATLAB - 多项式
- MATLAB - 多项式
- MATLAB - 多项式加法
- MATLAB - 多项式乘法
- MATLAB - 多项式除法
- MATLAB - 多项式的导数
- MATLAB - 变换
- MATLAB - 变换
- MATLAB - 拉普拉斯变换
- MATLAB - 拉普拉斯滤波器
- MATLAB - 高斯-拉普拉斯滤波器
- MATLAB - 逆傅里叶变换
- MATLAB - 傅里叶变换
- MATLAB - 快速傅里叶变换
- MATLAB - 2D 逆余弦变换
- MATLAB - 向坐标轴添加图例
- MATLAB - 面向对象
- MATLAB - 面向对象编程
- MATLAB - 类和对象
- MATLAB - 函数重载
- MATLAB - 运算符重载
- MATLAB - 用户定义类
- MATLAB - 复制对象
- MATLAB - 代数
- MATLAB - 线性代数
- MATLAB - 高斯消元法
- MATLAB - 高斯-约旦消元法
- MATLAB - 简化行阶梯形式
- MATLAB - 特征值和特征向量
- MATLAB - 积分
- MATLAB - 积分
- MATLAB - 二重积分
- MATLAB - 梯形法则
- MATLAB - 辛普森法则
- MATLAB - 其他
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 矩阵的逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用资源
- MATLAB - 快速指南
- MATLAB - 有用资源
- MATLAB - 讨论
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 >>