xuyaocom 发表于 2006-5-4 21:58

跪求matlab程序问题

<p>不知道matlab能否建立这样一个函数:他的变量是经过一系列条件判断,然后建立函数,即函数是跟着条件判断变的,如果不行,那又怎么办?谢谢</p><p>%第一年初<br/>x0=<br/>a=20;<br/>if a*x(5)~=0.05<br/>&nbsp;&nbsp;&nbsp;&nbsp; x(5)=0<br/>&nbsp;&nbsp;&nbsp;&nbsp; if a*x(1)&gt;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a=a+a*x(1)*0.01;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (x(3)~=0)&amp;(x(4)~=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A2=(x(3)*0.2+x(4)*0.2)*a; %1年初同时投资项目3和4到第3年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A2=(x(3)*0.2+x(4)*0.1)*a;&nbsp;&nbsp; %1年初投资项目3和4中之一到第3年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (x(5)~=0)&amp;(x(6)~=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A3=(x(5)*0.1+x(6)*0.4)*a; %1年初同时投资项目5和6到第4年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A3=(x(5)*0.4+x(6)*0.5)*a;&nbsp;&nbsp; %1年初投资项目5和6中之一到第4年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br/>&nbsp;&nbsp;&nbsp;&nbsp; end<br/>end<br/>A1=(x(1)*1.5+x(2)*1.8)*a;%1年初投资项目1和2到第2年初的本利和<br/>Q1=x(7)*a;<br/>Q2=x(8)*a;<br/>Q3=x(9)*a;<br/>Q4=x(10)*a;<br/>%第二年初<br/>a1=A1+Q1;<br/>if a1*x(15)~=0.05<br/>&nbsp;&nbsp; x(15)=0<br/>&nbsp;&nbsp; if a*x(11)&gt;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a1=a1+a1*x(11)*0.01;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (x(13)~=0)&amp;(x(14)~=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B2=(x(13)*0.2+x(14)*0.5)*a1; %2年初同时投资项目3和4到第4年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B2=(x(13)*0.5+x(14)*1.2)*a1;&nbsp;&nbsp; %2年初投资项目3和4中之一到第4年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (x(15)~=0)&amp;(x(16)~=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B3=(x(15)*1.5'+x(16)*1.5)*a1; %2年初同时投资项目5和6到第5年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B3=(x(15)*1.5+x(16)*1.8)*a1;&nbsp;&nbsp; %2年初投资项目5和6中之一到第5年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br/>&nbsp;&nbsp;&nbsp;&nbsp; end<br/>end<br/>B1=(x(11)*1.2+x(12)*1.5)*a1;% 2年初投资项目1和2到第3年初的本利和<br/>B4=x(17)*r27;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; % 2年初投资项目7到第5年末的本利和<br/>P1=x(18)*a1;<br/>P2=x(19)*a1;<br/>P3=x(20)*a1;<br/>%三年初<br/>a2=B1+A3+P1+Q2;<br/>if a2*x(25)~=0.05<br/>&nbsp;&nbsp; x(25)=0<br/>&nbsp;&nbsp; if a2*x(21)&gt;2<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; a2=a2+a2*x(21)*0.01;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (x(23)~=0)&amp;(x(24)~=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C2=(x(23)*1.4+x(24)*1.4)*a2;% 3年初同时投资项目3和4到第5年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C2=(x(23)*1.7+x(24)*1.8)*a2; % 3年初投资项目3和4其中之一到第5年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (x(25)~=0)&amp;(x(26)~=0)&amp;(x(27)~=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C3=(x(25)*1.7+x(26)*1.7+x(27)*1.7)*a2; % 3年初同时投资项目5、6和8到第6年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; elseif (x(25)~=0)&amp;(x(26)~=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C3=(x(25)*1.7+x(26)*1.4+x(27)*1.7)*a2; % 3年初同时投资项目5、6不投资8到第6年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C3=(x(25)*1.7+x(26)*1.55+x(27)*1.35)*a2; % 3年初投资项目5、6和8其中之一到第5年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br/>&nbsp;&nbsp;&nbsp; end<br/>end<br/>C1=(x(21)*1.25+x(22)*1.24)*a2;% 3年初投资项目1和2到第4年初的本利和<br/>S1=x(28)*a2;<br/>S2=x(29)*a2;<br/>%4年初<br/>a3=C1+B2+A3+S1+P2+Q3;<br/>if a3*x(30)&gt;2<br/>&nbsp;&nbsp; a3=a3+a3*x(30)*0.01;<br/>&nbsp;&nbsp; if (x(32)~=0)&amp;(x(33)~=0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D2=(x(32)*1.45+x(33)*1.24)*a3;% 4年初同时投资项目3和4到第6年初的本利和<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D2=(x(32)*1.245+x(33)*1.24)*a3; % 4年初投资项目3和4其中之一到第6年初的本利和<br/>&nbsp;&nbsp; end<br/>end<br/>D1=(x(30)*1.45+x(31)*1.24)*a3;%4年初投资项目1和2到第5年初的本利和<br/>O=x(34)*a3;<br/>%5年初<br/>a4=D1+C2+B3+O+S2+P3+Q4;<br/>if a4*x(35)&gt;2<br/>&nbsp;&nbsp; a4=a4+a4*x(35)*0.01;<br/>E=(x(35)*1.24+x(36)*1.24)*a4;<br/>R=X(37)*a4;<br/>end<br/>function z=fun(x)<br/>z=E+D2+C3+B4+R</p>

chz0829 发表于 2006-6-3 00:53

这是什么玩意啊

jayfeng1988 发表于 2009-4-25 09:38

好长啊   头大了

chenvy 发表于 2009-5-21 23:49

什么啊这是
页: [1]
查看完整版本: 跪求matlab程序问题