Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1;
- clear;
- clc;
- function v=c(x)
- if(x==0)
- v=0;
- else
- v=(50+10*x)*x;
- endif
- endfunction
- function v=p(x)
- v=8*x;
- endfunction
- kmax=[0 10 12 8 5 6 2];
- e=[2 7 1 2 6 1];
- x=zeros(15,1);
- kmin=[0 0 0 0 0 0 2];
- x_opt=[0 0 0 0 0 0];
- min=1000;
- for i=1:6
- for k=kmin(i+1):kmax(i+1)
- if(((kmin(i)-k+e(i))>=0) && ((kmin(i)-k+e(i))<=5))
- x(k+1)=kmin(i)-k+e(i);
- xs(k+1)=p(kmin(i))+c(x(k+1));
- else
- xs(k+1)=500000;
- endif
- if(min>xs(k+1))
- min=xs(k+1);
- mink=k;
- endif
- x_opt(i)=kmin(i)-mink+e(i);
- kmin(i+1)=mink;
- if(i==1)
- w(i)=min;
- else
- w(i)=w(i-1)+min;
- endif
- endfor
- min=1000;
- endfor
- for i=7:-1:1
- x_opt_again=[0 x_opt];
- w_opt(i-length(i)+1)=p(kmin(i))+c(x_opt_again(i));
- endfor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement