surface plot with a matrix

2 visualizzazioni (ultimi 30 giorni)
konoha
konoha il 2 Apr 2016
I am trying to graph a surface with a diagonal matrix, the equation I am trying graph is f = x^TDx, x is a 2 by 1 vector and D is a 2 by 2 matrix.
Here is what have so far, but I keep getting error.
x = linspace(-10,10);
y = linspace(-10,10);
[X,Y] = meshgrid(x,y);
D = [2 1; 1 2];
f = @(x,y) [x,y]*D*[x,y].'; % [x,y] is 1 by 2
contour (X,Y,f(X,Y))
I know that would give me an erros since the dimension of [x,y] and D not macth, I know that if D is a identity matrix, I could use eye(2*numel(x)) to create a 200x200 matrix to match [x,y].
I don't know how to do it with a random and a given diagonal symmetric matrix. Can someone show me how do it? Thanks.

Risposte (1)

Azzi Abdelmalek
Azzi Abdelmalek il 2 Apr 2016
  4 Commenti
konoha
konoha il 2 Apr 2016
to apply f = x^T*D*x
Azzi Abdelmalek
Azzi Abdelmalek il 2 Apr 2016
The sizes must match

Accedi per commentare.

Categorie

Scopri di più su Contour Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by