Matlab轮廓绘制



我想画一个给定函数的轮廓。

我的函数是f = transpose([5;5])*[X;Y] + transpose([X;Y])*[2 3; 4 2]*[X;Y]/2;,我想画出X和Y值从-100到100的轮廓。我该怎么做呢?当我为X和Y创建linspace时,我得到一个尺寸匹配错误。我可以得到函数的一个值,但不能画出一个图。由于

维度匹配错误,表示维度不符合代数规则。

假设:

X = -100:100;
Y = -100:100;

size(transpose([X;Y])*[2 3; 4 2]*[X;Y]/2)
ans =
201 201

size([X*5;Y*5])
ans =
2 201

你不能和2x201矩阵和201x201矩阵。

下面的代码可以工作(f的大小是2x201):

f = [X*5;Y*5] + (([X;Y])'*[2 3; 4 2])'.*[X;Y]/2;

我不确定上面的公式是否能给出你想要的结果。

最新更新