Brute force for finding optimal value
    8 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
    Chetan Fadnis
 il 28 Mar 2022
  
    
    
    
    
    Commentato: Walter Roberson
      
      
 il 28 Mar 2022
            I have a function Say, f(x)=(1-0.5)*[(sin(x-0.25))/2]+0.5.
and x lie in range [-pi,pi], which need to be optimized such that the f(x) will be maximum. The final result f(x), after applying brute force, will be of order 1*10. How to incorporate it, using brute force?
Regards and thanks in anticipation.
2 Commenti
Risposta accettata
  Walter Roberson
      
      
 il 28 Mar 2022
        Brute force is defined as trying all possible values. You have about 8*10^18 representable values in that range, so if you need to use brute force then the best you can hope for is roughly 3 months of computation (unless a gpu could be used)
1 Commento
  Walter Roberson
      
      
 il 28 Mar 2022
				There might be reason to divide a range into segment, and run fmincon() of the function confined to that segment, and the gather all of the results together. But that would not be considered brute force.
Più risposte (1)
  Torsten
      
      
 il 28 Mar 2022
        
      Modificato: Torsten
      
      
 il 28 Mar 2022
  
      I don't understand. Your function has a single maximum at x=0.25+pi/2. Why are you talking about 10 x-values ?
Do you perhaps mean
f = @(x)(1-0.5)*sin(x-0.25)/2 + 0.5;
x = linspace(-pi,pi,10);   % Choose 10 equidistant x-values
[imax,fmax] = max(f(x));   % find maximum and position under the 10 x-values
xmax = x(imax)             % print out x position of maximum
0 Commenti
Vedere anche
Categorie
				Scopri di più su Logical in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


