Using matfile objects as input parameters

I was wondering if a matfile object can be used as an input parameter for any matlab function, like in the following example:
distances = matfile(output_file,'Writable',true);
distances.D = zeros(1,N*(N-1)/2);
%Compute distances and store them in distances.D
% Applying multidimensional scaling to the distances matrix
[Y,eigvals] = cmdscale(D);
Is that possible? What about operators like distances.D*distances.D? Or should I reimplement matlab functions and operators again if I am using this kind of objects?

 Respuesta aceptada

per isakson
per isakson el 12 de Jul. de 2013
Editada: per isakson el 12 de Jul. de 2013

1 voto

Yes, it is ok to pass around matfile objects, matObj; make some simple experiments.
I don't think the documentation says anything about several different matObj, which refer to the same file at the same time.

2 comentarios

Pablo
Pablo el 14 de Jul. de 2013
Thank you for your answer.
What if the invoked method (like cmdscale in my example) has to return a huge array? Let's suppose that there is not enough space in memory for that returned array. Is it any way to make it use matfile objects?
Speculation: There should be "no difference" between
distances.D = zeros(1,N*(N-1)/2);
and
[ matObj.Y, eigvals ] = cmdscale(D);
Make an experiment to find out how smart matfile is with large variables.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Productos

Etiquetas

Preguntada:

el 12 de Jul. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by