gpt4 book ai didi

arrays - Matlab 将向量转换为二进制矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 19:51:21 24 4
gpt4 key购买 nike

<分区>

我有一个大小为 (m,1) 的向量 v,其元素是从 1:n 中选取的整数。我想创建一个大小为 (m,n) 的矩阵 M,如果 v(i) = j,则其元素 M(i,j) 为 1,否则为 0。我不想使用循环,只想将其实现为简单的向量矩阵操作。

所以我首先想到,创建一个包含重复元素的矩阵

 M = v * ones(1,n) % this is a (m,n) matrix of repeated v

例如 v=[1,1,3,2]'m = 4 和 n = 3

M =
1 1 1
1 1 1
3 3 3
2 2 2

然后我需要创建一个大小为 (1,n) 的比较向量 c

c = 1:n
1 2 3

然后我需要进行一系列的逻辑比较

M(1,:)==c % this results in [1,0,0]
.
M(4,:)==c % this results in [0,1,0]

但是,我认为应该可以执行以紧凑矩阵表示法遍历每一行的最后步骤,但我很困惑并且对索引的了解不够。最终结果应该是

M =
1 0 0
1 0 0
0 0 1
0 1 0

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