Промышленный лизинг Промышленный лизинг  Методички 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [ 50 ] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

umx=zeros(nn,l); umx(2) = um(l); for ii=3:nn

umx(ii)=umx(ii-1) + um(ii-l);

xmt=(1-fr)*xm(it)+fr*xm(it+1);

% End-points of the time intervals

qt=nn*um(floor(it), 1)*(t-hs*(it-1))+umx(floor(it),1) ;% time t ll=abs (xmt-(1/2)*qt);

ff=nn*ll*um(floor(it),1); %x(t)-1/2*t Project1 4 2.m

%A different case with the target function is (x(t)-1/2*t)2

function ff = project1 4 2(t,it,z,yin,hs,um,xm,lm,ps)

nn=1/hs;

fr=nn*mod(t,hs);

umx=zeros(nn,1);

umx(2) = um(1);

for ii=3:nn

umx(ii)=umx(ii-1) + um(ii-1);

xmt=(1-fr)*xm(it)+fr*xm(it+1);

qt=nn*um(floor(it) , 1)*(t-hs*(it-1))+umx(floor(it),1);% time t ll=(xmt-(1/2)*qt)2;

ff=nn*ll*um(floor(it),1) ; %(x(t)-1/2*t)2 Project1 4 3.m

% A different case with target is xc(t)-0.4*(t2)

function ff = project1 4 3(t,it,z,yin,hs,um,xm,lm,ps)

nn=1/hs;

fr=nn*mod(t,hs);

umx=zeros(nn,1);

umx(2) = um(1);

for ii=3:nn

umx(ii)=umx(ii-1) + um(ii-1);

xmt=(1-fr)*xm(it)+fr*xm(it+1);

qt=nn*um(floor(it),1)*(t-hs*(it-1))+umx(floor(it),1); ll=abs (xmt-0.4*(qt2));

ff=nn*ll*um(floor(it),1); % x(t)-0.4*(t*2) project 1 4 4.m

% a different case with target is x(t)-0.8*(t*2)



function ff = project1 4 4(t,it,z,yin,hs,um,xm,lm,ps) nn=1/hs;

fr=nn*mod(t,hs); umx=zeros (nin, 1) ; umx(2) = um(1); for ii=3:nn

umx(ii)=umx(ii-1) + um(ii-1);

xmt=(1-fr)*xm(it)+fr*xm(it+1);

qt=nn*um(floor(it),1)*(t-hs*(it-1))+umx(floor(it),1); ll=abs (xmt-0.8*(qt2));

ff=nn*ll*um(floor(it),1); % x(t)-0.8*(t*2)

2. Program B: Financial Oscillator Model in Chapter 3

Project2 1.m

%Program for project2, oscillator problem in chapter 3

function project2 1=project2 1(nb,ns) % nb is big interval of time

t and ns is small interval

par = [2,1,nb,ns];

xinit= [3,5];

%xinit= [6,5];

%par=[1,1,nb,ns];

%xinit=0.0;

nb=par(3); % big intervals ns=par(4); % small intervals nn=nb*ns; %total intervals options(13)=1; options(14)=10000; um0=ones(nb,1)/nb;

%um0=[ 0.00168225289917 0.12189477200848 0.64070279483764 0.23572018024164];

%um0=[0.39023521914983 0.39023521914983 0.10976478085245

0.10976478085245];

%um0 = [0 0.1390,0.5714,0.2896];

ul=zeros(nb,1); uu=ones(nb,1);

um=constr(1project2 2,um0,options,ul.uu,[],xinit,par) [f,g,xm] = project2 2(um,xinit,par) sm=zeros(nn,1); v=zeros(nn,1); for ii =1: nb

for jj= 1:ns

sm((ii-1)*ns+jj)=um(ii)/ns;

v(1)=sm(1);



for ii=2:nn

v(ii)=sm(ii)+v(ii-1) ;

v(nn)=0.9999999999999;

s=zeros(nn+1,1);

s(1)=0;

for ii = 2: nn+1

s(ii)=v(ii-1);

end s

figure;

plot(s,xm(:, 1),1ob-)

hold on;

t=[0:1/8

plot(t,-5*t+5, *+r:) %plot (t,0.4*t.2 +r-) %plot(t,t,1+r)

xlabeLOTime T)

ylabel(1State function xm and given fit function -5*t+t) figure;

plot(xm(:,1),xm(:,2) *b-) xlabeKstate function xml) ylabeKstate function xm2) %title(*plot of switching time equal two)

%Project2 2.m integral

function [f,g,xm] = project2 2(um, xinit, par)

nx=par(1);

nu=par(2);

nb=par(3);

ns=par(4); % ns is small interval nn=par(3)*par(4) ; % nn is total interval sm=zeros(nn,1); for ii =1: nb

for jj= 1:ns

sm((ii-1)*ns+jj)=um(ii)/ns;

xm=zeros(nn+1,nx);

xm(1,:)=xinit;

lm=zeros(nn+1,nx);

ma=nx;

t=0;

it = 1;

hs=1/nn;

px= project2 3;

xm=nqq(px,nx,nu,nn,xm,ma,t,it,hs,sm,xm,lm,ns);

zz=zeros(nn+1,nx);

zz(1,:) = 0;



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 [ 50 ] 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67