Build array from descriptive data without a loop
显示 更早的评论
I want to go from
Array1 = [10,3,3;1000,178,4];
to
Array2 = [10;13;16;1000;1178;1356;1534];
without using
Idx2 = 1;
Array2 = zeros(sum(Array1(:,3)),1);
for Idx1 = 1:size(Array1,1)
Array2(Idx2:Idx2+Array1(Idx1,3)-1) = [Array1(Idx1,1),Array1(Idx1,1)+[1:Array1(Idx1,3)-1].*Array1(Idx1,2)];
Idx2 = Idx2+Array1(Idx1,3)-1;
end
Help?
采纳的回答
更多回答(1 个)
Array1 = [10,3,3;1000,178,4];
Array2 = cumsum(Array1,2)
2 个评论
Walter Roberson
2023-2-17
Tthe third column is the number of elements to generate, with the difference being the second column, and the starting point being the first column.
Kevin Holly
2023-2-17
ah, thanks for pointing that out.
类别
在 帮助中心 和 File Exchange 中查找有关 Image Arithmetic 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!