fitting a scatter plot to power law
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Joseph
 el 24 de Sept. de 2019
  
    
    
    
    
    Editada: Star Strider
      
      
 el 24 de Sept. de 2019
            I have an array A(5,2). how can i fit it to a power law y= c1*x^n1+c2*x^n2 in wich C1, C2, n1 and n2 are real numbers and yet to be determined from the fit?
Thank you
0 comentarios
Respuesta aceptada
  Star Strider
      
      
 el 24 de Sept. de 2019
        
      Editada: Star Strider
      
      
 el 24 de Sept. de 2019
  
      One approach: 
objfcn = @(b,x) b(1).*x.^b(3) + b(2).*x.^b(4);
x = 1:10;                                                                   % Create Data
y = rand(1, 10);                                                            % Create Data
B0 = ones(4,1);
[B,rsdnrm] = fminsearch(@(b) norm(y - objfcn(b,x)), B0);
fprintf(1, 'c_1 = %12.6f\nc_2 = %12.6f\nn_1 = %12.6f\nn_2 = %12.6f\n', B)
Experiment to get the result you want.  
EDIT — (24 Sep 2019 at 15:19)
I have no idea how ‘A’ fits into this, since it was not described in any detail.  
A guess: 
[B,rsdnrm] = fminsearch(@(b) norm(A(:,2) - objfcn(b,A(:,1))), B0);
This fits the second column of ‘A’ to the first column, using the function.  Reverse the column designations if necessary.  
0 comentarios
Más respuestas (0)
Ver también
Categorías
				Más información sobre Interpolation en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!