Minimize difference between vectors by varying scalar

5 visualizaciones (últimos 30 días)
alberto tonizzo
alberto tonizzo el 18 de Mayo de 2022
Comentada: alberto tonizzo el 22 de Mayo de 2022
Hello,
I'm trying to use fminsearch to find the scalar (a) that minimizes the difference between 2 vectors of dimension N, i.e. diff = abs(x - a*x_model).
The difference (diff) is a vector of dimensions 1xN and fminsearch outputs also a vector of dimensions 1xN, but I would like to just have a scalar value for a.
Also, should diff be normalized by the mean of x?
I hope my explanation is clear, thank you in advance.
  1 comentario
Torsten
Torsten el 18 de Mayo de 2022
You cannot minimize a vector (in your case diff = abs(x-a*x_model)). You can minimize the norm of a vector.
For diff = x-a*x_model, you must decide which norm to take.

Iniciar sesión para comentar.

Respuesta aceptada

Torsten
Torsten el 18 de Mayo de 2022
Editada: Torsten el 18 de Mayo de 2022
a = x_model\x
minimizes
norm(a*x_model - x)
If you want to minimize the difference in another norm (e.g. max(abs(a*x_model-x)) or sum(abs(a*x_model-x))), the solution will be different.

Más respuestas (0)

Categorías

Más información sobre Traveling Salesman (TSP) 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