i need to code speed ..anyone can help me? Getting rid of the loop would be a good start

2 次查看(过去 30 天)
v=[1 0 0 1];
d=[0.3 0 0 0.4]
d = 1×4
0.3000 0 0 0.4000
n="lp";
count=1;
gg=find(v)
gg = 1×2
1 4
clear b
g={'Cycle n.',count}
g = 1×2 cell array
{'Cycle n.'} {[1]}
j=1; %
j = 1
for h=1:numel(gg)
b{j,h}={[g,gg(h),d(gg(h))]};
end
  6 个评论
pipor
pipor 2023-9-4
编辑:pipor 2023-9-4
because I'm working on a laptop and on a lot of data it happened that I got the error about the memory..hence thinking about not making three-dimensional matrices
however I am modifying the code..maybe I make it clearer
Bruno Luong
Bruno Luong 2023-9-4
编辑:Bruno Luong 2023-9-4
But you have very bad start. This data organization is awful. We warn you, with such data you'll have speed, memory, and coding problems later.

请先登录,再进行评论。

采纳的回答

Bruno Luong
Bruno Luong 2023-9-4
clear
v=[1 0 0 1];
d=[0.3 0 0 0.4];
count=1;
gg=find(v);
g={'Cycle n.',count};
j=1;
clear b
for h=1:numel(gg)
b{j,h}={[g,gg(h),d(gg(h))]};
end
% you want horrible code to store horrible data, here we go
bb = num2cell(num2cell([ repmat(g,[numel(gg) 1]) num2cell([ gg' d(gg)' ])], 2)');
isequal(bb,b)
ans = logical
1
  1 个评论
pipor
pipor 2023-9-4
you want horrible code to store horrible data, here we go :D
thank but i write :"however I am modifying the code..maybe I make it clearer"
however I accept your work

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by