MATLAB 帮助中心
数组左除
x = B.\A
x = ldivide(B,A)
x = B.\A 用 A 的每个元素除以 B 的对应元素。A 和 B 的大小必须相同或兼容。
B
A
如果 A 和 B 的大小兼容,则这两个数组会隐式扩展以相互匹配。例如,如果 A 或 B 中的一个是标量,则该标量与另一个数组的每个元素相结合。此外,具有不同方向的向量(一个为行向量,另一个为列向量)会隐式扩展以形成矩阵。
示例
x = ldivide(B,A) 是用 A 除 B 这一操作的替代方法,但很少使用。它可以启用类的运算符重载。
全部折叠
创建两个数值数组 A 和 B,并用第二个数组 A 除以第一个数组 B。
A = ones(2,3); B = [1 2 3; 4 5 6]; x = B.\A
x = 2×3 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667
创建一个标量 c,并用一个数值数组除以该标量。结果的大小与数组相同。
c
c = 2; D = [1 2 3; 4 5 6]; x = D.\c
x = 2×3 2.0000 1.0000 0.6667 0.5000 0.4000 0.3333
创建 1×2 行向量和 3×1 列向量,并将它们相除。
a = 1:2; b = (1:3)'; b .\ a
ans = 3×2 1.0000 2.0000 0.5000 1.0000 0.3333 0.6667
结果是一个 3×2 矩阵,其中矩阵中的每个 (i,j) 元素等于 b(i) .\ a(j):
b(i) .\ a(j)
a=[a1a2],b=[b1b2b3],b.\a=[b1.\a1b1.\a2b2.\a1b2.\a2b3.\a1b3.\a2].
自 R2023a 开始提供
创建两个表,并用第二个表除以第一个表。行名称(如果两者中都存在)和变量名称必须相同,但顺序不必相同。输出的行和变量与第一个输入的顺序相同。
B = table([1;2],[3;4],VariableNames=["V1","V2"],RowNames=["R1","R2"])
B=2×2 table V1 V2 __ __ R1 1 3 R2 2 4
A = table([4;2],[3;1],VariableNames=["V2","V1"],RowNames=["R2","R1"])
A=2×2 table V2 V1 __ __ R2 4 3 R1 2 1
x = B .\ A
x=2×2 table V1 V2 ___ _______ R1 1 0.66667 R2 1.5 1
操作数,指定为标量、向量、矩阵、多维数组、表或时间表。输入 A 和 B 必须具有相同的大小或具有兼容的大小(例如,A 是一个 M×N 矩阵,B 是标量或 1×N 行向量)。有关详细信息,请参阅基本运算的兼容数组大小。
M
N
1
如果 A 或 B 是整数数据类型,则另一个输入必须为相同的整数类型或为双精度标量。整数数据类型的操作数不能为复数。
表或时间表形式的输入必须满足以下条件: (自 R2023a 起)
如果输入是表或时间表,则其所有变量都必须有支持该运算的数据类型。
如果只有一个输入是表或时间表,则另一个输入必须为数值或逻辑数组。
如果两个输入均为表或时间表,则:
两个输入必须具有相同的大小,或其中一个必须为单行表。
两个输入必须有相同名称的变量。但是,每个输入中的变量可以有不同的顺序。
如果两个输入均为表,并且都有行名称,则其行名称必须相同。但是,每个输入中的行名称可以有不同的顺序。
如果两个输入均为时间表,则其行时间必须相同。但是,每个输入中的行时间可以有不同的顺序。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | char | table | timetable 复数支持: 是
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
logical
duration
char
table
timetable
按元素运算符 ./ 和 .\ 通过等式 A./B = B.\A 相互关联。
./
.\
A./B = B.\A
除以整数时,使用 idivide 可获得更多四舍五入选项。
idivide
MATLAB® 不支持复整数除法。
全部展开
ldivide 函数完全支持 tall 数组。有关详细信息,请参阅 tall 数组。
ldivide
用法说明和限制:
如果将 ldivide 用于单精度类型和双精度类型操作数,则生成代码得出的结果与 MATLAB 得出的结果可能会有所不同。请参阅 单精度和双精度操作数的二元按元素运算 (MATLAB Coder)。
请参阅“C/C++ 代码生成”部分中的用法说明和限制。同样的用法说明和限制也适用于 GPU 代码生成。
backgroundPool
ThreadPool
ldivide 函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
ldivide 函数支持 GPU 数组输入,但有以下用法说明和限制:
如果任何输入操作数是稀疏 gpuArray,则除数必须为标量。
gpuArray
有关详细信息,请参阅在 GPU 上运行 MATLAB 函数 (Parallel Computing Toolbox)。
ldivide 函数完全支持分布式数组。有关详细信息,请参阅使用分布式数组运行 MATLAB 函数 (Parallel Computing Toolbox)。
ldivide 运算符支持直接对表和时间表执行运算,无效通过索引访问其变量。所有变量都必须具有支持该运算的数据类型。有关详细信息,请参阅Direct Calculations on Tables and Timetables。
从 R2020b 开始,当参量是 duration 数组时,ldivide 支持隐式扩展。在 R2020a 和 R2016b 之间,仅数值数据类型支持隐式扩展。
从 R2016b 开始增加了隐式扩展,以前返回错误的基本运算的一些参量组合现在能够生成结果。例如,以前无法对行和列向量执行加法运算,但现在这些操作数对加法运算是有效的。换句话说,[1 2] + [1; 2] 之类的表达式以前会返回大小不匹配错误,但现在可以正常执行了。
[1 2] + [1; 2]
如果您的代码使用按元素运算符并依赖 MATLAB 以前对不匹配大小返回的错误,尤其是在 try/catch 块内,那么您的代码可能不再捕获这些错误。
try
catch
有关基本数组运算要求的输入大小的详细信息,请参阅基本运算的兼容数组大小。
rdivide | mldivide | mrdivide | idivide
rdivide
mldivide
mrdivide
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处