MATLAB Answers

compressing a code, help me

6 views (last 30 days)
Any one knows how to compress this code as much as possible?
for VetorN = fix((20*sqrt(2).^(0:5)))
[row,col] = size(VetorN);
i = (1: col);
discSt.N = VetorN(i);
VN = VetorN;
CD0 = VetorN *3;
if VetorN == 20
CD01 = CD0;
elseif VetorN == 28
CD02 = CD0;
elseif VetorN == 40
CD03 = CD0;
elseif VetorN == 56
CD04 = CD0;
else
CD05 = CD0;
end
pause()
end
MCD0 = [CD01 CD02 CD03 CD04 CD05]

  2 Comments

madhan ravi
madhan ravi on 2 Jul 2020
Why do you use pause()?
Cauli Vilela Ferreira
Cauli Vilela Ferreira on 2 Jul 2020
because generate a plot after each pause

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 2 Jul 2020
VetorN = fix( (20 * sqrt(2) .^ (0 : 5) ) )
MD0 = VetorN * 3;
MD0(end - 1) = [ ]

  4 Comments

Show 1 older comment
madhan ravi
madhan ravi on 2 Jul 2020
VetorN = fix( (20 * sqrt(2) .^ (0 : 5) ) );
MD0 = zeros(1, numel(VectorN);
for k = 1 : numel(VetorN)
MD0(k) = VetorN(k) * 3;
end
MD0(end - 1) = [ ]
Cauli Vilela Ferreira
Cauli Vilela Ferreira on 2 Jul 2020
How cant i add VetorN(1,5), i forgot to put in the code
for VetorN = fix((20*sqrt(2).^(0:5)))
[row,col] = size(VetorN);
i = (1: col);
discSt.N = VetorN(i);
VN = VetorN;
CD0 = VetorN *3;
if VetorN == 20
CD01 = CD0;
elseif VetorN == 28
CD02 = CD0;
elseif VetorN == 40
CD03 = CD0;
elseif VetorN == 56
CD04 = CD0;
elseif VetorN== 80
CD05 = CD0;
else
CD06 = CD0;
end
pause()
end
MCD0 = [CD01 CD02 CD03 CD04 CD05 CD06]
madhan ravi
madhan ravi on 2 Jul 2020
So remove the last line in my code ;)

Sign in to comment.

More Answers (1)

Image Analyst
Image Analyst on 2 Jul 2020
Not sure why it needs to be compressed as much as possible, but this will compress it as much as possible while giving the very same output:
MCD0=[60,84,120,168,339]
This assumes that after that you no longer need the component variables CD01, CD02, CD03, CD04, CD05, and CD06. If you still need those variables for some reason, then of course you'll need to compute them.

  0 Comments

Sign in to comment.


Translated by