Tabulating a Function with exponential values and using fprintf

7 次查看(过去 30 天)
I want to tabulate my function. However, when I do, all my y values are zeros since my numbers are really small from the range of 10^-18 to 10^-14. My prof commented how I should use fprintf instead of disp and that fprintf statement having z(j) and y(j) as the varialbes print. How can I make a table where my table will show y-values with an exponential notation.
----------------------------------------------
%script to call Bohr_Model_RJP
%prepare for loop
npts=118;
dz = 118/(npts-1);
disp( 'z' )
n=1;
%loop
for j=1 : npts
z(j) = dz*(j-1);
y(j) = zeff(z(j),n);
disp ([ z(j), y(j) ])
end
function E = zeff(z,n)
%n-value represents an electron circular-orbit around a nucleus; the higher the n-value, the farther the orbit%;
%z-value represents the atomic number of an element, randomly generated from 0 to 118 because there are 118 elements on the periodic table;
R= 2.178*10^-18;
%R-value represents the Rydberg constant which is measured in Joules
E=-(R*z^2/n^2);
% Formula calculating the energy a nucleus exerts on an electron
%value is negative because the nucleus pulls the electron towards it.
end

回答(1 个)

Stephen23
Stephen23 2021-2-19
编辑:Stephen23 2021-2-19
The loop is not required. By vectorizing the function you can simplify your code.
npts = 118;
n = 1;
z = linspace(0,npts,npts); % odd, but exactly the same as what you have.
y = zeff(z,n);
fprintf('%+.4e %+.4e\n',[y;z])
-0.0000e+00 +0.0000e+00 -2.2154e-18 +1.0085e+00 -8.8616e-18 +2.0171e+00 -1.9939e-17 +3.0256e+00 -3.5446e-17 +4.0342e+00 -5.5385e-17 +5.0427e+00 -7.9754e-17 +6.0513e+00 -1.0855e-16 +7.0598e+00 -1.4178e-16 +8.0684e+00 -1.7945e-16 +9.0769e+00 -2.2154e-16 +1.0085e+01 -2.6806e-16 +1.1094e+01 -3.1902e-16 +1.2103e+01 -3.7440e-16 +1.3111e+01 -4.3422e-16 +1.4120e+01 -4.9846e-16 +1.5128e+01 -5.6714e-16 +1.6137e+01 -6.4025e-16 +1.7145e+01 -7.1779e-16 +1.8154e+01 -7.9976e-16 +1.9162e+01 -8.8616e-16 +2.0171e+01 -9.7699e-16 +2.1179e+01 -1.0722e-15 +2.2188e+01 -1.1719e-15 +2.3197e+01 -1.2761e-15 +2.4205e+01 -1.3846e-15 +2.5214e+01 -1.4976e-15 +2.6222e+01 -1.6150e-15 +2.7231e+01 -1.7369e-15 +2.8239e+01 -1.8631e-15 +2.9248e+01 -1.9939e-15 +3.0256e+01 -2.1290e-15 +3.1265e+01 -2.2686e-15 +3.2274e+01 -2.4126e-15 +3.3282e+01 -2.5610e-15 +3.4291e+01 -2.7139e-15 +3.5299e+01 -2.8711e-15 +3.6308e+01 -3.0329e-15 +3.7316e+01 -3.1990e-15 +3.8325e+01 -3.3696e-15 +3.9333e+01 -3.5446e-15 +4.0342e+01 -3.7241e-15 +4.1350e+01 -3.9079e-15 +4.2359e+01 -4.0963e-15 +4.3368e+01 -4.2890e-15 +4.4376e+01 -4.4862e-15 +4.5385e+01 -4.6878e-15 +4.6393e+01 -4.8938e-15 +4.7402e+01 -5.1043e-15 +4.8410e+01 -5.3192e-15 +4.9419e+01 -5.5385e-15 +5.0427e+01 -5.7622e-15 +5.1436e+01 -5.9904e-15 +5.2444e+01 -6.2230e-15 +5.3453e+01 -6.4601e-15 +5.4462e+01 -6.7016e-15 +5.5470e+01 -6.9475e-15 +5.6479e+01 -7.1978e-15 +5.7487e+01 -7.4526e-15 +5.8496e+01 -7.7118e-15 +5.9504e+01 -7.9754e-15 +6.0513e+01 -8.2435e-15 +6.1521e+01 -8.5160e-15 +6.2530e+01 -8.7929e-15 +6.3538e+01 -9.0742e-15 +6.4547e+01 -9.3600e-15 +6.5556e+01 -9.6502e-15 +6.6564e+01 -9.9449e-15 +6.7573e+01 -1.0244e-14 +6.8581e+01 -1.0547e-14 +6.9590e+01 -1.0855e-14 +7.0598e+01 -1.1168e-14 +7.1607e+01 -1.1485e-14 +7.2615e+01 -1.1806e-14 +7.3624e+01 -1.2131e-14 +7.4632e+01 -1.2462e-14 +7.5641e+01 -1.2796e-14 +7.6650e+01 -1.3135e-14 +7.7658e+01 -1.3478e-14 +7.8667e+01 -1.3826e-14 +7.9675e+01 -1.4178e-14 +8.0684e+01 -1.4535e-14 +8.1692e+01 -1.4896e-14 +8.2701e+01 -1.5262e-14 +8.3709e+01 -1.5632e-14 +8.4718e+01 -1.6006e-14 +8.5726e+01 -1.6385e-14 +8.6735e+01 -1.6768e-14 +8.7744e+01 -1.7156e-14 +8.8752e+01 -1.7548e-14 +8.9761e+01 -1.7945e-14 +9.0769e+01 -1.8346e-14 +9.1778e+01 -1.8751e-14 +9.2786e+01 -1.9161e-14 +9.3795e+01 -1.9575e-14 +9.4803e+01 -1.9994e-14 +9.5812e+01 -2.0417e-14 +9.6821e+01 -2.0845e-14 +9.7829e+01 -2.1277e-14 +9.8838e+01 -2.1713e-14 +9.9846e+01 -2.2154e-14 +1.0085e+02 -2.2599e-14 +1.0186e+02 -2.3049e-14 +1.0287e+02 -2.3503e-14 +1.0388e+02 -2.3962e-14 +1.0489e+02 -2.4425e-14 +1.0590e+02 -2.4892e-14 +1.0691e+02 -2.5364e-14 +1.0791e+02 -2.5840e-14 +1.0892e+02 -2.6321e-14 +1.0993e+02 -2.6806e-14 +1.1094e+02 -2.7296e-14 +1.1195e+02 -2.7790e-14 +1.1296e+02 -2.8288e-14 +1.1397e+02 -2.8791e-14 +1.1497e+02 -2.9299e-14 +1.1598e+02 -2.9810e-14 +1.1699e+02 -3.0326e-14 +1.1800e+02
function E = zeff(z,n)
%n-value represents an electron circular-orbit around a nucleus; the higher the n-value, the farther the orbit%;
%z-value represents the atomic number of an element, randomly generated from 0 to 118 because there are 118 elements on the periodic table;
R = 2.178*10^-18;
%R-value represents the Rydberg constant which is measured in Joules
E = -(R*z.^2/n^2); % !!! vectorized power operation !!!
% Formula calculating the energy a nucleus exerts on an electron
%value is negative because the nucleus pulls the electron towards it.
end

类别

Help CenterFile Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by