# Solve system of three nonliner equations in MATLAB - bioimpedance modelling

Status
Not open for further replies.

#### north2012

##### Member level 3
Hello,

I am trying to solve problem of parameter estimation of 2R-1C model of bioimpedance. I have made measurements and I have |Z| and phase angle data in frequency range 10k-100kHZ, so I calculated real and imaginary part. I would like now to estimate parameters of the model: Re, Ri and Cm. I use Fricke's model of bioimpedance (https://nano.mdx.ac.uk/wp-content/uploads/2011/11/Cole-Cole-Model-with-Cells.jpg).
I use MATLAB lsqnonlin function to estimate parameters from measured data and it works fine but it has strong dependance of initial conditions so I decided to try to estimate initial conditions more accurate. Here is my MATLAB code for that
Code:
clear all
clc
syms Re Ri C
omega =10000*6.28;
Z = 264.45; %measured
Real = 248.78; %calculated from Z and phase angle
Imag = -89.67; %calculated from Z and phase angle
rz=(Re+omega*omega*C*C*Re*Ri*(Re+Ri))/(1+omega*omega*C*C*(Re+Ri)*(Re+Ri)); %real part of Fricke's model
iz=-(omega*C*Re*Re)/(1+omega*omega*C*C*(Re+Ri)*(Re+Ri)); %imag part of Fricke's model
eq1= rz-Real;
eq2=iz-Imag;
eq3= sqrt(rz*rz+iz*iz)-Z;
sol = solve(eq1, eq2, eq3);
double(sol.Re)
double(sol.Ri)
double(sol.C)

but MATLAb response in command window is
"Warning: Explicit solution could not be found.
> In solve at 169
Comma separated list expansion has cell syntax for an array that
is not a cell.
Error in sym/subsref (line 1575)
[inds{k},refs{k}] = privformat(inds{k});"

Any suggestions?

#### _Eduardo_

##### Full Member level 5
I am trying to solve problem of parameter estimation of 2R-1C model of bioimpedance. I have made measurements and I have |Z| and phase angle data in frequency range 10k-100kHZ, so I calculated real and imaginary part. I would like now to estimate parameters of the model: Re, Ri and Cm.

You have only 2 equations (Real part-Imag part of Z) not 3 and 3 unknowns, you know what this mean?

Any suggestions?
Take another measure of the impedance. (ie. @5kHz)

#### north2012

##### Member level 3
I think that I have three independent equations because I have known |Z|, Real and Imaginary part and Re, Ri and C are unknown. Relationship between |Z| and (Real, Imag) is |Z|=sqrt(Real*Real+Imag*Imag) so I have to have set of solutions (Re, Ri, C) which will satisfy |Z|, Real and Imag but not |Z| and sqrt(Real*Real+Imag*Imag).
Explanation:
Real=300
Imag=-400
|Z|=sqrt(300*300+400*400)=500

but
Real=300
Imag=400
|Z|=sqrt(300*300+400*400)=500

will give the same value for |Z| and no for Imag.

Am I correct?

#### _Eduardo_

##### Full Member level 5
I think that I have three independent equations because I have known |Z|, Real and Imaginary part and Re, Ri and C are unknown. Relationship between |Z| and (Real, Imag) is |Z|=sqrt(Real*Real+Imag*Imag) so I have to have set of solutions (Re, Ri, C) which will satisfy |Z|, Real and Imag but not |Z| and sqrt(Real*Real+Imag*Imag).
Explanation:
Real=300
Imag=-400
|Z|=sqrt(300*300+400*400)=500

but
Real=300
Imag=400
|Z|=sqrt(300*300+400*400)=500

will give the same value for |Z| and no for Imag.

Am I correct?

No. sqrt is a multivalued function

Imag = +/- sqrt(|Z|^2-Real^2)

But, since |Z|^2 = Real^2+Imag^2 , there is not much to say about the dependence.

If you have only 2 parameters:
z: Measured
phase: Measured

For every set F1(z,phase)=k1, F2(z,phase)=k2, F3(z,phase)=k3... there will always be only 2 independents, no matter how many equations have written and how multivalued are.

Status
Not open for further replies.