Why does the order of calculation change the result?
1 view (last 30 days)
Show older comments
Dear all,
I have a simple calculation ending with plotting. But i have problem to get the result.
I need to do calculation in the order of 1E-9 but when i do, i get the plot in the first picture, which is wrong.
But when i do calculation in the order of 1E+1, result is as i want but then i can not use the result for the further calculation.
I could not figure out the problem.
What is wrong?
%%%%%%%%%%%%%%%%%%%%%%%%% This give wrong plot %%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ltot=2E-9; % toplam kuyu kalınlığı
dz = 1E-11;
z=-Ltot/2:dz:Ltot/2;
Mass = 0.07;
m0 = 9.1E-31
e=1.602176487E-19;
eps_statik = 12.4;
h=6.62606896E-34; %% Planck constant [J.s]
% h = 4.135e-15;
hbar=h/2/pi;
Ndl = 3E+16; Ndr = 5E+16; %%% [1/m2] cinsinden
Ip = 0.6e-9;
alfa = e^2*(Mass*m0)^1.5;
alfa = alfa / (15 * pi * eps_statik * hbar^3)
zol = 2 .* eps_statik.^2 .* alfa.^3;
zol = (zol ./ (pi .* e.^2 .* Ndl)).^0.2;
zor = 2 .* eps_statik.^2 .* alfa.^3;
zor = (zor ./ (pi .* e.^2 .* Ndr)).^0.2;
V0 = (-1 .* alfa^2 ./ (alfa .* abs(z-Ip) + zor).^4 - alfa^2 ./ (alfa .* abs(z+Ip) + zol).^4)/e;
plot(V0)
%%%%%%%%%%%%%%%%%%%%%%%%% This is as i want %%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ltot=2; % toplam kuyu kalınlığı
dz = 0.01;
z=-Ltot/2:dz:Ltot/2;
e=1.602176487E-19;
eps_statik = 12.4;
h=6.62606896E-34; %% Planck constant [J.s]
% h = 4.135e-15;
hbar=h/2/pi;
Ndl = 3E+16; Ndr = 5E+16; %%% [1/m2] cinsinden
Ip = 0.6;
alfa = e^2*(Mass*m0)^1.5;
alfa = alfa / (15 * pi * eps_statik * hbar^3)
zol = 2 .* eps_statik.^2 .* alfa.^3;
zol = (zol ./ (pi .* e.^2 .* Ndl)).^0.2;
zor = 2 .* eps_statik.^2 .* alfa.^3;
zor = (zor ./ (pi .* e.^2 .* Ndr)).^0.2;
V0 = (-1 .* alfa^2 ./ (alfa .* abs(z-Ip) + zor).^4 - alfa^2 ./ (alfa .* abs(z+Ip) + zol).^4)/e;
plot(V0)
0 Comments
Answers (2)
Cameron
on 14 Jan 2023
It looks like the main differences between the two are Ltot, dz, and Ip. The variable Ip is especially weird. Which of these were you trying to do?
Ip = 0.6;
Ip = 0.6*e^-9;
Ip = 0.6E-9;
%or something else
Walter Roberson
on 14 Jan 2023
%missing variables
syms Mass m0
%rest of code
syms scale positive
Pi = sym(pi);
Q = @(v) sym(v);
dz = scale/100;
Ltot = 2 * scale; % toplam kuyu kalınlığı
z = -Ltot/2:dz:Ltot/2;
e = Q(1602176487) * Q(10)^(-28);
eps_statik = Q(124)/Q(10);
h = Q(662606896) * Q(10)^(-42); %% Planck constant [J.s]
hbar = h/2/Pi;
Ndl = Q(3)*Q(10)^(16);
Ndr = Q(5)*Q(10)^(16);; %%% [1/m2] cinsinden
Ip = Q(6)/Q(10) * scale
alfa = e^2*(Mass*m0)^Q(1.5);
alfa = alfa / (15 * Pi * eps_statik * hbar^3)
zol = 2 .* eps_statik.^2 .* alfa.^3;
zol = (zol ./ (pi .* e.^2 .* Ndl)).^0.2;
zor = 2 .* eps_statik.^2 .* alfa.^3;
zor = (zor ./ (pi .* e.^2 .* Ndr)).^0.2;
V0 = (-1 .* alfa^2 ./ (alfa .* abs(z-Ip) + zor).^4 - alfa^2 ./ (alfa .* abs(z+Ip) + zol).^4)/e;
V0(1:3).'
Tracing that backwards: and and are indepedent of scale, so and are independent of scale -- all of the are independent of scale.
So in V0(1) the numerator is independent of scale. In the denominator, in each of the two terms, the leading numeric factor 48477...41 is independent of scale.. In each of the two terms with the second being subtracted from the first, the structure is a σ variable being added to a numeric value times scale times times a σ variable. But we have established that the σ variables are independent of scale, so the terms are CONSTANT1 + CONSTANT2*scale . The result is, of course, going to depend upon the scale.
We have demonstrated that with those equations the results are going to depend upon the scale.
2 Comments
Walter Roberson
on 14 Jan 2023
Note that if you change only Ltot or only Ip to be independent of scale then the resulting V0 would still involve scale in much the same way (with differences in the exact numeric factors generated.)
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!