Vector not updating in while loop

1 次查看(过去 30 天)
The user will enter the length of several pipes as a vector (all positive integers). You must cut all the pipes into pieces using as few cuts as possible, but you can only make cuts the length of the smallest pipe left.
It only subtracts the minimum value from the original vector once and then it just continues counting without updating my vector.
pipe = input('Enter pipe lengths in []: ');
cut = 0;
while max(pipe) > 0
pipe = pipe - min(pipe);
cut = cut + 1;
end
fprintf('%g cuts are needed!',cut);

回答(1 个)

Cris LaPierre
Cris LaPierre 2021-10-13
It is replacing the current value of pipe with the new value. It sounds like you instead want to create a vector. See Ch 13 of MATLAB Onramp for you to create a vector using a for loop.
You might also consider borrowing from the examples on the for documentation page.

类别

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

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by