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 个评论

Why do you use pause()?
because generate a plot after each pause

请先登录,再进行评论。

 采纳的回答

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

4 个评论

However the 'foor loop' is required :C
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) = [ ]
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]
So remove the last line in my code ;)

请先登录,再进行评论。

更多回答(1 个)

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.

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by