0
我正在嘗試做形式爲x^TAx-b^Tx的函數的輪廓圖,其中$ x $是二維向量,A是一個2×2矩陣。我試着用下面的代碼進行繪圖:矩陣向量函數的matlab contourf
[x,y] = meshgrid(-5:0.1:5, -5:0.1:5);
z = x'*A*x - b'*x;
contourf(x,y,z);
顯然這不起作用,因爲這有一些尺寸問題。但是,我該如何做這種輪廓圖呢?
我正在嘗試做形式爲x^TAx-b^Tx的函數的輪廓圖,其中$ x $是二維向量,A是一個2×2矩陣。我試着用下面的代碼進行繪圖:矩陣向量函數的matlab contourf
[x,y] = meshgrid(-5:0.1:5, -5:0.1:5);
z = x'*A*x - b'*x;
contourf(x,y,z);
顯然這不起作用,因爲這有一些尺寸問題。但是,我該如何做這種輪廓圖呢?
z的計算中的x是一個點的x和y座標的向量,而不是x座標的矩陣,就像您使用的那樣。此代碼獲取每個點的x和y座標,在該點計算z然後將其放回到正確大小的矩陣中。
[x,y] = meshgrid(-5:0.1:5, -5:0.1:5);
X=[x(:)';y(:)'];
for i=1:length(X)
z(i) = X(:,i)'*A*X(:,i) - b*X(:,i);
end
z=reshape(z,size(x));
contourf(x,y,z);
這是非常有幫助的,謝謝! – dinosaur