数学建模社区-数学中国

标题: 跪求matlab程序问题 [打印本页]

作者: xuyaocom    时间: 2006-5-4 21:58
标题: 跪求matlab程序问题

不知道matlab能否建立这样一个函数:他的变量是经过一系列条件判断,然后建立函数,即函数是跟着条件判断变的,如果不行,那又怎么办?谢谢

%第一年初
x0=[0.3 0.15 0.2 0.1 0.1 0.1 0.05 0 0 0 0.3 0.15 0.2 0.1 0.1 0.1 0.05 0 0 0 0.3 0.15 0.2 0.1 0.1 0.1 0.05 0 0 0.3 0.15 0.15 0.2 0.2 0.5 0.5 0]
a=20;
if a*x(5)~=0.05
     x(5)=0
     if a*x(1)>2
        a=a+a*x(1)*0.01;
        if (x(3)~=0)&(x(4)~=0)
           A2=(x(3)*0.2+x(4)*0.2)*a; %1年初同时投资项目3和4到第3年初的本利和
           else
           A2=(x(3)*0.2+x(4)*0.1)*a;   %1年初投资项目3和4中之一到第3年初的本利和
        end
        if (x(5)~=0)&(x(6)~=0)
           A3=(x(5)*0.1+x(6)*0.4)*a; %1年初同时投资项目5和6到第4年初的本利和
           else
           A3=(x(5)*0.4+x(6)*0.5)*a;   %1年初投资项目5和6中之一到第4年初的本利和
        end
     end
end
A1=(x(1)*1.5+x(2)*1.8)*a;%1年初投资项目1和2到第2年初的本利和
Q1=x(7)*a;
Q2=x(8)*a;
Q3=x(9)*a;
Q4=x(10)*a;
%第二年初
a1=A1+Q1;
if a1*x(15)~=0.05
   x(15)=0
   if a*x(11)>2
        a1=a1+a1*x(11)*0.01;
        if (x(13)~=0)&(x(14)~=0)
           B2=(x(13)*0.2+x(14)*0.5)*a1; %2年初同时投资项目3和4到第4年初的本利和
           else
           B2=(x(13)*0.5+x(14)*1.2)*a1;   %2年初投资项目3和4中之一到第4年初的本利和
        end
        if (x(15)~=0)&(x(16)~=0)
           B3=(x(15)*1.5'+x(16)*1.5)*a1; %2年初同时投资项目5和6到第5年初的本利和
           else
           B3=(x(15)*1.5+x(16)*1.8)*a1;   %2年初投资项目5和6中之一到第5年初的本利和
        end
     end
end
B1=(x(11)*1.2+x(12)*1.5)*a1;% 2年初投资项目1和2到第3年初的本利和
B4=x(17)*r27;               % 2年初投资项目7到第5年末的本利和
P1=x(18)*a1;
P2=x(19)*a1;
P3=x(20)*a1;
%三年初
a2=B1+A3+P1+Q2;
if a2*x(25)~=0.05
   x(25)=0
   if a2*x(21)>2
        a2=a2+a2*x(21)*0.01;
        if (x(23)~=0)&(x(24)~=0)
           C2=(x(23)*1.4+x(24)*1.4)*a2;% 3年初同时投资项目3和4到第5年初的本利和
           else
           C2=(x(23)*1.7+x(24)*1.8)*a2; % 3年初投资项目3和4其中之一到第5年初的本利和
        end
        if (x(25)~=0)&(x(26)~=0)&(x(27)~=0)
          C3=(x(25)*1.7+x(26)*1.7+x(27)*1.7)*a2; % 3年初同时投资项目5、6和8到第6年初的本利和
           elseif (x(25)~=0)&(x(26)~=0)
                  C3=(x(25)*1.7+x(26)*1.4+x(27)*1.7)*a2; % 3年初同时投资项目5、6不投资8到第6年初的本利和
            else
                  C3=(x(25)*1.7+x(26)*1.55+x(27)*1.35)*a2; % 3年初投资项目5、6和8其中之一到第5年初的本利和
        end
    end
end
C1=(x(21)*1.25+x(22)*1.24)*a2;% 3年初投资项目1和2到第4年初的本利和
S1=x(28)*a2;
S2=x(29)*a2;
%4年初
a3=C1+B2+A3+S1+P2+Q3;
if a3*x(30)>2
   a3=a3+a3*x(30)*0.01;
   if (x(32)~=0)&(x(33)~=0)
      D2=(x(32)*1.45+x(33)*1.24)*a3;% 4年初同时投资项目3和4到第6年初的本利和
      else
      D2=(x(32)*1.245+x(33)*1.24)*a3; % 4年初投资项目3和4其中之一到第6年初的本利和
   end
end
D1=(x(30)*1.45+x(31)*1.24)*a3;%4年初投资项目1和2到第5年初的本利和
O=x(34)*a3;
%5年初
a4=D1+C2+B3+O+S2+P3+Q4;
if a4*x(35)>2
   a4=a4+a4*x(35)*0.01;
E=(x(35)*1.24+x(36)*1.24)*a4;
R=X(37)*a4;
end
function z=fun(x)
z=E+D2+C3+B4+R


作者: chz0829    时间: 2006-6-3 00:53
这是什么玩意啊
作者: jayfeng1988    时间: 2009-4-25 09:38
好长啊   头大了
作者: chenvy    时间: 2009-5-21 23:49
什么啊这是




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5