gpt4 book ai didi

matrix - 在 Mathematica 中删除矩阵列的简单方法

转载 作者:行者123 更新时间:2023-12-04 05:58:08 26 4
gpt4 key购买 nike

我正在尝试删除 mathematica 中的两个矩阵。一种不优雅的方式是我在下面做的,即将它在一个新矩阵中指定为

S = Table[
Ss[[If[i < t, i, i + 1]]][[If[j < t, j, j + 1]]], {i, q}, {j, q}];

目标是消除行和列 t。

确实删除一行很容易 Delete[Ss,t]。对于列我想我可以做
Transpose[Delete[Transpose[Ss,t]]]  

我主要关心的是以最快的方式执行它。

更一般地说,是否有一个 Mathematica 运算符可以像对行进行切片和切块一样容易,而无需求助于转置?

最佳答案

我认为您正在寻找:

Drop[Ss,{t},{t}]  

时间:
ClearAll["Global`*"];

First@Timing[a = RandomInteger[1000, {5000, 5000}];]
0.34

First@Timing[Drop[a, {2}, {2}]]
0.11

尽管
First@Timing[Transpose@Delete[Transpose@Delete[a, 2], 2]]
0.5

关于matrix - 在 Mathematica 中删除矩阵列的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5289350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com