Minimisation of function that contains vectors as constants
Show older comments
I am very new in minimization via Matlab! I would like your advice about how to minimise a specific function to be equal to the values of a vector. My function is:
objfun = @(x)(((x(1) .* exp((x(2) .* k + imag((((x(3) .* F)) .* k) + x(4)))))) == KK)
[x,Fval] = fminsearch(objfun,[1,2,2,40],options);
Namely I would like to minimise the objfun to be equal to KK, where KK is a vector of size 130x1.
But also, F and k are vectors of size 130x1.
As I said I am very new at minimisation by Matlab and I do not know how to solve and express this!!! Should it be in a loop? When I am trying a loop (e.g. for i=1:130), I get every time the initial values as result! I would like to thank you in advance for any help and I am very sorry if this looks very silly to you!
Accepted Answer
More Answers (1)
I suspect that this is not an optimization problem at all. I suspect that what you are really try to get is
result = find( (((x(1) .* exp((x(2) .* k + ...
imag((((x(3) .* F)) .* k) + x(4)))))) == KK) , 1);
Categories
Find more on Function Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!