How to optimize parameters that satisfy the equation.
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I want to optimize three parameters x, y, z that satisfy the following equation.
A(D) = abs(x * (y * exp(1i * z) * B(D) + C(D)))
A (D), B (D), C (D): Constant determined by D
i : imaginary unit
However, it does not converge to the expected value.
What sholud I do about this situation?
I used the Optimize Live Editor Task with the following contents by referring to the following URL.
https://www.mathworks.com/help/matlab/math/optimize-live-editor-matlab.html
Objective : Nonlinear
Constraints : Unconstrained
Solver : fminsearch
Objective function : Local function, objectiveFcn
Initial point : x0 = [3 2 pi]
This time, A (D) = 0.24, B (D) = 0.05, C (D) = 0.02, and the Local function is described as follows.
At this time, x, y, and z are expected to be 3, 2, pi, respectively.
---------------------------------------------------------
function f = objectiveFcn(optimInput)
x = optimInput(1);
y = optimInput(2);
z = optimInput(3);
f = 0.24 - abs(x*(0.05*y*exp(1i*z) + 0.02));
end
---------------------------------------------------------
0 comentarios
Respuesta aceptada
Matt J
el 18 de Mzo. de 2022
Editada: Matt J
el 18 de Mzo. de 2022
First, you must fix the formula for f
f = abs( 0.24 - abs(x*(0.05*y*exp(1i*z) + 0.02)) );
Second, you have 3 unknowns, so you must provide at least 3 equations.
5 comentarios
Matt J
el 22 de Mzo. de 2022
For example, if your equations were the 2x2 system A*x=b
A=rand(2); b=sum(A,2);
f=@(x) sum(abs(A*x-b));
x=fminsearch(f,[0;0])
Más respuestas (0)
Ver también
Categorías
Más información sobre Optimization 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!