📜  在MATLAB中使用变量和数组

📅  最后修改于: 2021-01-07 02:04:41             🧑  作者: Mango

在MATLAB中使用变量和数组

在任何MATLAB程序中,数据的结构单位都是数组。数组是记录值的集合,这些记录值被组织成行和列,并且以单个名称已知。数组可以分配为向量矩阵。术语“向量”通常用于定义仅具有一维的数组,而术语“矩阵”通常用于确定具有二维或更多维的数组。

行号说明了数组的大小,数组中的列号以及行号首先提到了。数组中的项目总数将是行数和列数的乘积。

例如,以下数组的大小为:

数组中的各个项目都由数组名称寻址,后跟特定项目的行和列。如果数组是行向量或列向量,则仅需要一个下标。例如,在前面的数组中,a(2,1)为3,c(2)= 2。

MATLAB变量是包含数组的内存区域,由客户指定的名称调用。通过在适当的MATLAB命令中包含数组的名称,可以随时使用或修改数组的内容。

MATLAB变量名称必须以字母开头,然后是字母,数字和下划线(_)字符的任何序列。仅前63个字符为必填项;如果使用的字符数超过63,则其余字符将被忽略。如果两个变量的名称仅在第64个字符不同,则MATLAB会将它们视为相同的变量。

在MATLAB中创建和初始化变量

MATLAB变量在初始化时会自动生成。

在MATLAB中可以通过三种方法来初始化变量:

  • 它将数据分配给赋值语句中的变量。
  • 它将数据从键盘输入到变量中。
  • 它从文件中读取数据。

在赋值语句中初始化变量

初始化变量的最简单方法是在赋值语句中为其分配一个或多个值。

作业说明具有标准格式

var =表达式;

其中var是变量的名称,表达式是标量常量,数组或常量,其他变量和Math 运算(+,-等)的组合。使用标准的Math 规则计算表达式的值,并将结果值保存在命名变量中。语句最后的分号是可选的。如果不存在分号,则分配给var的值将在命令窗口中回显。如果存在,即使已出现分配,“命令窗口”中也不会显示任何内容。

用赋值语句初始化变量的示例包括

var = 40i;
2="" 3="" 4];<="" 5;
="" [1="" p="" var2="var" x="1;" y="2;
数组=">

第一个示例生成类型为double的标量变量,并将虚数40i保存在其中。

第二个示例生成一个标量变量,并将表达式var / 5的结果保存在其中。

第三个示例显示,可以将多个赋值语句放在一行上,并支持用分号或逗号分隔它们。

最后一个示例显示变量也可以使用数据数组进行初始化。使用方括号([])和分号来建立这样的数组。数组的所有项目均按行顺序列出。换句话说,每行中的值是从左到右记录的,最顶层排在最前,最后一行排在最后。行中的单个值由空格或逗号分隔,行本身由分号或换行符分隔。

以下语句是可用于初始化变量的所有合法数组:

数组每一行中的项目数必须相同,并且每一列中的项目数必须相同。诸如

[1 2 3; 4 5];

这是非法的,因为第1行只有3个项目,而第2行只有2个项目。

内置函数初始化

数组也可以使用内置的MATLAB函数进行初始化。例如,函数零可用于生成任何所需大小的全零数组。零函数有多种形式。如果函数具有单独的标量参数,则它将使用单个参数作为行数和列数来开发正方形数组。如果函数具有两个标量参数,则第一个参数将是行数,第二个参数将是列数。由于size函数返回两个值,包括数组中的行数和列数,因此可以将其与零函数组合以创建零数组,该零数组与另一个数组的大小相同。

使用零函数的一些示例如下:

a =零(2);
2;="" 3="" 4];
="" b="零(2,3);
" c="[1" d="零(size(c));

这些语句生成以下数组:

类似地, one函数可用于生成包括所有1的数组,而eye函数可用于生成包括恒等矩阵的数组,其中所有对角项均为1,而所有非对角项均为零。

在包含可用于初始化变量的标准MATLAB函数列表的表格之后。

MATLAB函数可用于初始化变量

Functions Purpose
zeros(n) Creates a n x n matrix of zeros.
zeros(m,n) Creates a m x n matrix of zeros
zeros(size(arr)) Create a matrix of zeros of the same size as arr.
ones(n) Creates a n x n matrix of ones.
ones(m,n) Creates a m x n matrix of ones.
ones(size(arr)) Creates a matrix of ones of the same size as arr.
eye(n) Creates a n x n identity matrix.
eye(m,n) Creates an m x n identity matrix.
length(arr) Return the length of a vector, or the longest dimension of a 2-D array.
size(arr) Return two values specifying the number of rows and columns in arr.

使用键盘输入初始化变量

还可以提示客户并使用他或她直接在键盘上键入的记录来初始化变量。通过此选项,脚本文件可以在执行过程中提示客户输入数据值。输入函数在命令窗口中显示提示字符串,然后等待用户键入响应。

例如,考虑以下语句:

my_val = input('输入输入值:');

执行此函数,MATLAB打印出字符串“输入输入值:”,然后等待客户端响应。如果客户输入一个数字,则可以直接输入。如果客户输入一个数组,则必须将其括在方括号中。在其他情况下,键入返回键时,键入的任何内容都将存储在变量my_val中。如果仅输入返回键,则将生成一个空矩阵并将其存储在变量中。

如果输入函数包含字符“S”作为第二个参数,则输入的数据返回给客户作为一个<字符>。因此,该声明

»in1 = input('输入数据:');
输入数据:1.23
将值1.23存储到in1中,而语句
»in2 =="" input('输入数据:','s');
输入数据:1.23
保存<字符>“1.23”到平方英寸。<="" p="">
输入数据:1.23
将值1.23存储到in1中,而语句
»in2>


>


>