Matlab - Problema con lsqcurvefit

 
Vista:

Problema con lsqcurvefit

Publicado por Christian (1 intervención) el 11/08/2018 02:18:14
Tengo la siguiente funcion a ajustar

1
2
3
4
5
function[x1]=ejercicio2(xdatos,ydatos)
fun1=@(x,xdatos) x(1)./(x(2)+exp(-x(3)*x));
x0f1=[0 1 0];
%x0f2=[0 1 2 3];
x1=lsqcurvefit(fun1,x0f1,xdatos,ydatos)

El vector xdatos, ydatos yo lo ingresé por el command windows, tienen el mismo tamaño, pero al llamar a la función ejercicio2() me arroja

Error using lsqcurvefit (line 251)
Function value and YDATA sizes are not equal

Que puede ser? se supone que el vector x, tiene los 3 parametros a buscar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Problema con lsqcurvefit

Publicado por Daniel (264 intervenciones) el 18/08/2018 00:45:14
Hay un error en la linea

1
fun1=@(x,xdatos) x(1)./(x(2)+exp(-x(3)*x));


Deberia ser

1
fun1=@(x,xdatos) x(1)./(x(2)+exp(-x(3)*xdatos));

Fijate que x son los parametros a calcular y xdatos son los datos quiza el nombre x confunda un poco se podria escribir maas claro asi:

1
fun1=@(parametro,xdato) parametro(1)./(parametro(2)+exp(-parametro(3)*xdato));



Comentanos como te fue

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar