2016-10-22 14 views
0

私は与えられた関数の輪郭を描画したいと思います。Matlab Contour Drawing

私の機能は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

2x201の行列と201x201の行列を合計することはできません。

次のコードは動作します(Fの大きさは2x201です):

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

上記の式は、あなたが望んでいた結果が得られる場合I'amわかりません。