You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MATLAB中如何无需for循环将矩阵每行减去指定向量?

无需循环的矩阵行向量减法实现

当然可以!不管你用Python的NumPy还是MATLAB这类数值计算工具,都能直接通过广播机制实现这个需求,完全不用写for循环。

Python NumPy实现步骤

  1. 先导入NumPy并定义你的矩阵和向量:
import numpy as np

# 定义矩阵M
M = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
])
# 定义向量V
V = np.array([1, 1, 1])
  1. 直接执行减法操作:
result = M - V
print(result)

执行后会输出你想要的结果:

[[0 1 2]
 [3 4 5]
 [6 7 8]]

原理说明

NumPy的广播机制会自动识别维度匹配规则:当你用二维矩阵减去一维向量时,它会把向量自动扩展成和矩阵行数相同的二维矩阵(每一行都是[1,1,1]),然后逐元素进行减法运算,省去了手动循环的麻烦。

MATLAB实现(如果用MATLAB的话)

逻辑完全一样,直接写:

M = [1 2 3; 4 5 6; 7 8 9];
V = [1 1 1];
result = M - V;

运行后同样会得到目标矩阵。

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:32:19