Raising a scalar to each element in a matrix

조회 수: 2 (최근 30일)
J
J 2022년 5월 17일
편집: Torsten 2022년 5월 17일
I have tried to raise e to the power of each element of a matrix for a contour plot of e^(1/X)/Y and got the error message for non-finite ZData. I was wondering whether the operation has done a form of matrix multiplication and added multiple elements results instead of outputting e^(ij) for element ij.
Thanks
x = linspace(0,50);
y = linspace(0,50);
[X,Y] = meshgrid(x,y);
Z = expm(X.^(-1))*(Y.^(-1));
contour(X,Y,Z);
Warning: Contour not rendered for non-finite ZData

답변 (1개)

Torsten
Torsten 2022년 5월 17일
편집: Torsten 2022년 5월 17일
expm is incorrect, use exp.
And you shouldn't divide by 0 - not for X and not for Y.
x = linspace(1,50);
y = linspace(1,50);
[X,Y] = meshgrid(x,y);
Z = exp(1./(X.*Y));
contour(X,Y,Z)

카테고리

Help CenterFile Exchange에서 Calculus에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by