How to assign predetermined values for points of discontinuity

1 view (last 30 days)
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

Accepted Answer

Matt J
Matt J on 9 Dec 2021
Edited: Matt J on 9 Dec 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')

More Answers (2)

Walter Roberson
Walter Roberson on 9 Dec 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 on 9 Dec 2021
Edited: Steven Lord on 9 Dec 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

Categories

Find more on Genomics and Next Generation Sequencing 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!