15

在matlab中,删除矩阵A的第二行是

A(2,:) = [];

如何在Julia中删除一行矩阵?我尝试使用A(2,:) = []. 但我失败了。如何解决这个问题呢?

4

4 回答 4

19

你不能从矩阵中删除一行——Matlab 有简单的语法这一事实有点陷阱,因为你必须删除一行的实际方法是创建一个没有该行的副本,所以我们决定这样做明确的,从而具有更透明的性能特征。您可以更改一维数组的大小,例如做push!(v,x)pop!(v)

于 2013-06-25T14:19:12.817 回答
9

我认为这是最短的答案 A[1:size(A,1) .!= 2,: ]

https://groups.google.com/forum/#!topic/julia-dev/goVB9Pp74H4

于 2015-10-15T12:24:05.633 回答
6

我不知道关于 Julia 的第一件事,但我认为它使用方括号 ( []) 进行索引,因此您应该尝试以下操作:

A[2, :] = []

我手头没有 Julia 解释器来测试它,但如果它也失败了,那么下面的方法肯定会起作用:

A = A[[1, 3:end], :]

它只是使用选择要保留的行的反向策略。

于 2013-06-25T13:53:04.100 回答
0

以下作品在 Julia 1.7.2

 a = [1 2 3; 4 5 6; 7 8 9]
 a[Not(1), :]
于 2022-02-21T12:17:42.437 回答