How can I plot a figure with multiplying a vector with matrices?

9 vues (au cours des 30 derniers jours)
TRUNG HOANG
TRUNG HOANG le 28 Juil 2020
Commenté : madhan ravi le 30 Juil 2020
How can I plot the below figure in matlab?
I tried the below source code:
[X,Y] = meshgrid(-6:0.1:6);
Z = [X Y].*[2 1;1 3].*([X Y].') + [1 2].*[X Y].' + 3;
surf(X,Y,Z)
colormap(jet)
colorbar
and
[X,Y] = meshgrid(-6:0.1:6);
Z = [X Y]*[2 1;1 3]*([X Y].') + [1 2]*[X Y].' + 3;
surf(X,Y,Z)
colormap(jet)
colorbar
However, it showed the errors:
Error using .*
Matrix dimensions must agree.
Error in Fig20_3 (line 2)
Z = [X Y].*[2 1;1 3].*([X Y].') + [1 2].*[X Y].' + 3;
and
Error using *
Inner matrix dimensions must agree.
Error in Fig20_3 (line 2)
Z = [X Y]*[2 1;1 3]*([X Y].') + [1 2]*[X Y].' + 3;

Réponses (2)

Walter Roberson
Walter Roberson le 29 Juil 2020
This is a case where you need the * operator instead of the .* operator
  4 commentaires
Walter Roberson
Walter Roberson le 30 Juil 2020
I think it might be easiest to expand the expression:
[X,Y] = meshgrid(-6:0.1:6);
Z = X + 2*Y + X .* (2*X + Y) + Y .* (X + 3*Y) + 3;
surf(X, Y, Z, 'edgecolor', 'none')
madhan ravi
madhan ravi le 30 Juil 2020
TRUNG HAONG comments:
Good.

Connectez-vous pour commenter.


madhan ravi
madhan ravi le 28 Juil 2020
doc fsurf

Community Treasure Hunt

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

Start Hunting!

Translated by