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
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
Walter Roberson 2018-2-11
If you are using a vector for mass then you would need the ./ operator instead of /

请先登录,再进行评论。

回答(0 个)

类别

Help CenterFile 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