MATLAB - 变量
MATLAB - 变量和数据类型
Section titled “MATLAB - 变量和数据类型”在 MATLAB 中,变量是内存中一个命名存储位置。基本原则是:MATLAB 中的每个变量都是一个数组,它可以容纳数字、文本或更复杂的数据。即使是单个数字也被视为 1x1 的数组。
创建和赋值变量
Section titled “创建和赋值变量”赋值使用等号(=)完成。MATLAB 会根据您赋的值自动确定变量的适当数据类型。
% 赋值一个单一数值(一个 1x1 的双精度数组)x = 16;
% 句末的分号会抑制命令窗口的输出% 这是编写清晰脚本的最佳实践。y = sqrt(x);
% 要查看 y 的值,只需键入其名称或使用 disp()disp(y)输出:
4如果您执行一个表达式而未将其赋值给变量,MATLAB 会将结果存储在一个名为 ans 的临时变量中。
% 此计算结果存储在 'ans' 中log(100)
% 您可以在下一次计算中使用 'ans'result = ans * 5变量命名最佳实践
Section titled “变量命名最佳实践”- 具有描述性:使用描述变量用途的名称,例如
initialVelocity或customerName,而不是v或c。 - 以字母开头:变量名必须以字母开头,后跟字母、数字和下划线的任意组合。
- 区分大小写:MATLAB 区分大小写,因此
myVar与myvar不同。 - 避免关键字:不要使用内置函数或关键字的名称(例如
if、for、plot)。您可以使用exist('name')检查名称是否是函数。
管理工作区变量
Section titled “管理工作区变量”当您创建变量时,它们会填充 MATLAB 工作区。您可以使用这些命令来管理它们:
who:列出当前工作区中所有变量的名称。whos:提供详细列表,包括变量名、大小(维度)、内存使用情况和数据类型。clear:从内存中删除变量。clear varName删除特定变量,而单独的clear则删除所有变量。
% 创建几个变量student_name = "Alex";grades = [95, 88, 92];
% 查看工作区中的内容whos预期输出:
Name Size Bytes Class Attributes
grades 1x3 24 double student_name 1x1 138 string常见数据类型
Section titled “常见数据类型”虽然 double(64 位浮点数)是默认值,但 MATLAB 支持许多其他数据类型:
double:数字的默认类型,例如x = 3.14。string:用于文本,用双引号括起来。非常适合处理文本数据。例如s = "Hello, MATLAB!"。char:用于单个字符或字符数组,用单引号括起来。例如c = 'H'。logical:表示true(1) 或false(0)。例如isValid = true。cell:一个数组,其每个元素可以容纳不同数据类型。例如C = {1, "text", [2 3]}。struct:一个带有命名字段的结构体,用于组织相关数据。例如patient.name = "John"; patient.age = 45;。
创建向量和矩阵
Section titled “创建向量和矩阵”创建数组是 MATLAB 的核心技能。以下是现代和最常用的方法。
% 一个行向量(元素用逗号或空格分隔)row_vec = [1, 2, 3, 4, 5];
% 一个列向量(元素用分号分隔)col_vec = [1; 2; 3; 4; 5];
% 一个 2x3 矩阵(分号开始新的一行)my_matrix = [1, 2, 3; 4, 5, 6];% 创建一个包含 10 个均匀分布点,范围从 0 到 1 的向量lin_vec = linspace(0, 1, 10);
% 冒号运算符:创建一个从 1 到 10,步长为 2 的向量colon_vec = 1:2:10; % 结果: [1 3 5 7 9]
% 创建一个 3x4 的全零矩阵zero_mat = zeros(3, 4);
% 创建一个 2x2 的单位矩阵ident_mat = eye(2);控制输出格式
Section titled “控制输出格式”format 命令控制数字在命令窗口中的显示方式。这不会改变存储的值,只改变其外观。
my_val = 100/3;
format short % 默认,4 位小数disp(my_val) % 显示 33.3333
format long % 双精度,15 位小数disp(my_val) % 显示 33.333333333333336
format bank % 2 位小数disp(my_val) % 显示 33.33
format rat % 最接近的有理分数disp(my_val) % 显示 100/3