How to assign predetermined values for points of discontinuity

1 vue (au cours des 30 derniers jours)
Anthony Koning
Anthony Koning le 8 Déc 2021
Modifié(e) : Steven Lord le 9 Déc 2021
Does anyone know how I would be able to assign a pretermined value for a point of discontinuity? I am currently working on writing a script to determine values at cetrain points of v, and with the exception of v=10, the script is working just fine. at v=10, we are left with the indeterminate of 0/0. Using basic calculus and applying L'Hopital's rule, we can determine that at v=10, the output is .1. However, I don't know how to add this to my script, and am still getting the output of NaN. Any help on how to fix this would be appreciated.
v = 0:5:50
a_n=(0.01.*(10-v))./(exp((10-v)./10)-1)
b_n= exp(-v./80)./8
if v == 10
then a_n = 0.1
end

Réponse acceptée

Matt J
Matt J le 9 Déc 2021
Modifié(e) : Matt J le 9 Déc 2021
v0 = 10+(-3:0.01:3)*1e-8;
v=v0;
a_n=(0.01.*(10-v))./expm1((10-v)./10);
idx=abs(v-10)<1e-8;
v=v(idx);
a_n(idx)=(0.01)./(0.1+(10-v)./200); %use Taylor approx
plot(v0,a_n,'x')

Plus de réponses (2)

Walter Roberson
Walter Roberson le 9 Déc 2021
v = 0:5:50
a_n=(0.01.*(10-v))./(exp((10-v)./10)-1)
b_n= exp(-v./80)./8
a_n(v == 10) = 0.1;

Steven Lord
Steven Lord le 9 Déc 2021
Modifié(e) : Steven Lord le 9 Déc 2021
v = 0:5:50
v = 1×11
0 5 10 15 20 25 30 35 40 45 50
a_n=(0.01.*(10-v))./(exp((10-v)./10)-1)
a_n = 1×11
0.0582 0.0771 NaN 0.1271 0.1582 0.1931 0.2313 0.2724 0.3157 0.3609 0.4075
a_n = fillmissing(a_n, 'constant', 0.1) % Fill missing values (NaN) in a_n with a constant 0.1
a_n = 1×11
0.0582 0.0771 0.1000 0.1271 0.1582 0.1931 0.2313 0.2724 0.3157 0.3609 0.4075
b_n= exp(-v./80)./8
b_n = 1×11
0.1250 0.1174 0.1103 0.1036 0.0974 0.0915 0.0859 0.0807 0.0758 0.0712 0.0669

Catégories

En savoir plus sur Mathematics dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by