ERROR: FSOLVE requires all values returned by functions to be of data type double.
1 次查看(过去 30 天)
显示 更早的评论
I understand FSOLVE does not work with sym variables but it is not working using fzero as well. OR is there any alternative?
function fval = fun(u)
d1=20;
n=10^-11.4;
m=2.7;
a=0.5;
T=1;
PsByN_0dB=25;
PsByN_0=10.^(PsByN_0dB/10);
fun2 = @(u) ((1./u).*log(expint(2,sym(-PsByN_0.*u))).*exp(-PsByN_0*u));
u0 = -0.0031622776;
U = fsolve(fun2,u0)
I have also tried using fzero:
function fval = fun(u)
d1=20;
n=10^-11.4;
m=2.7;
a=0.5;
T=1;
PsByN_0dB=25;
PsByN_0=10.^(PsByN_0dB/10);
fun2 = @(u) ((1./u).*log(expint(2,sym(-PsByN_0.*u))).*exp(-PsByN_0*u));
u0 = -0.0031622776;
fzero (fun2, u0)
2 个评论
采纳的回答
Walter Roberson
2022-3-19
fun2 = @(u) ((1./u).*log(double(expint(2,sym(-PsByN_0.*u)))).*exp(-PsByN_0*u));
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!