Plot multivariable function, find critical points
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
PJ
am 18 Jan. 2018
Kommentiert: Star Strider
am 19 Jan. 2018
i need to plot a multivariable (x1,x2) function f_a in matlab, and find its critical points. I plotted it, but in order to find the critical points, i need to set the partial derivatives to zero then solve. when i try setting the partial derivatives to zero using diff(f_a,x1),it gives me an error.
[x1,x2] = meshgrid(-5:.2:5);
f_a = x1.^2 + x2.^2 +2.*x1.*x2;
figure(1)
surf(x1,x2,f_a)
fa1=diff(f_a,x1)
0 Kommentare
Akzeptierte Antwort
Star Strider
am 18 Jan. 2018
Use the gradient function to calculate the derivative.
Try this:
[x1,x2] = meshgrid(-5:.2:5);
f_a = x1.^2 + x2.^2 +2.*x1.*x2;
fa1 = gradient(f_a, 0.2, 0.2); % Derivative
zv = contour(x1,x2,fa1, [0; 0]); % Critical Points
figure(1)
surf(x1,x2,f_a)
hold on
plot3(zv(1,2:end), zv(2,2:end), zeros(1,size(zv,2)-1), 'r', 'LineWidth',2)
hold off
4 Kommentare
Star Strider
am 19 Jan. 2018
‘what do the 0.2s represent?’
They are the differences between the consecutive values of the meshgrid values in each direction.
‘what do the 0s represent?’
They specify that I want the contour function to trace out and return only the contours at 0.
I cannot follow what you are doing in the code you posted.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Contour Plots finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!