minus, -
减法
说明
示例
从数组减去标量
两个数组相减
创建两个数组 A
和 B
,然后从第一个数组 A
中减去第二个数组 B
。
A = [1 0; 2 4]; B = [5 9; 2 1]; C = A - B
C = 2×2
-4 -9
0 3
A
中元素都减少了 B
中对应元素值。
使用 -C
语法对 C
中的元素求反。
-C
ans = 2×2
4 9
0 -3
减去行和列向量
创建 1×2 行向量和 3×1 列向量,并将它们相减。
a = 1:2; b = (1:3)'; a - b
ans = 3×2
0 1
-1 0
-2 -1
结果是 3×2 矩阵,该矩阵中的每个 (i,j) 元素等于 (j) - b(i)
:
从矩阵中减去均值
创建矩阵 A
。通过减去均值来换算每列中的元素。
A = [1 9 3; 2 7 8]
A = 2×3
1 9 3
2 7 8
A - mean(A)
ans = 2×3
-0.5000 1.0000 -2.5000
0.5000 -1.0000 2.5000
减去表
自 R2023a 开始提供
创建两个表,并从一个表中减去另一个表。行名称(如果两者中都存在)和变量名称必须相同,但顺序不必相同。输出的行和变量与第一个输入的顺序相同。
A = table([1;2],[3;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
A=2×2 table
V1 V2
__ __
R1 1 3
R2 2 4
B = table([4;2],[3;1],VariableNames=["V2","V1"],RowNames=["R2","R1"])
B=2×2 table
V2 V1
__ __
R2 4 3
R1 2 1
C = A - B
C=2×2 table
V1 V2
__ __
R1 0 1
R2 -1 0
输入参数
A
, B
— 操作数
标量 | 向量 | 矩阵 | 多维数组 | 表 | 时间表
操作数,指定为标量、向量、矩阵、多维数组、表或时间表。输入 A
和 B
必须具有相同的大小或具有兼容的大小(例如,A
是一个 M
×N
矩阵,B
是标量或 1
×N
行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
整数数据类型的操作数不能为复数。
如果一个输入为
datetime
数组、duration
数组或calendarDuration
数组,则另一个输入中的数值将被视为一个 24 小时天的天数。
表或时间表形式的输入必须满足以下条件: (自 R2023a 起)
如果输入是表或时间表,则其所有变量都必须有支持该运算的数据类型。
如果只有一个输入是表或时间表,则另一个输入必须为数值或逻辑数组。
如果两个输入均为表或时间表,则:
两个输入必须具有相同的大小,或其中一个必须为单行表。
两个输入必须有相同名称的变量。但是,每个输入中的变量可以有不同的顺序。
如果两个输入均为表,并且都有行名称,则其行名称必须相同。但是,每个输入中的行名称可以有不同的顺序。
如果两个输入均为时间表,则其行时间必须相同。但是,每个输入中的行时间可以有不同的顺序。
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| datetime
| duration
| calendarDuration
| table
| timetable
复数支持: 是
扩展功能
tall 数组
对行数太多而无法放入内存的数组进行计算。
minus
函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
如果将
minus
用于单精度类型和双精度类型操作数,则生成代码得出的结果与 MATLAB® 得出的结果可能会有所不同。请参阅 单精度和双精度操作数的二元按元素运算 (MATLAB Coder)。
GPU 代码生成
使用 GPU Coder™ 为 NVIDIA® GPU 生成 CUDA® 代码。
用法说明和限制:
如果将
minus
用于单精度类型和双精度类型操作数,则生成代码得出的结果与 MATLAB 得出的结果可能会有所不同。请参阅 单精度和双精度操作数的二元按元素运算 (MATLAB Coder)。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
GPU 数组
通过使用 Parallel Computing Toolbox™ 在图形处理单元 (GPU) 上运行来加快代码执行。
minus
函数完全支持 GPU 数组。要在 GPU 上运行该函数,请将输入数据指定为 gpuArray
(Parallel Computing Toolbox)。有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
分布式数组
使用 Parallel Computing Toolbox™ 在集群的组合内存中对大型数组进行分区。
此函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
版本历史记录
在 R2006a 之前推出R2023a: 直接对表和时间表执行运算
minus
运算符支持直接对表和时间表执行运算,无效通过索引访问其变量。所有变量都必须具有支持该运算的数据类型。有关详细信息,请参阅Direct Calculations on Tables and Timetables。
R2020b: 隐式扩展更改会影响 calendarDuration
、datetime
和 duration
数组
从 R2020b 开始,当参量为 calendarDuration
、datetime
或 duration
数组时,minus
支持隐式扩展。在 R2020a 和 R2016b 之间,仅数值数据类型支持隐式扩展。
R2016b: 隐式扩展更改会影响运算符的参量
从 R2016b 开始增加了隐式扩展,以前返回错误的基本运算的一些参量组合现在能够生成结果。例如,以前无法对行和列向量执行加法运算,但现在这些操作数对加法运算是有效的。换句话说,[1 2] + [1; 2]
之类的表达式以前会返回大小不匹配错误,但现在可以正常执行了。
如果您的代码使用按元素运算符并依赖 MATLAB 以前对不匹配大小返回的错误,尤其是在 try
/catch
块内,那么您的代码可能不再捕获这些错误。
有关基本数组运算要求的输入大小的详细信息,请参阅基本运算的兼容数组大小。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)