小编Tam*_*mes的帖子

如何从依赖于参数的 2d 数组定义 3d 数组?

我有一个二维矩阵

M = np.array([[0.5+t, 1, 1],
              [0.5, 0.5, t],
              [0.5, 1-t, 0.5]])
Run Code Online (Sandbox Code Playgroud)

我想为 $t$ 的几个值计算该矩阵的一些属性。我可以用 for 循环来做到这一点,但我想知道是否有一种方法可以不用循环来做到这一点。例如,创建一个 3d 数组,其中该数组的每个幻灯片都是一个 2d 数组,其中包含给定 t 的矩阵 M。

循环实现将是这样的。

import numpy as np

def M(t: float):
    return np.array([[0.5+t, 1, 1], [0.5, 0.5, t], [0.5, 1-t, 0.5]])

t_vec = np.linspace(0, 1, num=100)

norm = np.zeros_like(t_vec)
for i, t in enumerate(t_vec):
    matrix = M(t)
    norm[i] = np.linalg.norm(matrix)

Run Code Online (Sandbox Code Playgroud)

在本例中,我想计算矩阵的 2 范数并将所有值存储在数组中。

python numpy vectorization

1
推荐指数
1
解决办法
72
查看次数

标签 统计

numpy ×1

python ×1

vectorization ×1