Why won't this function work properly?
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
Roger Stafford
2018-2-11
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
2018-2-11
If you are using a vector for mass then you would need the ./ operator instead of /
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Particle & Nuclear Physics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!