How to fit a complex equation?

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
3 replies · 2K views
bitele
Messages
3
Reaction score
0
Z(x)=(50*m+m^2*tanh((a+b*i)*x))/(m+50*tanh((a+b*i)*x))
where i is imaginary unit, x is the independent variable, Z is the dependent variable, and a, b and m are the parameters.
We measures variable Z at a discrete set of values of variable x:
x=[1, 2, 3, 4, ...20]
Z=[57.6286+0.6328*i, 57.1207+0.6694*i, 56.9751+0.6525*i, 58.4018+0.6432*i, 57.2407+0.6809*i, 57.4864+0.6892*i, 58.7988+0.6761*i, 59.6706+0.7166*i, 58.5738+0.6758*i, 59.1651+0.6283*i, 58.4831+0.6437*i, 59.6807+0.6949*i, 58.6072+0.6453*i, 58.5499+0.6452*i, 60.0737+0.7014*i, 59.3941+0.6916*i, 58.7153+0.7090*i, 58.5133+0.6446*i, 60.8528+0.6817*i, 60.7193+0.6810*i]

We want to know what parameter values of a, b and m correspond to the data.
 
Physics news on Phys.org
In order to make the problem more dramatic, more elegant, you can calculate the mean value, plot a graph, add the data points with different colors, predict which one is closest, check the value of Z when subtituting data into its functon, etc etc etc
 
bitele said:
Z(x)=(50*m+m^2*tanh((a+b*i)*x))/(m+50*tanh((a+b*i)*x))
where i is imaginary unit, x is the independent variable, Z is the dependent variable, and a, b and m are the parameters.
We measures variable Z at a discrete set of values of variable x:
x=[1, 2, 3, 4, ...20]
Z=[57.6286+0.6328*i, 57.1207+0.6694*i, 56.9751+0.6525*i, 58.4018+0.6432*i, 57.2407+0.6809*i, 57.4864+0.6892*i, 58.7988+0.6761*i, 59.6706+0.7166*i, 58.5738+0.6758*i, 59.1651+0.6283*i, 58.4831+0.6437*i, 59.6807+0.6949*i, 58.6072+0.6453*i, 58.5499+0.6452*i, 60.0737+0.7014*i, 59.3941+0.6916*i, 58.7153+0.7090*i, 58.5133+0.6446*i, 60.8528+0.6817*i, 60.7193+0.6810*i]

We want to know what parameter values of a, b and m correspond to the data.

The usual method in cases like this is to do a least square fit, that is find the minimum of:

f(a,b,m)=Sum (k=1,20) |Z(k)-Zk|2
It might be messy, but you need to get the derivatives of with respect to a, b, and m. If m has to be an integer, use the integers closest to the value you get. Then recompute a and b for both cases and see which is better.
 
Hi Bitele,

The time to edit has elapsed on your current post, so just copy and paste it into a new post here and make your corrections. Just state that the new post in this thread is a correction of the original.