Why do I get different outputs at different run's?

24 views (last 30 days)
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.
  8 Comments

Sign in to comment.

Accepted Answer

Felix Lauwaert
Felix Lauwaert on 17 Jul 2015
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.

More Answers (0)

Categories

Find more on Biotech and Pharmaceutical in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!