Similar code as vec2ind function for MATLAB coder?
6 次查看(过去 30 天)
显示 更早的评论
Hi
I want a code that give similar function as vec2ind.
I found this code sum( repmat((1:size(vec,1)).', 1, size(vec,2)) .* vec)
but this code doesn't give same result as vec2ind
for example vec= [1;0;1;0;1;1;5;0]
The result of vec2ind is 7.
The result of sum( repmat((1:size(vec,1)).', 1, size(vec,2)) .* vec) is 50.
How can get exactly same result?. I want to transfer This matlab code to c++.
Thank you.
0 个评论
回答(1 个)
Sathvik
2024-11-11,9:53
Hi,
To use a similar function as vec2ind, you can use the following code which supports code generation:
vec = [1;0;1;0;1;1;5;0];
wasMatrix = ~iscell(vec);
x = {vec};
y = cell(size(x));
for i=1:numel(x)
[~,y{i}] = max(x{i},[],1);
end
if wasMatrix
y = y{1};
end
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!