multiplying a matrix into its transpose
이전 댓글 표시
Hi,
I have an sparse and large matrix (A). I would like to do this operation:
C=A*(A');
Using above command takes about 17 sec if size(A)=[31494 277254].
Is there any more efficient command to do the task? Since C matrix will be symmetric so compiler just need to compute half of the C.
댓글 수: 1
Prasad Reddy
2020년 4월 23일
First define matrix c as a zeros matrix of same size and chech if it works.
This is called pre allocation.
Generally preallocation reduces the timeof execution.
command is
C=zeros(31494,277254)
C=A*(A')
if you want to form only half of the matrix then yu can use for lops.
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Programming에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!