help me solve this...what i need is if anybody can change this codes from part 2 to part 5 but still use the same concept. the output must in negative and positive value. pls email me..cinok777@yahoo.com

% PART I --------The calculation of deflection and effective stiffness for a force at One End------

format long
A=7183e-6; %Rail properties based on British Section BS 113 A
E=200e9;
l=0.6;
T=20e6;

k=A*E/l;
k1=2.15e8;
k2=2.15e8;

d1=0.001; %The calculation of rail deflection, force and stiffness from left hand side
d2=(1+(k1/k))*d1; % of the track
dLeft=[d1 d2];

S= input(' Enter the number of sleeper panels for the whole track: ')

for s=2:S;
dLeft(s+1)=(2+(T/k))*dLeft(s)-dLeft(s-1);
end

for s=2:S+1;
FLeft(s)=k*((1+(T/k))*dLeft(s)-dLeft(s-1));
end

dLeft;
FLeft;
FdLeft=FLeft./dLeft;

%The calculation of rail deflection, force and stiffness from the right hand side of
%the track
%Specify deflection at node S and calculate deflection for the rest of the
%track i.e from S-1 to node 1. Calculate forces for node S to node 1 and
%divide force over deflection to get stiffness

dS=0.001;
dM=(1+(k2/k)+(T/k))*dS;

dRight=[dS dM];

for M=3:S;
dRight(M)=(2+(T/k))*dRight(M-1)-dRight(M-2);
end

for M=2:S;
FRight(M)=k*(dRight(M)-dRight(M-1));
end

dRight;
FRight;
FdRight=FRight./dRight;

%Program section II
%---Sleeper J For Locomotives And Wagons------

%Define wagon and locomotive arrangement.

Wagon= input ('Enter the number of wagons:')
Loco=input('Enter the number of locomotives:')
Axle_w=2;
Axle_l=2;

%Define the first sleeper panel of the train and the number of sleepers
%between each axle of the locomotives/wagon.

s1=input('Enter the first sleeper panel(wagon):')
sw_1=input('Enter the number of sleepers within wagon:')
sw_2=input('Enter the number of sleepers between wagons:')
sl_1=input('Enter the number of sleepers within locomotives:')
sl_2=input('Enter the number of sleepers between locomotives:')

%Generate sleeper panel for wagon.
%Specify first sleeper panel of the wagon and genarate list of sleeper
%panel by counting the number of sleepers between athe axles of the wagon.

sw1=s1;

for w=0:Wagon-1
Swag1(w+1)=sw1+w*(sw_1+sw_2);
Swag2(w+1)=sw1+w*(sw_1+sw_2)+(sw_1);
Sw=sort([Swag1 Swag2]);
end

%Generate sleeper panel for locomotive.
%Specify first sleeper panel of locomotive and generate list of sleeper
%panels by counting the number of sleeper between the axles of the
%locomotive.

sl1=Sw(Wagon*Axle_w);

for l=0:Loco-1
Sloco1(l+1)=sl1+l*(sl_1+sl_2);
Sloco2(l+1)=sl1+l*(sl_2+sl_2)+(sl_1);
Sl=sort([Sloco1 Sloco2]);
end

%generate force for unit displacement at sleeper J - left hand side and
%right hand side
%calculate the reciprocal of the total force at sleeper J
%Calculate scale factor for force on the left hand side and right hand side
%of the track

%---Wagon---

FdLeft(Sw);
FdRight(S-Sw+1);
Df=1./(FdLeft(Sw)+FdRight(S-Sw+1));
SLeft_w=Df./dLeft(Sw);
SRight_w=Df./dRight(S-Sw+1);

%----Locomotive----
FdLeft(Sl);
FdRight(S-Sl+1);
Df=1./(FdLeft(Sl)+FdRight(S-Sl+1));
SLeft_l=Df./dLeft(Sl);
SRight_l=Df./dRight(S-Sl+1);

%Program section III
%------Deflection at Sleeper J----------

%Calculate deflection at sleeper J(Left and side and Right hand side)

