Add operation is too slow
이전 댓글 표시
Hi! I have some operation of summing two arrays (vd, bd) of different lengths ((vl + 1)^2 and ((bd + 1)^2). I can't do summing as d = vd + bd (error: different lengths). How can I do this operations faster? I compile MEX, but this did not give the required increase in speed. I need speed up adding because it using around 20 million
function [l, d] = add(vl, vd, bl, bd, lmax)
l = max([vl, bl, lmax]);
d = zeros((l + 1)^2, 1);
i = 1:(vl + 1)^2;
j = 1:(bl + 1)^2;
d(i) = d(i) + vd(i);
d(j) = d(j) + bd(j);
end
댓글 수: 2
KALYAN ACHARJYA
2021년 5월 27일
Can you share the detail example? What would be the result in the following case?
vd=[1 2 3]
bd=[4 5 6 7]
Igor Arkhandeev
2021년 5월 27일
채택된 답변
추가 답변 (1개)
vd=[1 2 3];
bd=[4 5 6 7];
N=max(numel(vd), numel(bd));
vd(end+1:N)=0;
bd(end+1:N)=0;
d=vd+bd
카테고리
도움말 센터 및 File Exchange에서 Write C Functions Callable from MATLAB (MEX Files)에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!