Why won't this function work properly?
Mostrar comentarios más antiguos
function [EnergyReleased] = energy(mass)
%The energy function takes in a mass of Pu-239 and outputs the energy released
%from the fission of Pu-239.
%This function uses simple dimensional analysis to convert MeV released
%from a standard fission to Joules released from various masses of Pu-239.
%First, the function takes 200 MeV, the standard energy released for one
%fission, per 239.052 amu for Pu-239. Then, it multiplies that by the
%conversion factor 1.602*10^-13 Joules per 1 MeV. Now we are in J/amu.
%Finally, the function takes 1 amu divided by the mass you input (in
%GRAMS). This will now yield Joules per GRAM.
EnergyReleased = ((200/239.052) * (1.602*(10^(-13))) * (1/mass));
end
5 comentarios
Walter Roberson
el 11 de Feb. de 2018
What difficulty are you encountering?
Elizabeth Jurgensen
el 11 de Feb. de 2018
Geoff Hayes
el 11 de Feb. de 2018
Elizabeth - what is the value for mass? There should be more to the error message than just "error in line 105". Is this function part of a large file and you have just provided a subset of the code?
Roger Stafford
el 11 de Feb. de 2018
There seems something fishy with your formula in going from joules/amu over to total joules. Assuming that “200/239.052*1.602*10^(-13)” is valid for joules per atomic mass unit, you need to multiply by the amu per gram factor which I believe is something like 1/(1.67377*10^-24). And then you need to multiply, not divide, by the entered mass in grams - the more grams, the more energy released.
Walter Roberson
el 11 de Feb. de 2018
If you are using a vector for mass then you would need the ./ operator instead of /
Respuestas (0)
Categorías
Más información sobre Particle & Nuclear Physics en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!