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

MATLAB转Python:如何改写gamma_real截断代码?

MATLAB转Python:处理end索引问题

先明确你MATLAB第二行代码的作用:

gamma_real=gamma_real(1:(end-(T_cqi-1)));

它是保留数组前总长度 - (T_cqi-1)个元素,也就是去掉最后T_cqi-1个元素。

在Python的numpy中,没有直接的end关键字,但可以用负索引切片实现等价逻辑。你第一行转完的gamma_real是形状为(1, CQI_test.size*T_cqi)的二维数组,对应的Python代码可以写成:

# 直接用负索引,去掉最后T_cqi-1个元素
gamma_real = gamma_real[:, :-(T_cqi-1)]

# 也可以通过获取数组长度来明确实现,效果完全一致:
# total_len = gamma_real.shape[1]
# gamma_real = gamma_real[:, :total_len - (T_cqi-1)]

解释

  • 切片语法:-n表示取到倒数第n个元素之前的所有内容,对应MATLAB里的1:(end-n)
  • 因为你的数组是二维结构,用[:, :-(T_cqi-1)]对第二维(列)做切片,能保持第一维的结构不变。

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

火山引擎 最新活动