Multiplying two matrices with completely different dimensions
이전 댓글 표시
Hi everybody. I've programmed the following code:
[X,Y,Z]=meshgrid(0:.1:10);
B=[0.0184 0 0; 0 00.0546 0; 0 0 0.0248];
p = densitet(X,B);
function p = densitet(U, B)
p =((det(inv(B))/(8.*pi.^3)).^(0.5))*exp(-0.5*transpose(U).*inv(B).*U) ;
end
Now it gives the following errors:
Error using .' Transpose on ND array is not defined. Use PERMUTE instead.
Error in Try>densitet (line 17) p =((det(inv(B))/(8.*pi.^3)).^(0.5))*exp(-0.5*transpose(U).*inv(B).*U) ;
Error in Try (line 13) p = densitet(X,B);
Can anybody help my fix the code, so that it works?
Edit: I may need to clarify that I want my function p to work on the whole meshgrid - if that makes sense.
Thanks in advance!
댓글 수: 4
Maja Bernstorff
2018년 2월 8일
Birdman
2018년 2월 8일
The solution is obvious. You can change your B matrix :)
Adam
2018년 2월 8일
Before thinking how to do it in Matlab you should ask yourself what you expect the answer to be and whether it even makes sense in theory. what do you expect the result to be of multiplying a 101x101x101 array by a 3x3 array?
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!