Matlab에서 다음 계산을 수행하는 방법은 무엇입니까?

kloop

비슷한 질문이 있습니다. Matlab이 다음을 최적화하지 않습니까?

그러나 이것은 더 어려운 변형이며 해결책이 작동하지 않는다고 제안했습니다.

나는 매우 긴 행렬 nxr V, 매우 긴 행렬 W nxs 및 희소 한 행렬 A rxs를 가지고 있습니다 (그러나 차원이 매우 큽니다).

다음이 Matlab에 의해 최적화 될 것으로 예상했기 때문에 메모리 문제가 발생하지 않습니다.

A./(V'*W)

그러나 메모리 부족 문제가 발생했기 때문에 Matlab이 실제로 전체 V '* W 행렬을 생성하려고 시도하는 것 같습니다. 이것을 극복 할 방법이 있습니까? A의 많은 값이 0이기 때문에 모든 V '* W를 계산할 필요가 없습니다.

가능하다면 한 가지 방법은 A (find (A)) ./ (V '* W) (find (A));

그러나 먼저 계산하고 변수에 넣지 않고는 행렬의 하위 집합 (이 경우 V '* W)을 선택할 수 없습니다.

(이전 질문과의 주요 차이점 : V와 W는 단순한 벡터가 아니라 행렬입니다.)

루이스 멘도

대답 이전 질문은의 제로가 아닌 값을 계산하는 일반화 될 수 A./(V'*W)는 다음과 같이를 :

[ii jj Anz] = find(A);
result = arrayfun(@(n) Anz(n) / ( V(:,ii(n))'*W(:,jj(n)) ), 1:length(ii) );

이것은 한 번에 하나씩 V'*W해당 행렬의 필요한 항목 (즉, 해당 항목 A이 0이 아닌 항목) 만 계산하기 때문에 전체 행렬 계산을 방지 합니다 . 따라서 메모리 사용량은 낮게 유지됩니다. 속도에 관해서 arrayfun는 일반적으로 사용 이 느리지 만 A0이 아닌 값이 거의 없으면 오래 걸리지 않습니다.

물론 희소 행렬 A./(V'*W)sparse(ii,jj,result).

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

R에서이 계산을 수행하는 방법은 무엇입니까?

분류에서Dev

SQL에서 다른 테이블을 사용하여 각 행을 계산하는 방법은 무엇입니까?

분류에서Dev

음수 값을 무시하면서 중앙값을 계산하는 방법은 무엇입니까?

분류에서Dev

팬더 그룹에서 모든 양수 및 음수 값을 계산하는 방법은 무엇입니까?

분류에서Dev

현재 값과 배열에 들어가는 다음 항목을 계산하는 방법은 무엇입니까?

분류에서Dev

한 열의 다른 행에서 백분율을 계산하는 방법은 무엇입니까?

분류에서Dev

Ruby에서 다음 일요일까지의 일수를 계산하는 방법은 무엇입니까?

분류에서Dev

행을 그룹화하고 한 열에서 계산하고 다른 열에서 합계를 계산하는 방법은 무엇입니까?

분류에서Dev

SQL (Impala)에서 조건을 충족하는 행과 다음 행 사이의 시간 델타를 계산하는 방법은 무엇입니까?

분류에서Dev

imageclick에서 드롭 다운을 수행하는 방법은 무엇입니까?

분류에서Dev

R에서 다음과 같은 복잡한 합계를 계산하는 방법은 무엇입니까?

분류에서Dev

matlab에서 행 수가 다른 다른 행렬로 행렬을 만드는 방법은 무엇입니까?

분류에서Dev

matlab에서 행 수가 다른 다른 행렬로 행렬을 만드는 방법은 무엇입니까?

분류에서Dev

다른 열의 동일한 값에 따라 열의 행을 계산하는 방법은 무엇입니까?

분류에서Dev

Bash 또는 다른 언어 / 프레임 워크에서 정수 및 부동 계산을 수행하는 방법은 무엇입니까?

분류에서Dev

파일의 줄 수를 계산 한 다음 bash에서 해당 변수에 수학을 사용하는 방법은 무엇입니까?

분류에서Dev

NASM에서 다음 이동 지침을 수행하는 방법은 무엇입니까?

분류에서Dev

목록에서 중복을 찾고 발견 된 중복 인스턴스마다 다른 계산을 수행하는 방법은 무엇입니까?

분류에서Dev

SQL에서 행의 값을 계산하는 방법은 무엇입니까?

분류에서Dev

그러나 r에서 다음 합계를 계산하는 방법은 무엇입니까?

분류에서Dev

Cassandra에서 행의 열 수를 계산하는 방법은 무엇입니까?

분류에서Dev

백본이 model.save를 수행 할 때 계산 된 값을 서버로 다시 보내는 것을 중지하는 방법은 무엇입니까?

분류에서Dev

쿼리 수식 내에서 복잡한 계산을 수행하는 방법은 무엇입니까?

분류에서Dev

mysql에서 수학적 계산을 수행하는 방법은 무엇입니까?

분류에서Dev

MS Excel 또는 LibreOffice에서 "대권"계산을 수행하는 방법은 무엇입니까?

분류에서Dev

PowerShell을 사용하여 csv에서 각 행의 쉼표 수를 계산하는 방법은 무엇입니까?

분류에서Dev

mongodb에서 배열을 계산 / 합산하는 방법은 무엇입니까?

분류에서Dev

다른 테이블에서 세 번째 열로 두 열을 계산하는 방법은 무엇입니까?

분류에서Dev

다른 테이블의 조인 쿼리에서 결과 값을 계산하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    R에서이 계산을 수행하는 방법은 무엇입니까?

  2. 2

    SQL에서 다른 테이블을 사용하여 각 행을 계산하는 방법은 무엇입니까?

  3. 3

    음수 값을 무시하면서 중앙값을 계산하는 방법은 무엇입니까?

  4. 4

    팬더 그룹에서 모든 양수 및 음수 값을 계산하는 방법은 무엇입니까?

  5. 5

    현재 값과 배열에 들어가는 다음 항목을 계산하는 방법은 무엇입니까?

  6. 6

    한 열의 다른 행에서 백분율을 계산하는 방법은 무엇입니까?

  7. 7

    Ruby에서 다음 일요일까지의 일수를 계산하는 방법은 무엇입니까?

  8. 8

    행을 그룹화하고 한 열에서 계산하고 다른 열에서 합계를 계산하는 방법은 무엇입니까?

  9. 9

    SQL (Impala)에서 조건을 충족하는 행과 다음 행 사이의 시간 델타를 계산하는 방법은 무엇입니까?

  10. 10

    imageclick에서 드롭 다운을 수행하는 방법은 무엇입니까?

  11. 11

    R에서 다음과 같은 복잡한 합계를 계산하는 방법은 무엇입니까?

  12. 12

    matlab에서 행 수가 다른 다른 행렬로 행렬을 만드는 방법은 무엇입니까?

  13. 13

    matlab에서 행 수가 다른 다른 행렬로 행렬을 만드는 방법은 무엇입니까?

  14. 14

    다른 열의 동일한 값에 따라 열의 행을 계산하는 방법은 무엇입니까?

  15. 15

    Bash 또는 다른 언어 / 프레임 워크에서 정수 및 부동 계산을 수행하는 방법은 무엇입니까?

  16. 16

    파일의 줄 수를 계산 한 다음 bash에서 해당 변수에 수학을 사용하는 방법은 무엇입니까?

  17. 17

    NASM에서 다음 이동 지침을 수행하는 방법은 무엇입니까?

  18. 18

    목록에서 중복을 찾고 발견 된 중복 인스턴스마다 다른 계산을 수행하는 방법은 무엇입니까?

  19. 19

    SQL에서 행의 값을 계산하는 방법은 무엇입니까?

  20. 20

    그러나 r에서 다음 합계를 계산하는 방법은 무엇입니까?

  21. 21

    Cassandra에서 행의 열 수를 계산하는 방법은 무엇입니까?

  22. 22

    백본이 model.save를 수행 할 때 계산 된 값을 서버로 다시 보내는 것을 중지하는 방법은 무엇입니까?

  23. 23

    쿼리 수식 내에서 복잡한 계산을 수행하는 방법은 무엇입니까?

  24. 24

    mysql에서 수학적 계산을 수행하는 방법은 무엇입니까?

  25. 25

    MS Excel 또는 LibreOffice에서 "대권"계산을 수행하는 방법은 무엇입니까?

  26. 26

    PowerShell을 사용하여 csv에서 각 행의 쉼표 수를 계산하는 방법은 무엇입니까?

  27. 27

    mongodb에서 배열을 계산 / 합산하는 방법은 무엇입니까?

  28. 28

    다른 테이블에서 세 번째 열로 두 열을 계산하는 방법은 무엇입니까?

  29. 29

    다른 테이블의 조인 쿼리에서 결과 값을 계산하는 방법은 무엇입니까?

뜨겁다태그

보관