0

I wonder if someone could show me some pointers with regards to the following query.

I have the following constraint: $$ b_{min} \leq b \leq b_{max} $$ these values are used to generate a value for x: $$ x = f(b) $$ So I have a range of values for $x$, which are then used to generate:$$ d = g(x) $$ Therefore, I generate $$ x_{m}, d_{m} $$ where $ m $ is the number of values between $ b_{min} $ and $ b_{max} $.

What I am trying to find is the value of $ x $ such that:

$$ \Delta_{min} = \sqrt{ \left(\left(\left(d - d_{ref} \right)*W\right)^2 + \left(b - b_{ref} \right)^2 \right)} $$

I essentially have known reference values for $ b $ and $ d $, and I need the value of $ x $ that minimises the equation above.

What would be the best way of achieving this?

I have a set of known "good" data that I am trying to replicate, I have written a "Brute Force" method using Matlab which is very close to the "good" data but... "very close" isn't good enough. I can't help thinking there must be a better way. I've played around with constrained minimisation within Matlab, which again gives very close results but not exact results.

Can anyone suggest how I might approach this minimisation problem in a more Mathematically sound fashion? Do I need to take the Partials wrt $ b$ and $d$ and set to $ 0 $ - my thinking is that I can't as a non-linear minimisation is required. Any suggestions gratefully received.

EDIT I tried to keep the question as clean as possible, hence not putting in $ f $ and $ g $ initially so apologies for that.

More information on $ f(b) $. This function returns a "forced" value that is dependent on $b$ $$ f(b) = \sqrt{ \left(b^2 - H_{x}^2 - H_{y}^2 \right)} = x $$ where $ H = \begin{pmatrix} H_{x} & H_{y} & H_{z} \end{pmatrix} $ and I am "forcing" $ H_{z} $. So... we force the $ H_{z} $ value and generate a new $ H $ vector (see below for $ g(x) $).

More information on $ g(x) $. This function calculates an angle based upon two vectors. The $x$ parameter is used to reform $ H $, we get: $$ H = \begin{pmatrix} H_{x} & H_{y} & x \end{pmatrix} = \begin{pmatrix} H_{x} & H_{y} & H_{z} \end{pmatrix} $$ Using $H$ and: $$ G = \begin{pmatrix} G_{x} & G_{y} & G_{z} \end{pmatrix} $$ We calculate an angle $ d $ with: $$ g(x) = \sin^{-1}\left(\frac{H \cdot G}{\lvert\lvert H \rvert\rvert \cdot \lvert\lvert G \rvert\rvert}\right) = d $$

Hope this helps.

Mike
  • 461

0 Answers0