Exponential decay in MATLAB

Hi,
i need to calculate exponential decay of a radioisotope and store the data in a mat file, here is what i got so far...
I need use user inputs to calculate exponential decay, display when (numYears) the atomsLeft gets below the Threshold(T), and store all the values calculated into a mat file.
N = input('Enter the number of radioactive atoms we start with (integer): ');
HL = input('The lenght of half-life(in years): ');
T = input('The target threshold number of atoms (integer): ');
numYears = 0;
%Calculate the number of years for the decay to reach the target threshold.
for x = 1:HL
atomsLeft = N.* 0.5.^(1:HL);
N = atomsLeft;
numYears = numYears + 1;
if T>N
disp(['It took ' num2str(numYears) ' years to get below the treshold']);
end
end
save('mydata.mat', 'numYears'); %saves d in the data file 'mydata.mat'
save('mydata.mat', 'atomsLeft', '-append'); %adds t to the data file
I DK if its right
Outputs are rthe number of years it takes to decay below the threshold (T) And the atomsleft after numyears
And save the data in a mat file

 채택된 답변

Walter Roberson
Walter Roberson 2013년 4월 3일

0 개 추천

One thing to fix:
atomsLeft = N.* 0.5.^(x);
It appears to me that there are other problems with the code, but you will need to indicate what your desired output is for us to be sure.

추가 답변 (1개)

Jan
Jan 2013년 4월 3일

0 개 추천

Outputs are rthe number of years it takes to decay below the threshold (T) And the atomsleft after numyears
And save the data in a mat file

카테고리

도움말 센터File Exchange에서 Particle & Nuclear Physics에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by