sliceprocess.m

来自「数学问题:实用下料中下料方式」· M 代码 · 共 32 行

M
32
字号
function [wayOfCutting, numOfMeterial, L] = SliceProcess(P, lenOfM)
global Array;
lenOfArray = length(Array);
i = 1;
total = 0;
way = [];
surplus = [];
wayOfCutting = {};
numOfMeterial = 0;
while (i <= lenOfArray)
    total = total + Array(P(i));
    if (total <= lenOfM) && (i ~= lenOfArray)
        way = [way;Array(P(i))];
    elseif (total <= lenOfM) && (i == lenOfArray)
        way = sort(way);
        surplus = [surplus;lenOfM - total];
        wayOfCutting = AddWay(wayOfCutting, way);
        
    else
        way = sort(way);
        surplus = [surplus;lenOfM - (total - Array(P(i)))];
        wayOfCutting = AddWay(wayOfCutting, way);
        way = [];
        total = 0;
        i = i - 1;
    end
    i = i + 1;
end
numOfMeterial = length(surplus);
L = surplus(numOfMeterial);
        

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?