About SVD running time in Matlab and in C code which produced by Matlab coder.

조회 수: 5 (최근 30일)
I use SVD like code below [U,S,V] = svd(PhiG,'econ'); which PhiG is double complex matrix with dimension 60*1024. In matlab code ,the SVD running time is about 0.04 second. However ,after I compile the matlab code to C code using matlab coder.The svd running time is about 4.0+s,which is about 100 times compared to the running time in Matlab code. I have noticed that the Matlab using lapack code to calculate SVD. So the difference in running time due to Fortran code beneath Matlab code? Or is there any other reason? And how can I improve the running time in C code? Thanks a lot for any feedback.

채택된 답변

Walter Roberson
Walter Roberson 2015년 8월 13일
Your options are going to depend upon your target platform. For example if you are aiming at MS Windows then you may be able to call upon https://en.wikipedia.org/wiki/Math_Kernel_Library
  댓글 수: 3
Walter Roberson
Walter Roberson 2015년 8월 13일
Relevant information that I dug up a couple of months ago from a different context, about what is available for ARM: http://www.mathworks.com/matlabcentral/answers/122248#answer_179228
WillandSmith
WillandSmith 2015년 8월 14일
Thank you,Walter.I will try all your advice in these days.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Call C++ from MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by