fminbnd Error using .^ Matrix dimensions must agree.
이전 댓글 표시
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?
댓글 수: 1
James Tursa
2015년 11월 16일
What are the sizes of the variables involved?
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!