gpt4 book ai didi

matlab - 有没有更好的方法来实现这个 MATLAB 代码?

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

Y = zeros(5000,10);y 是一个 5000 x 1 的预定义向量,由 1 到 10 的数字组成;

for i= 1:size(Y,1)
Y(i,y(i)) = 1;
end

有没有更好更简单的方法来实现这个,因为我的其余代码是矢量化的并且不包含任何 for 循环

最佳答案

你可以使用 bsxfun:

bsxfun(@eq,y,[1:10])

您可以使用 y(i)==[1:10] 创建每一行,而不是您的代码,它最终被包装在 bsxfun 中以进行矢量化。

另一个想法是索引计算:

Y((y-1).*5000+(1:5000).')=1;

关于matlab - 有没有更好的方法来实现这个 MATLAB 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35564591/

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