MATLAB 中的矩阵定义在括号之间,用空格或逗号分隔列,用分号分隔行。MATLAB 允许您手动创建矩阵或使用以下函数 zeros, ones, eye y rand.访问、修改和提取子数组是通过索引和运算符完成的,例如 : y end.矩阵运算包括连接、点积和使用矩阵逆。
如果你给你的 MATLAB 入门 如果您想知道如何使用矩阵,那么您来对地方了。矩阵是 MATLAB(矩阵实验室)语言的核心,了解如何创建、修改和操作矩阵对于任何项目或数据分析都至关重要。
在本文中,您将学习 如何在 MATLAB 中定义矩阵,包括手动生成和使用函数自动生成的。我们还将看到 如何访问单个元素或子集 矩阵, 如何修改它们 并执行常见的运算,例如连接或乘法。所有示例均附有清晰的解释。
MATLAB 中的矩阵是什么?在 MATLAB 中, 数组是数字的二维结构 (整数、实数或复数)按行和列排列。例如,一个 3x3 矩阵包含 3 行和 3 列。标量和向量是矩阵的特殊情况: 标量是 1×1 矩阵,一 行向量为 1xn 和 列向量为 nx1.
如何手动定义矩阵在 MATLAB 中创建矩阵最基本、最直接的方法是 使用键盘输入元素. 该符号用于 [ ] 打开和关闭矩阵。 列之间用空格或逗号分隔而 行之间以分号 (;) 分隔。这里有些例子:
A = [1 2 3; 4 5 6; 7 8 9];这将生成以下 3×3 矩阵:
1 2 3
4 5 6
7 8 9您还可以定义向量:
C = [1; 2; 3]; % Vector columna
D = [1 4 3]; % Vector fila使用预定义函数创建数组MATLAB 包含一些函数,允许你自动创建矩阵,而无需手动输入每个数字。这些函数在以下情况下非常有用: 创建具有特定结构的数组 例如零、一、单位矩阵或随机值。
零矩阵: zeros(filas, columnas)矩阵: ones(filas, columnas)单位矩阵: eye(dimension)均匀随机值: rand(filas, columnas)正态随机值: randn(filas, columnas)ejemplos:
ME1 = zeros(3,2); % Matriz 3x2 de ceros
ME2 = ones(4,1); % Vector columna de unos
ME3 = eye(3); % Matriz identidad 3x3
ME4 = rand(2,2); % Matriz 2x2 con valores [0,1]
ME5 = randn(3,1); % Vector columna con distribución normal还可以调整分布:
xn = 2 + 0.5 * randn(3,3); % Distribución normal con media 2 y desviación 0.5
xu = 2 + (4-2) * rand(2,2);% Distribución uniforme entre 2 y 4序列和空间函数创建矩阵或向量的另一种非常灵活的方法是使用 自动序列:
inicio:incremento:fin — 定义具有定义步骤的序列。linspace(inicio,fin,n) — 生成 n 线性间隔的点。logspace(inicio,fin,n) — 生成 n 10^start 和 10^end 之间的对数尺度上的点。ejemplos:
v1 = 1:0.5:3; % [1 1.5 2 2.5 3]
v2 = linspace(1,0.1,6); % [1.0000 0.8200 0.6400 0.4600 0.2800 0.1000]
v3 = logspace(1,3,3); % [10 100 1000]访问和修改数组元素MATLAB 的一大优势在于它的简单性 访问单个元素 o 修改矩阵的子集这是通过括号中的索引实现的: matriz(fila, columna).
例如:
A = [1 2 3; 4 5 6; 7 8 9];
elemento = A(2,2); % Devuelve 5
A(3,1) = 10; % Cambia el 7 por un 10要选择整行或整列,请使用运算符 ::
fila2 = A(2,:); % Toda la fila 2
columna3 = A(:,3); % Toda la columna 3
submatriz = A(1:2,1:2); % Extrae un bloque 2x2MATLAB 还允许使用向量作为索引进行更高级的元素选择:
filas = [1 3];
cols = [2 3];
sub = A(filas, cols);这将提取具有行 1 和 3、列 2 和 3 的子矩阵。
修改现有矩阵除了访问项目之外,您还可以 修改数组的任何部分您甚至可以更改整行或整列:
A(2,1) = 100; % Cambia el valor en la fila 2, columna 1
A(:,3) = [7;8;9]; % Cambia toda la columna 3
A(3,:) = [1 2 3]; % Cambia toda la fila 3您甚至可以通过添加新列或行来扩展矩阵:
A(:,4) = [10;11;12]; % Añade una nueva columna
A = [A; [13 14 15 16]]; % Añade una nueva fila如果你想删除一列或一行,你可以使用空数组:
A(:,3) = []; % Elimina la columna 3
A(1,:) = []; % Elimina la fila 1数组连接连接矩阵意味着 将几个矩阵合并成一个更大的矩阵您可以水平(列)或垂直(行)进行此操作。
A = [1 2; 3 4];
B = [5 6];
C = [A; B]; % Une como nueva fila (si dimensiones encajan)
D = [A B']; % Añade B transpuesta como nueva columna请记住尺寸必须匹配,否则 MATLAB 将显示错误。
三维矩阵及更多MATLAB 还允许您使用 二维以上的矩阵例如,三维数组。数组的每一“层”都对应一个额外的维度。
A = rand(3,3,3);
valor = A(2,2,3);它们的访问方式相同:行、列和维度。
矩阵运算创建矩阵后,您可以通过多种方式对其进行操作。以下是一些示例:
标量乘法A = [1 2; 3 4];
B = 2 .* A; % Multiplica cada elemento por 2标量和C = 3 + A; % Suma 3 a cada elemento矩阵乘法A * B % Producto matricial tradicional
dot(U,V) % Producto escalar de vectores逆和行列式X = [1 2; 3 4];
invX = inv(X); % Inversa de la matriz
detX = det(X); % Determinante如果矩阵没有逆(是奇异的),MATLAB 将显示警告。
矩阵除法A / B % Equivale a A * inv(B)
B \ A % Equivale a inv(B) * A这些运算广泛用于求解方程组。
MATLAB 中的矩阵是一个功能强大且用途广泛的工具。从基本运算到使用逆矩阵或三维矩阵的高级计算,该环境使您能够清晰高效地执行各种类型的数学和科学任务。掌握它的用法将为您开启数值分析、科学编程和系统仿真的大门。
[相关网址=»https://www.polimetro.com/librerias-kicad-como-gestionarlas-crear-propias/»]
万用表精通工业和家用软件、开发和应用的专家。我们乐于充分利用市面上所有软件、程序、应用、工具和操作系统的潜力。