How to evaluate a unknown variable?

3 visualizaciones (últimos 30 días)
Miroslav Mitev
Miroslav Mitev el 9 de Jul. de 2019
Comentada: Peter Jarosi el 10 de Jul. de 2019
I am trying to evaluate a specific variable, i.e., lambda from the following expression:
alpha=0.9;
g=[3, 2, 1];
N=10;
P=5;
sum(( lambda*(2-alpha)-sqrt(lambda*alpha*(lambda*alpha+g.*4*(1-alpha))) ) ./ ( g.*2*lambda*(alpha-1) )) = N*P
Which function shall I use to find the value of lambda that satisfies the equality above, since it is the only unknown variable?
  1 comentario
Guillaume
Guillaume el 9 de Jul. de 2019
You could use fzero if your equation made sense. On the left side of your equation you have a 3 element vector (with 3 different values obviously). On the right hand side you have a scalar.

Iniciar sesión para comentar.

Respuesta aceptada

Peter Jarosi
Peter Jarosi el 9 de Jul. de 2019
Using fsolve:
alpha=0.9;
g=[3, 2, 1];
N=10;
P=5;
f = @(lambda) sum(( lambda*(2-alpha)-sqrt(lambda*alpha*(lambda*alpha+g.*4*(1-alpha))) ) ...
./ ( g.*2*lambda*(alpha-1) )) - N*P;
lambda0 = 1;
options = optimoptions('fsolve','Display','iter','Algorithm','levenberg-marquardt');
lambda = fsolve(f, lambda0, options);
  2 comentarios
Miroslav Mitev
Miroslav Mitev el 10 de Jul. de 2019
That works, thank you :)
Peter Jarosi
Peter Jarosi el 10 de Jul. de 2019
You're very welcome! :)

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by