矩阵乘法与按元素定义的曲面
感觉您的目标是进行元素乘法,而不是
矩阵乘法。逐元素乘法由点表示,. 在乘法之前,* 形成.*。如果您不指定逐元素乘法,MATLAB 将执行矩阵乘法。逐元素乘法将对应的元素相乘,而矩阵乘法遵循以下形式:MATLAB Documentation: Matrix Multiplication。第二个子图的结果确实具有 14 的值,这是通过使用 Z-surface 上的 find() 函数进行检查来确保的。
%Matrix multiplication%
[X,Y] = meshgrid(-10:0.5:10, -10:.5:10);
Z = 21*X^2 -34*X + 56*X*Y + 38*Y^2 -46*Y +14 ;
subplot(1,2,1); surf(X,Y,Z);
title("Matrix Multiplication Surface");
view(45,45);
%Element-wise multiplication%
[X,Y] = meshgrid(-10:0.5:10,-10:0.5:10);
Z = 21.*X.^2 -34.*X + 56.*X.*Y + 38.*Y.^2 - 46.*Y + 14 ;
subplot(1,2,2); surf(X,Y,Z);
title("Element-wise Multiplication Surface Z = f(X,Y)");
xlabel("X"); ylabel("Y")
[Row,Column] = find(Z == 14);
Z(Row,Column)
view(45,45);
矩阵乘法的影响可以通过术语56*X*Y 看出。这会产生一个 41 x 41 的双精度矩阵,其中填充了值 80360。
56*X*Y