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

如何在Python中无循环实现元素级幂运算?对标Matlab结果

Python实现Matlab无循环的向量化指数运算

当然可以用Python的numpy库实现,完全不需要循环,利用numpy的广播机制就能和Matlab的逻辑一致:

import numpy as np

x = np.array([1, 2, 3, 4])
y = np.array([1, 2, 3])
# 将x转为列向量,等价于Matlab中的x'
x_col = x.reshape(-1, 1)
z = 2 ** (x_col - y)
print(z)

运行结果:

[[1.   0.5  0.25]
 [2.   1.   0.5 ]
 [4.   2.   1.  ]
 [8.   4.   2.  ]]

原理说明

  • x.reshape(-1,1)将一维数组x转换为(4,1)的列向量,和Matlab里的转置操作x'效果相同。
  • numpy的广播机制会自动把(4,1)的列向量和(1,3)的行向量扩展为(4,3)的矩阵,逐元素执行减法运算,再对每个元素计算2的幂,全程不需要任何循环,效率和Matlab的向量化操作一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:10:44