数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 2293|回复: 1

请教一个截断切割问题!

[复制链接]
发表于 2004-8-29 19:54:42 | 显示全部楼层 |阅读模式
<>截断切割程序应当如何编写,小弟我的程序运行中途出错,希望大家指教!</P>
<>clear
clc
c=1;r=1;
%a=[6 3 1];%原长方体长分为三部分:左、中、右
%b=[7 2 5.5];%原长方体宽分为三部分:前、中、后
%h=[9 4 6];%原长方体高分为三部分:底、中、顶
%fee1=0;
Fee=[];
%u=[];
v=[1 2 3 4 5 6];
for i1=1:6
    u=[];%置空u,重新开始
    fee1=0;
    a=[6 3 1];
    b=[7 2 5.5];
    h=[9 4 6];
    u=[u,v(i1)];
    v1=v;
    v1(i1)=[];
    for i2=1:5
        u=[u,v1(i2)];
        v2=v1;
        v2(i2)=[];
        a=[6 3 1];
        b=[7 2 5.5];
        h=[9 4 6];
        for i3=1:4
            u=[u,v2(i3)];
            v3=v2;
            v3(i3)=[];
            a=[6 3 1];
            b=[7 2 5.5];
            h=[9 4 6];
            for i4=1:3
                u=[u,v3(i4)];
                v4=v3;
                v4(i4)=[];
                a=[6 3 1];
                b=[7 2 5.5];
                h=[9 4 6];
                for i5=1:2
                    u=[u,v4(i5)];
                    v5=v4;
                    v5(i5)=[];
                    u=[u,v5];
                    a=[6 3 1];
                    b=[7 2 5.5];
                    h=[9 4 6];
                    for i=1:6
                        u(i);
                        
                        switch u(i)
                            case 1
                                fee=c*sum(b)*sum(h);
                                a(1)=[];
                            case 2
                                fee=c*sum(b)*sum(h);
                                a0=length(a)
                                a(a0)=[];
                            case 3
                                fee=c*sum(a)*sum(h);
                                b(1)=[];
                            case 4
                                fee=c*sum(a)*sum(h);
                                b0=length(b)
                                b(b0)=[];
                            case 5
                                fee=r*c*sum(a)*sum(b);
                                h(1)=[];
                            case 6
                                fee=r*c*sum(a)*sum(b);
                                h0=length(h)
                                h(h0)=[];
                         end
                         fee1=fee1+fee;
                    end
                    Fee=[Fee,fee1];
                    u(6)=[];%置空u的第六个元素
                end
                u(5)=[];
            end
            u(4)=[];
        end
        u(3)=[];
    end
    u(2)=[];
end
Feemin=min(Fee)</P>
 楼主| 发表于 2004-8-29 23:22:28 | 显示全部楼层
^_^,我自己想出来了,不用大家帮忙了!上面的程序有些问题,大家自己想想吧!
[此贴子已经被作者于2004-9-25 12:02:41编辑过]

您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 18:38 , Processed in 0.058815 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表