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