1 view (last 30 days)

Show older comments

Hello everyone,

I need to fit experimental data to an analytical solution. The analytical solution has the form:

- C(z,t) = C_eq*f(z,t,D)

where f(z,t,D) is a known function of time (t) and position (z), and D and C_eq are parameters to regress.

I have already determined D and C_eq using the routine fminsearch. However, I would like to consider that C_eq does not necessarily have to be constant and can change over time.

My question is whether it is possible to regress C_eq as a vector instead of a constant? In this case, which routine is the most appropriate?

P.D: parameter D could also be considered as a vector if necessary.

Thanks in advance.

Torsten
on 1 Aug 2019

Use "lsqcurvefit" with the parameter vector x = (C_eq(1),C_eq(2),...,C_eq(n)).

Matt J
on 13 Aug 2019

As the others have said, all regression routines in the Optimization Toolbox allow you to represent the unknown variable in vector form. However, fminspleas might work especially well for your problem

since you only have one parameter that is intrinsically non-linear.

Sai Bhargav Avula
on 13 Aug 2019

Matt J
on 13 Aug 2019

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

Start Hunting!