Problem with fminsearch Error in fminsearch : (line 200) fv(:,1) = funfcn(x,varargin{:});
    조회 수: 10 (최근 30일)
  
       이전 댓글 표시
    
hello every one
Here's my code :
    % Variables
    eta = 20 ;
    beta = 100 ;
    mensualites5 = 8.974646657515070*10^3 ;
    k5 = 120 ;
    portion_alpha = linspace(0,1,100);
    k_alpha = k5.*portion_alpha ; 
    % Equations
    reinvestissement = (1-portion_alpha)*mensualites5 ;
    benefice = eta*reinvestissement.*exp(-k_alpha/beta) ; 
    profit = (benefice-portion_alpha.*mensualites5).*k_alpha ;
    minus_profit = -(benefice-portion_alpha.*mensualites5).*k_alpha ;
    % Function + fminsearch
    f = @(portion_alpha) minus_profit ;
    x0 = 0.35 ;
    [portion_alpha, fmin] = fminsearch(f,x0);
    disp(fmin)
    disp(portion_alpha)
I always have this error message :
    Unable to perform assignment because the size of the left side is
    1-by-1 and the size of the right side is 1-by-100.
    Error in fminsearch (line 200)
    fv(:,1) = funfcn(x,varargin{:});
    Error in Exercice1_2 (line 130)
    [portion_alpha, fmin] = fminsearch(f,x0);
I don't understand why. Could somebody help me pleaaaase ? Thx
댓글 수: 0
답변 (1개)
  Zenin Easa Panthakkalakath
    
 2018년 11월 19일
        Hello Amandine,
It seems that the function f is not defined in the right way. Here f is a function that takes 'portion_alpha' as an argument and returns 'minus_profit'. 'minus_profit' isn't even defined in the function and hence the value of the same is taken from the defenition before.
If you try to run the following command, it would result in a logical array of 1s. This means that the function is invariant to the input argument; or in other words, function is constant.
>> f(1) == f(2)
I think you should try to define the function in the right way and see if f(x) for different values of x are giving you the answers as expected.
Please read through the documentation for more infromation: https://www.mathworks.com/help/matlab/ref/fminsearch.html
Regards,
Zenin
댓글 수: 0
참고 항목
카테고리
				Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!