2016-10-22 100 views
0

我想画一个给定函数的轮廓。Matlab等高线图

我的功能是f = transpose([5;5])*[X;Y] + transpose([X;Y])*[2 3; 4 2]*[X;Y]/2;,我想绘制X和Y值从-100到100的轮廓。我该怎么做?当我为X和Y创建linspace时,出现维度匹配错误。我可以为函数获取单个值,但不能绘制一个图。谢谢

回答

0

尺寸匹配错误,意味着尺寸不符合代数规则。

假设:

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

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

下面的代码工作(F的大小为2x201):如果

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

我'不知道上面的公式给你想要的结果。