gpt4 book ai didi

arrays - Matlab代码性能提升

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:06:19 27 4
gpt4 key购买 nike

我有一个矩阵 A (MxN) 并且需要使用 A 创建一个矩阵 B (MxNxN) 使得 B(:,1,1) = A(:,1), B(:,2,2) = A(:,2),..., B(:,N,N) = A(:,N)。目前我在用,

B = zeros(size(A,1), size(A,2), size(A,2));
for i=1:size(B,3)
B(:,i,i) = A(:,i);
end

是否可以使用 repmat 或任何其他方法使这段代码运行得比现在更快?

最佳答案

可以使用 "partial" linear indexing 来完成在B的最后两个维度上,如下:

[M, N] = size(A);
B = zeros(M, N, N);
B(:, 1:N+1:N^2) = A;

关于arrays - Matlab代码性能提升,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31776412/

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