Minimize difference between vectors by varying scalar

6 Ansichten (letzte 30 Tage)
alberto tonizzo
alberto tonizzo am 18 Mai 2022
Kommentiert: alberto tonizzo am 22 Mai 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 Kommentar
Torsten
Torsten am 18 Mai 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Torsten
Torsten am 18 Mai 2022
Bearbeitet: Torsten am 18 Mai 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.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by