- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
继续我的研究,
我需要另一个与 ismember
类似的逻辑,它的执行时间更快。我的这部分代码和矩阵。
StartPost =
14 50 30 1 72 44 76 68 63 80 25 41;
14 50 30 1 61 72 42 46 67 77 81 27;
35 23 8 54 19 70 48 75 66 79 2 84;
35 23 8 54 82 72 78 68 19 2 48 66;
69 24 36 52 63 47 5 18 11 82 1 15;
69 24 36 52 48 18 1 12 80 63 6 84;
73 38 50 7 1 33 24 68 29 20 62 84;
73 38 50 7 26 61 65 32 22 18 2 69]
for h=2:2:8,
...
done=all(ismember(StartPost(h,1:4),StartPost(h-1,1:4)));
...
end
我使用配置文件查看器检查了该代码。我在这部分得到了让我的代码执行缓慢的原因。
任何人都对这个逻辑有经验,请分享。谢谢
最佳答案
MATLAB 有几个 undocumented built-in functions这可以帮助您获得与其他函数相同的结果,而且速度更快。
在您的情况下,您可以使用 ismembc
:
done = all(ismembc(StartPost(h, 1:4), sort(StartPost(h-1, 1:4)))));
请注意,ismembc(A, B)
要求对矩阵 B
进行排序并且不包含任何 NaN 值。
这是您的示例的执行时间差:
tic
for h = 2:2:8
done = all(ismember(StartPost(h, 1:4), StartPost(h-1, 1:4)));
end
toc
Elapsed time is 0.029888 seconds.
tic
for h = 2:2:8
done = all(ismembc(StartPost(h, 1:4), sort(StartPost(h-1, 1:4))));
end
toc
Elapsed time is 0.006820 seconds.
这大约快了 50 倍。
关于matlab - 还有一个比ismember更快的类似逻辑是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12219298/
以下命令返回 1: ismember(-0.6, -1:.1:.9) 但下一个命令返回 0: ismember(-0.1, -1:.1:.9) 即使 -0.1 显然在 -1:.1:.9 中。 有人知道
我正在编写一个程序来测试字符串数组中是否存在字符串。我做了一个简单的函数来做到这一点: bool isMemberOfArrayStr(std::string str, std::string arr
opencv中matlab的ismember相当于什么? 我正在尝试将 matlab 代码转换为 opencv ( C/CPP )。为此,我需要将以下步骤转换为 Opencv。有人可以在这方面指导我吗
基于此XPages adding @Formulas in dialogList , 我的 dialogList1从两个连接的 View 中获取值:a和 b . 还有一个dialogList2 ,这取
isMember:: a -> [a] -> Bool isMember y [] = False isMember y (x:xs) = if y == x then True else
我需要创建一个名为 isMemeber 的递归 boolean 方法。该方法应该只接受两个参数:一个数组和一个值。如果在数组中找到该值,该方法应返回 true;如果在数组中未找到该值,则该方法应返回
假设我有两个数组: A:14 63 13 38 44 23 11 12 13 38 44 23 B:38 44 23 我正在尝试使用 ismembe
这是 ismember 的示例之一中描述的内容: Define two vectors with values in common. A = [5 3 4 2]; B = [2 4 4 4 6 8];
比如A是数字集合,b是元素。 我想测试b中的数是否是集合A的元素。 我知道 matlab 函数“ismember”可以做到这一点,但是当我使用它一百万次时它还不够快。 b=[1,2,9,100]; A
CriteriaBuilder 重载方法 isMember(...) 创建一个谓词来测试元素是否是集合的成员。 > Predicate isMember(E elem, Expression coll
我需要代码的这一部分更快地运行,因为它被多次调用。我是Matlab的新手,我觉得好像必须有一种方法来回去并不是那么简单。您可以提供任何有关如何提高我所拥有的速度或其他功能以帮助我执行此任务的帮助,我们
#include int isMember(); float calculatePrice(int,int,int); void printPlayer(); char name[4][100];
我试图在不同类的数组中寻找特定类的实例(在 TabBarViewController 中寻找特定 ViewController 的索引) 我有一个使用 type(of:) 检查类型的代码,但它不起作用
好吧,我正在尝试做一些很奇怪的事情。我正在尝试使用 CriteriaBuilder 和 CriteriaQuery 返回实体集合中包含给定对象的所有实体。我已经为此绞尽脑汁好几个小时了,相关文档很少而
我试图在 MATLAB 中执行逐行“ismember”,以便找出 Set 中 Input 的每个元素所在的位置。这是我到目前为止的工作。 function lia = ismemberrow(Inpu
如果我这样做 ismember([NaN 0 3 2],[0 NaN]) 那么输出是 0 1 0 0 我显然期望的地方 1 1 0 0 我试过了 ism
给定以下实体,如何构造 JPA 谓词以仅选择那些在其类别集中具有给定 ID 的类别的项目? @Entity public class Item { @Id private String id;
我在 Matlab 中使用 ismember 来查找向量 A 中不包含在向量 idx 中的整数。我想知道我是否可以使用更快的东西。 关于我的问题,我找到了 this answer但它在这里似乎不起作用
我有两个单元格,第一列作为字符串。我目前正在使用 ismember 来匹配两个单元格中的第一列元素。但 ismember 区分大小写。我无法使用 strcmpi 因为单元格大小不等。您能建议另一种方法
我在 Matlab 中使用 ismember 来查找向量 A 中不包含在向量 idx 中的整数。我想知道我是否可以使用更快的东西。 关于我的问题,我找到了 this answer但它在这里似乎不起作用
我是一名优秀的程序员,十分优秀!