You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
how to effectively find a starting point for fzero?
4 views (last 30 days)
Show older comments
G'day, I am trying to solve the following problem
where , , is the exponential integral function, , v and R are unknowns, and everything else is constant.
To solve this equation, I use MATLAB (the core function is `fzero`) and suppose that v is an array within a range .
Here comes my code
%% Constants
Gibbs = 1.9*10^(-7);
m = -3.00;
C0 = 17.0;
k = 0.89;
D = 2.67*10^(-9);
format long
p = pi;
%% Variables
v = [10^(-6):10^(-6):0.99*10^(-5) 10^(-5):10^(-5):0.99*10^(-5) 10^(-4):10^(-4):0.99*10^(-3) 10^(-3):10^(-3):0.99*10^(-2) 10^(-2):10^(-2):0.99*10^(-1) 10^(-1):10^(-3):1.0 1:0.1:10 10:0.1:100];
num = size(v,2);
Pe = zeros(1, num);
%% Solution
for j = 1:num
Pe(j) = KGT(v(j),p,Gibbs,D,m,C0,k);
end
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 7710210.4801-22149.962337i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 8163837.4185-22371.46196i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 8624920.2942-22592.961583i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 9093459.1072-22814.461207i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 9569453.8575-23035.96083i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 10052904.5451-23257.4604533i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 10543811.17-23478.9600767i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 11042173.7322-23700.4597001i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 11547992.2317-23921.9593234i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 12061266.6685-24143.4589468i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 12581997.0426-24364.9585702i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 13110183.354-24586.4581935i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 13645825.6027-24807.9578169i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 14188923.7887-25029.4574402i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 14739477.912-25250.9570636i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 15297487.9726-25472.456687i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 15862953.9705-25693.9563103i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 16435875.9057-25915.4559337i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 17016253.7782-26136.9555571i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 17604087.5879-26358.4551804i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 18199377.335-26579.9548038i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 18802123.0194-26801.4544272i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 19412324.6411-27022.9540505i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 20029982.2001-27244.4536739i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 20655095.6964-27465.9532973i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 21287665.13-27687.4529206i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 21927690.5009-27908.952544i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 22575171.809-28130.4521674i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 23230109.0545-28351.9517907i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 23892502.2373-28573.4514141i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 24562351.3574-28794.9510375i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 25239656.4148-29016.4506608i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 25924417.4095-29237.9502842i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 26616634.3414-29459.4499075i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 27316307.2107-29680.9495309i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 28023436.0173-29902.4491543i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 28738020.7612-30123.9487776i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 29460061.4423-30345.448401i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 30189558.0608-30566.9480244i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 30926510.6166-30788.4476477i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 31670919.1097-31009.9472711i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 32422783.54-31231.4468945i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 33182103.9077-31452.9465178i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 33948880.2127-31674.4461412i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 34723112.4549-31895.9457646i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 35504800.6345-32117.4453879i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 36293944.7514-32338.9450113i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 37090544.8055-32560.4446347i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 37894600.797-32781.944258i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 38706112.7258-33003.4438814i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 39525080.5918-33224.9435048i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 40351504.3952-33446.4431281i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 41185384.1359-33667.9427515i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 42026719.8138-33889.4423748i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 42875511.4291-34110.9419982i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 43731758.9816-34332.4416216i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 44595462.4715-34553.9412449i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 45466621.8987-34775.4408683i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 46345237.2631-34996.9404917i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 47231308.5649-35218.440115i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 48124835.8039-35439.9397384i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 49025818.9803-35661.4393618i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 49934258.0939-35882.9389851i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 50850153.1449-36104.4386085i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 51773504.1331-36325.9382319i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 52704311.0587-36547.4378552i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 53642573.9215-36768.9374786i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 54588292.7217-36990.437102i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 55541467.4591-37211.9367253i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 56502098.1339-37433.4363487i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 57470184.7459-37654.9359721i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 58445727.2953-37876.4355954i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 59428725.7819-38097.9352188i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 60419180.2059-38319.4348421i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 61417090.5671-38540.9344655i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 62422456.8657-38762.4340889i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 63435279.1015-38983.9337122i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 64455557.2746-39205.4333356i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 65483291.3851-39426.932959i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 66518481.4328-39648.4325823i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 67561127.4179-39869.9322057i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 68611229.3402-40091.4318291i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 69668787.1998-40312.9314524i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 70733800.9968-40534.4310758i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 71806270.731-40755.9306992i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 72886196.4025-40977.4303225i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 73973578.0114-41198.9299459i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 75068415.5575-41420.4295693i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 76170709.0409-41641.9291926i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 77280458.4617-41863.428816i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 78397663.8197-42084.9284394i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 79522325.115-42306.4280627i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 80654442.3476-42527.9276861i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 81794015.5176-42749.4273094i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 82941044.6248-42970.9269328i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 84095529.6693-43192.4265562i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 85257470.6511-43413.9261795i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 86426867.5703-43635.4258029i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 87603720.4267-43856.9254263i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 88788029.2204-44078.4250496i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 89979793.9514-44299.924673i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 91179014.6197-44521.4242964i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 92385691.2254-44742.9239197i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 93599823.7683-44964.4235431i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 94821412.2485-45185.9231665i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 96050456.666-45407.4227898i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 97286957.0208-45628.9224132i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 98530913.3129-45850.4220366i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 99782325.5424-46071.9216599i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 101041193.7091-46293.42128329i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 102307517.8131-46514.92090665i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 103581297.8544-46736.42053002i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 104862533.833-46957.92015338i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 106151225.7489-47179.41977675i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 107447373.6021-47400.91940011i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 108750977.3926-47622.41902348i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 110062037.1204-47843.91864684i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 111380552.7855-48065.41827021i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 112706524.3879-48286.91789357i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 114039951.9277-48508.41751694i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 115380835.4047-48729.9171403i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 116729174.819-48951.41676367i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 118084970.1706-49172.91638703i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 119448221.4595-49394.4160104i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 120818928.6857-49615.91563376i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 122197091.8492-49837.41525713i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 123582710.95-50058.91488049i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 124975785.9881-50280.41450386i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 126376316.9635-50501.91412722i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 127784303.8761-50723.41375059i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 129199746.7261-50944.91337395i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 130622645.5134-51166.41299732i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 132053000.238-51387.91262068i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 133490810.8999-51609.41224405i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 134936077.4991-51830.91186741i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 136388800.0356-52052.41149078i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 137848978.5094-52273.91111414i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 139316612.9205-52495.41073751i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 140791703.2689-52716.91036087i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 142274249.5545-52938.40998424i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 143764251.7775-53159.9096076i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 145261709.9378-53381.40923097i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 146766624.0354-53602.90885433i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 148278994.0703-53824.4084777i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 149798820.0425-54045.90810106i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 151326101.952-54267.40772443i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 152860839.7987-54488.90734779i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 154403033.5828-54710.40697116i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 155952683.3042-54931.90659452i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 157509788.9629-55153.40621789i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 159074350.5588-55374.90584125i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 160646368.0921-55596.40546462i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 162225841.5627-55817.90508798i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 163812770.9706-56039.40471135i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 165407156.3157-56260.90433471i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 167008997.5982-56482.40395808i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 168618294.818-56703.90358144i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 170235047.9751-56925.40320481i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 171859257.0694-57146.90282817i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 173490922.1011-57368.40245154i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 175130043.0701-57589.9020749i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 176776619.9763-57811.40169827i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 178430652.8199-58032.90132163i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 180092141.6008-58254.400945i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 181761086.3189-58475.90056836i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 183437486.9744-58697.40019173i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 185121343.5672-58918.89981509i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 186812656.0972-59140.39943846i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 188511424.5646-59361.89906182i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 190217648.9692-59583.39868519i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 191931329.3112-59804.89830855i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 193652465.5905-60026.39793192i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 195381057.807-60247.89755528i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 197117105.9609-60469.39717865i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 198860610.052-60690.89680201i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 200611570.0805-60912.39642538i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 202369986.0462-61133.89604874i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 204135857.9493-61355.39567211i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 205909185.7896-61576.89529547i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 207689969.5673-61798.39491884i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 209478209.2822-62019.8945422i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 211273904.9345-62241.39416557i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 213077056.524-62462.89378893i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 214887664.0509-62684.3934123i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 216705727.515-62905.89303566i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 218531246.9165-63127.39265903i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 220364222.2552-63348.89228239i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 222204653.5313-63570.39190576i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 224052540.7446-63791.89152912i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 225907883.8953-64013.39115249i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 227770682.9832-64234.89077585i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 229640938.0085-64456.39039922i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 231518648.971-64677.89002258i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 233403815.8708-64899.38964595i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 235296438.708-65120.88926931i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 237196517.4824-65342.38889268i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 239104052.1941-65563.88851604i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 241019042.8432-65785.38813941i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 242941489.4295-66006.88776277i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 244871391.9531-66228.38738614i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 246808750.4141-66449.8870095i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 248753564.8123-66671.38663287i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 250705835.1478-66892.88625623i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 252665561.4207-67114.3858796i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 254632743.6308-67335.88550296i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 256607381.7782-67557.38512633i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 258589475.863-67778.88474969i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 260579025.885-68000.38437306i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 262576031.8443-68221.88399642i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 264580493.7409-68443.38361979i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 266592411.5749-68664.88324315i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 268611785.3461-68886.38286652i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 270638615.0546-69107.88248988i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 272672900.7004-69329.38211325i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 274714642.2836-69550.88173661i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 276763839.804-69772.38135998i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 278820493.2617-69993.88098334i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 280884602.6567-70215.38060671i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 282956167.989-70436.88023007i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 285035189.2587-70658.37985344i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 287121666.4656-70879.8794768i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 289215599.6098-71101.37910017i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 291316988.6913-71322.87872353i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 293425833.7101-71544.3783469i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 295542134.6662-71765.87797026i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 297665891.5596-71987.37759363i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 299797104.3903-72208.87721699i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 301935773.1584-72430.37684036i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 304081897.8637-72651.87646372i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 306235478.5063-72873.37608709i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 308396515.0862-73094.87571045i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 310565007.6034-73316.37533382i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 312740956.0579-73537.87495718i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 314924360.4497-73759.37458055i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 317115220.7788-73980.87420391i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function value encountered during search.
(Function value at -8.4 is 319313537.0452-74202.37382728i.)
Check function or try again with a different starting value.
Exiting fzero: aborting search for an interval containing a sign change
because complex function va...
function F1 = KGT(v,p,Gibbs,D,m,C0,k)
func = @(Pe) v*v*(p^2*Gibbs/(Pe^2*D^2)) + v*((m*C0*(1-k)*ksi(k,p,Pe))/(D*(1-(1-k)*Iv(Pe)))); %standard KGT
if v<10^(-5)
Pe0 = 5*10^(-2); % starting point
elseif (v>=10^(-5)) && (v<=0.5*10^(-4))
Pe0 = 10^(-1);
elseif (v>0.5*10^(-4)) && (v<=10^(-4))
Pe0 = 2*10^(-1);
elseif (v>10^(-4)) && (v<=10^(-3))
Pe0 = 5*10^(-1);
elseif (v>10^(-3)) && (v<=10^(-2))
Pe0 = 1;
elseif (v>10^(-2)) && (v<=8*10^(-2))
Pe0 = 6;
elseif (v>8*10^(-2)) && (v<=9*10^(-2))
Pe0 = 15;
else
Pe0 = 30; % this value yields NaN
end
F1 = fzero(func,Pe0);
end
function ksic = ksi(k,p,Pe)
ksic = 1-2*k/(sqrt(1+(2*p/Pe)^2)-1+2*k);
end
function Ivantsov = Iv(Pe)
Ivantsov = Pe*exp(Pe)*expint(Pe);
end
I am trying to understand how to organise this in a more efficient way rather than finding an initial guess manually. Tried to use
while isnan(func)
Pe0 = Pe0+1;
end
but it does not work.
Thanks.
Answers (1)
Bruno Luong
on 28 Sep 2023
Edited: Bruno Luong
on 28 Sep 2023
The problem is not finding the right starting point, the problem is that your function func implementation returns NaN for large v (above 0.1) and large Pe and func(Pe) never cross 0 below the value where NaN is retuned.
Try to replace with function that find Pe0 but fails for large v (nothing can be done to fix your cirrent implementation)
function F1 = KGT(v,p,Gibbs,D,m,C0,k)
func = @(Pe) v*v*(p^2*Gibbs/(Pe^2*D^2)) + v*((m*C0*(1-k)*ksi(k,p,Pe))/(D*(1-(1-k)*Iv(Pe)))); %standard KGT
Pe = logspace(-3,4,200);
fPe = arrayfun(func, Pe);
ix = find(fPe(1:end-1).*fPe(2:end)<0, 1);
Pe0 = Pe(ix),
if isempty(Pe0)
disp(fPe)
loglog(Pe,fPe)
error('cannot find starting point');
end
F1 = fzero(func,Pe0);
end
See Also
Categories
Find more on Optimization in Help Center and File Exchange
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)