How to plot the quadratic function surface?
10 ビュー (過去 30 日間)
古いコメントを表示
Seyyed Mohammad Saeed Damadi
2019 年 2 月 17 日
回答済み: Naman Bhaia
2019 年 2 月 27 日
I want to plot when . I wrote the following codes and was wondering if there is a more efficient way with less number of lines:
clc
clear
Q = [0.7750, 0.3897; 0.3897 0.3250];
b = [-2,-1];
[X,Y] = meshgrid(-5:0.1:1);
x = X(:);
y = Y(:);
sx = size(X);
n = length(x);
z = zeros(n,1);
for i = 1:n
z(i) = 0.5*[x(i,1),y(i,1)]*Q*[x(i,1);y(i,1)] - b*[x(i,1);y(i,1)];
end
X = reshape(x,sx);
Y = reshape(y,sx);
Z = reshape(z,sx);
surf(X,Y,Z)
0 件のコメント
採用された回答
Naman Bhaia
2019 年 2 月 27 日
Hey Seyyed,
I was able to simplify the code by using vectorized operations instead of for loop
clc
clear
Q = [0.7750 0.3897; 0.3897 0.3250];
b = [-2 -1];
[X,Y] = meshgrid(-5:0.1:1);
x = X(:);
y = Y(:);
sx = size(X);
a=0.5*diag([x y]*Q*[x';y'])-(b*[x';y'])';
Z = reshape(a,sx);
surf(X,Y,Z)
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!