2
A = A + B;
A 및 B beeing는 매트릭스를 작성 MATLAB는이 "에서 적절한"즉 요소를 변화 수행, 또는 새로운 메모리는 결과를 저장하도록 할당 될 것인가? 그렇다면 어떻게 피할 수 있습니까?
궁금 이유는 예를 들어, 하나
A = A + B + A^2;
를 기록, 경우 원래의 데이터를 여러 번 액세스 할 필요가 있고, 따라서 단순히 최초의 첨가에 의해 덮어 쓸 수 없습니다 수 있다는 것입니다.
감사합니다.
"첫 번째 추가로 단순히 덮어 쓸 수 없다"는 것은 무엇을 의미합니까? 당신은 정교 할 수 있습니까? –
'A + B'는 원소 단위의 연산이므로 MATLAB Just-In-Time 엔진은 결과를 저장하기 위해'A'를 재사용 할 수 있습니다. 두 번째 경우에서 'A^2'는 행렬 곱셈이며 단일 요소를 계산하려면 'A'의 전체 행과 열에 대한 액세스가 필요합니다. 기본적으로 원래의 'A'에 대한 액세스가 필요합니다. 즉, 모든 것을 제대로 처리 할 수 없다는 것을 의미합니다. 일반적으로 MATLAB이 의도적으로 문서화되지 않았기 때문에이 레벨에서 MATLAB이 무엇을하는지 짐작하기는 어렵습니다 (부분적으로는 릴리스로 변경 될 수 있고 어떤 의미에서는 저수준 구현 세부 정보로 작업하는 언어의 정신에 위배됩니다). – John
A = A + B + A.^2입니까? – Marc