I'm trying to use fminbnd to find a scalar k that minimizes the difference between three sets of values, but receive the above error.
My Function:
function[f] = min_diff(k,sample1,sample2,sample3) alpha1 = 5 ./ (sample1 .^ k); alpha2 = 7 ./ (sample2 .^ k); alpha3 = 10 ./ (sample3 .^ k); mean1 = mean(alpha1); mean2 = mean(alpha2); mean3 = mean(alpha3); f = abs(mean1-mean2) + abs(mean1-mean3) + abs(mean2-mean3);
Code to run function:
[k_estimate,fval,exitflag] = fminbnd(@(k) min_diff(k,sample1,sample2,sample3),0,[],options);
Full Error Message:
Error using .^ Matrix dimensions must agree. Error in min_diff (line 3) alpha1 = 5 ./ (sample1 .^ k); Error in @(k)min_diff(k,sample1,sample2,sample3) Error in fminbnd (line 214) x= xf; fx = funfcn(x,varargin{:});
I'm using dot-operators everywhere. Does this have something to do with how fminbnd runs?
Best Answer