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?

 채택된 답변

per isakson
per isakson 2013년 7월 12일
편집: per isakson 2013년 7월 12일

1 개 추천

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

Pablo
Pablo 2013년 7월 14일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Scripts에 대해 자세히 알아보기

제품

태그

질문:

2013년 7월 12일

Community Treasure Hunt

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

Start Hunting!

Translated by