MATLAB: Do I get different outputs at different run’s

2014changing resulterrorMATLAB

Hi, there's something very odd happening with my code. I'm doing three times the same calculations for three different input values. I.E.:
x1=a;
x2=b;
x3=c;
y=x^2;
plot
Well, this should always give the same answer for x1, x2 and x3. My routine, a bit larger, does not any fuzzy nor random calculus. When I execute the program I get an answer and if I execute it a second time I get another one. Since second execution, I always get the same answer. If I change a, b and c I will get the same answer as the last execution, and I need to execute it a second time.
I added clear x1; clear x2; and clear x3; trying to get rid of old memory data but nothing changes.
The part of the code where it occurs is:
global C1 C2 C3;
C1=7.996328e4;
C2=4.859647e4;
C3=4.965676e4;
clear C;
C=C1;
[ resu1 ] = nInt( fun , ab , tspan, titol, rotulacio,C );
clear C;
C=C2;
[ resu2 ] = nInt( fun , ab , tspan, titol, rotulacio,C );
clear C;
C=C3;
[ resu3 ] = nInt( fun , ab , tspan, titol, rotulacio,C );
rD1=resu1(2,:)./d;
rpD1=resu1(4,:)./d;
rD2=resu2(2,:)./d;
rpD2=resu2(4,:)./d;
rD3=resu3(2,:)./d;
rpD3=resu3(4,:)./d;
plot (rD1,rpD1,rD2,rpD2,rD3,rpD3)
title('rp/d vs r/d');
xlabel('r/d');
ylabel('rp/d');
nInt is a script proven to work correctly. I'm 99% sure the failure must be in this part of the code. MATLAB 2014.

Best Answer

Thanks to everybody for your comments. I see global variables are a mess. I finally solved the problem this way: fun goes from the main script to nInt and from nInt to ode78, and so do their variables. I just put fun (and company) into nInt and called nInt without fun & co. input. I'll take care next time and I hope I become better in the future. I'm just starting with Matlab and programming in general.