How to evaluate a unknown variable?

3 ビュー (過去 30 日間)
Miroslav Mitev
Miroslav Mitev 2019 年 7 月 9 日
コメント済み: Peter Jarosi 2019 年 7 月 10 日
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 件のコメント
Guillaume
Guillaume 2019 年 7 月 9 日
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.

サインインしてコメントする。

採用された回答

Peter Jarosi
Peter Jarosi 2019 年 7 月 9 日
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 件のコメント
Miroslav Mitev
Miroslav Mitev 2019 年 7 月 10 日
That works, thank you :)
Peter Jarosi
Peter Jarosi 2019 年 7 月 10 日
You're very welcome! :)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by