【发布时间】:2020-05-17 12:14:36
【问题描述】:
我需要删除附近只有零或值的行,比如 0 +/- 1e-20。 例如:
A=[ 7 8
1e-18 4
0 0
1e-19 0]
在这种情况下,结果应该是:
A=[7 8
1e-18 4]
我找到了以下代码,但这仅适用于完全为零的情况。
A = A(any(A,2),:)
【问题讨论】:
我需要删除附近只有零或值的行,比如 0 +/- 1e-20。 例如:
A=[ 7 8
1e-18 4
0 0
1e-19 0]
在这种情况下,结果应该是:
A=[7 8
1e-18 4]
我找到了以下代码,但这仅适用于完全为零的情况。
A = A(any(A,2),:)
【问题讨论】:
首先将所有那些“技术上为零”的值归零。
A(A<1e-10)=0; % or any other threshold, depends on your application.
【讨论】:
R(R<1e-10 && R>1e-10)=0我怎样才能写对?
R<1e-10 && R>1e-10。您正在选择严格小于1e-10 但同时(AND、&&)它们也必须严格大于1e-10 的所有 R 值。没有任何值同时小于和大于常量同时。它在数学上是不可能的。只需检查它们是否大于零............
R(R<1e-10 && R>-1e-10)=0 如果我不检查第二种情况,例如-3 也会变为零。
R(R<1e-10 & R>-1e-10)=0