ERROR: FSOLVE requires all values returned by functions to be of data type double.

1 visualización (últimos 30 días)
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 comentarios
Dhawal Beohar
Dhawal Beohar el 19 de Mzo. de 2022
thats the expression with Two-Argument Exponential Integral and if I not use sym it is giving a error.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 19 de Mzo. de 2022
fun2 = @(u) ((1./u).*log(double(expint(2,sym(-PsByN_0.*u)))).*exp(-PsByN_0*u));

Más respuestas (0)

Categorías

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

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by