Borrar filtros
Borrar filtros

how to effectively find a starting point for fzero?

4 visualizaciones (últimos 30 días)
Olga Zinovieva
Olga Zinovieva el 28 de Sept. de 2023
Editada: Bruno Luong el 28 de Sept. de 2023
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.

Respuestas (1)

Bruno Luong
Bruno Luong el 28 de Sept. de 2023
Editada: Bruno Luong el 28 de Sept. de 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

Categorías

Más información sobre Optimization en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by