MATLAB: How to use fminsearch to find the unknown variables of equation

fminsearch to find the unknown

I'm not pretty sure how to use fminsearch with matrix variables. For example if I have
x = [0,1,2,3,4]
y = [5,10,25,40,90]
and question ask, use fminsearch to estimate C1 and C2 of equation y=C1*exp(C2*x). Is possible to find the unknown variables by using fminsearch?
Thank you a lot

Best Answer

It is easiest to do this by starting with the symbolic toolbox.
C = sym('C', [1 2]);
Then
residue = sum( (C(1)*exp(C(2)*x) - y).^2 );
fun = matlabFunction(residue, 'vars', {C});
Now you can fminsearch using fun as the objective function.
The more direct method without searching is
temp = [ones(length(x),1), x.'] \ log(y.');
C1 = exp(temp(1));
C2 = temp(2);