%calculate deflection at a sleeper J by multiplying deflection at every
%sleeper at node x by the scale factor. Repeat this for every sleeper J for
%both wagons and locomotives. Calculate for deflection from the left hand
%side and the right hand side of the track.Calculate total deflection for
%wagons and locomotives seperately.

%Generates an i by x matrix where the elements of each column of the matrix
%are the deflection at a node X for i number of sleepers for wagons/locomotives.
%Take the sum of the all elements of each column of te matrix to obtain
%total deflection

%----Left Hand Side Wagon-----
for i=1:Wagon*Axle_w
for x=1:Sw(i)-1
dLeft_w(i,x)=SLeft_w(i)*dLeft(x);
end
end

dLeft_wt=sum(dLeft_w)';

%----Left hand side locomotive-----

for i=1:Loco*Axle_l
for x=1:Sl(i)-1
dLeft_l(i,x)=SLeft_l(i)*dLeft(x);
end
end

dLeft_lt=sum(dLeft_l)';

%----Right hand side wagon------
for i=1:Wagon*Axle_w
for x=1:S-Sw(i)+1
dRight_w(i,x)=SRight_w(i)*dRight(x);
end
end

%----Right hand side locomotive-----

dRight_wt=sum(dRight_w)';

%Deflection for locomotive
for i=1:Loco*Axle_l
for x=1:S-Sl(i)+1
dRight_l(i,x)=SRight_l(i)*dRight(x);
end
end

dRight_lt=sum(dRight_l)';

%Program Section IV-----
%^^^^^^^^^^^^^^^^^^^^^Total Deflection For Train^^^^^^^^^^^^^^^^^^^^^^

%Calculate scaled deflection and total deflection for wagons, locomotives
%and the entire train

%Specify the amount of force applied on the sleeper by the train. Calculate
%the scaled deflection for left hand side and right hand side.
%Redimension matrix to enable sum of two matrix.For left hand side
%deflections give zero value to elements of the final sleeper J of
%wagon/locomotive to the last sleeper N of track. For right hand side
%deflection give zero value to element of sleepers at node 1 of track to
%the last sleeper before sleeper J of wagon/locomotive
%Calculate total deflection of wagon/locomotive

%^^^^^^Wagon^^^^^^^

%Scale deflection

Fw=input('Specify the force applied by wagon per axle:')
dLeft_ws=dLeft_wt*Fw;
dRight_ws=dRight_wt*Fw;

%Redimension matrix

dLeft_wsnew=dLeft_ws;
for i= Sw(Wagon*Axle_w):S;
dLeft_wsnew(i)=0;
end
dLeft_wsnew;

dRight_wsnew1=dRight_ws;
for i=S-sw1+2:S;
dRight_wsnew1(i)=0
end
dRight_wsnew=flipud(dRight_wsnew1);

%Total deflection

dT_w=dLeft_wsnew+dRight_wsnew;

%-----Locomotive-------

%Scale deflection

Fl=input('Specify the force applied by locomotive per axle:')
dLeft_ls=dLeft_lt*Fl;
dRight_ls=dRight_lt*Fl;

%Redimension matrix

dLeft_lsnew=dLeft_ls;
for i= Sl(Loco*Axle_l):S;
dLeft_lsnew(i)=0;
end
dLeft_lsnew;

dRight_lsnew=dRight_ls;
for i=S-Sl(1)+2:S;
dRight_lsnew(i)=0;
end
dRight_lsnew=flipud(dRight_lsnew);

%Total deflection

dT_l=dLeft_lsnew+dRight_lsnew;

%Calculate total deflection for entire train

dT=dT_w+dT_l

%Program V-----------------
%^^^^^^^^^^^^^^^^^Plot Displacement Pattern of Rail^^^^^^^^^^^^^

plot(dT_w,'--k')
hold on
plot(dT_l,'--r')
hold on
plot(dT,'b')
axis auto
xlabel('Sleeper')
ylabel('Displacement (m)')
title('Displacement Pattern in Rail')
legend('Wagon','Locomotive','Train')

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.18 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.