MATLAB 中的二元运算

发布于 2024-11-03 15:20:03 字数 106 浏览 1 评论 0原文

我有两个向量 A = [1 0 0 0 0 1] 和 B = [1 0 0 1 0 1]。我想从matlab中的向量计算 (1,1) (1,0) (0,1) 和 (0,0) 的数量。知道如何搭配它。

I have two vectors A = [1 0 0 0 0 1] and B = [1 0 0 1 0 1]. I want to calculate the number of (1,1) (1,0) (0,1) and (0,0) from the vectors in matlab. Any idea how to go with it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

信愁 2024-11-10 15:20:03

您是否考虑过阅读 Matlab 教程?您可能比等待答案出现在这里更快地找到答案。

无论如何,用于逻辑与的 matlab 运算符是 &,用于逻辑非的运算符是 ~,并且两者都适用于 double 向量和矩阵(即按照您的问题定义时 A 和 B 的默认类型;所有非零值将被视为 1)。

完成所需的连接后,如果 x 的类型为逻辑类型或逻辑类型,则 sum(x) 将为您提供 x 中的个数。 double 仅包含 01

粗简形式:

>> bincomb = @(x,y) sum([x&y;x&~y;~x&y;~(x|y)]');
>> bincomb(A,B)

    ans =

         2     0     1     3

Did you consider reading a Matlab tutorial? You might have found an answer faster than waiting for it to appear here.

Anyway, the matlab operator for logical AND is &, and the one for logical negation is ~, and both work also on double vectors and matrices (i.e. the default type of which A and B are when defined as in your question; all non-zero values values will be treated like 1s).

Once you have made the required connection, sum(x) will give you the number of ones in x if x is of type logical or a double with only 0s and 1s.

Crude short form:

>> bincomb = @(x,y) sum([x&y;x&~y;~x&y;~(x|y)]');
>> bincomb(A,B)

    ans =

         2     0     1     3
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文