Hi,
I would like to have the following equation in a function handle (which represents a cost function in this case):
Herein, x_1 until x_4 are variables and Hp is an array containing 10 entries.
How would I implement this? I expiremented a bit but that did not work out properly.
for k=1:10
J_A = @(x) sum(abs(Hpe(k)-x(1)*exp(-1i*omega(k)*x(2))*(x(3)^2)/((1i*omega(k)^2)+2*x(3)*x(4)*1i*omega(k)+x(3)^2))^2);
end
It seems like only k=10 is taken into account this way.
Appreciate the help.

 採用された回答

Matt J
Matt J 2022 年 6 月 1 日

0 投票

J_A = @(x) sum(abs(Hpe-x(1).*exp(-1i.*omega.*x(2)).*(x(3).^2)./((1i.*omega.^2)+2.*x(3).*x(4).*1i.*omega+x(3).^2)).^2);

2 件のコメント

jlvdoorn
jlvdoorn 2022 年 6 月 1 日
編集済み: jlvdoorn 2022 年 6 月 1 日
Thanks,
Now how do i add a penalty (say, 10^6) to the cost function if any of the variables, x(1) to x(4) become negative?
I am using 'fminsearch' for optimizing the problem.
Matt J
Matt J 2022 年 6 月 1 日

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

その他の回答 (0 件)

カテゴリ

製品

リリース

R2022a

質問済み:

2022 年 6 月 1 日

コメント済み:

2022 年 6 月 1 日

Community Treasure Hunt

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

Start Hunting!

Translated by