matlabFunction is too slow

7 visualizaciones (últimos 30 días)
Marrie
Marrie el 11 de Dic. de 2013
Comentada: Brad Carman el 16 de Oct. de 2014
Hi all,
I am using matlabFunction to create a .m file to define the function of a vector and its Jacobian:
matlabFunction(fvec, J, 'file', filename, 'vars', {x, phi_old});
When the dimension of the vector = 50, the time cost is reasonable; but when setting the dimension to 500, it becomes extremely slow. Would you please give advice for this problem?
Thank you.

Respuesta aceptada

Alan Weiss
Alan Weiss el 12 de Dic. de 2013
I have no general advice. Perhaps if we saw a small snippet of your code we could help.
It is possible that your Jacobian is sparse, meaning it has a lot of zeros. In that case, it might be possible to avoid using matlabFunction at all, and simply use the JacobPattern option to have sparse finite differencing instead of time-consuming analytic calculations. Or perhaps there could be a hybrid sort of solution, where you explicitly calculate analytically (with matlabFunction) only the nonzero terms in the Jacobian. But this would require you to write a custom program.
Or it could be something as simple as declaring your symbolic variables to be real, which sometimes (but not often) saves time in matlabFunction.
Sorry I have nothing so helpful. There is simply a lot of calculation to be done, and it uses a lot of memory and time.
Alan Weiss
MATLAB mathematical toolbox documentation
  1 comentario
Brad Carman
Brad Carman el 16 de Oct. de 2014
What is the "JacobPattern option"?

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Programming en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by