gpt4 book ai didi

matlab - MATLAB 中的二进制数组

转载 作者:太空宇宙 更新时间:2023-11-03 20:22:13 25 4
gpt4 key购买 nike

如果我有一个由 20 个数字组成的初始数组 A,顺序为 1 到 20,

 A = [1,2,3,4,5,...,20]

还有另一个随机数组B:

  B = [1, 15, 3, 20, 7]

并且想要输出一个列向量C的形式

  C = [1 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1]

请注意,C 在 B 具有值的索引处具有 1。

我尝试了以下方法:

n=20;
C = zeros(n, 1);
for i=1:length(B)
C(B(i))=1;
end

最佳答案

在一行中:

full(sparse(B,1,1,max(B),1))

你也可以删除 full函数,大多数matlab矩阵运算都可以处理稀疏矩阵。但这当然取决于您实际想做什么。

关于matlab - MATLAB 中的二进制数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10991577/

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