trying to find all critical points where gradient f = 0 but am getting an error.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Peter Pyrka
am 22 Nov. 2019
Kommentiert: Walter Roberson
am 22 Nov. 2019
This is what my code looks like right now. I am getting an error with the 'Real' part of my code with it saying that it is invalid.
%Storing the function f and g
syms w x y z;
f(w,x,y,z) = 2.0*w*x - 4.0*y - 5.0*w*y + 4.0*y*z + w^2 + 4.0*z^2;
g(w,x,y,z) = 0.4723*w*x + 0.6455*w*y + 0.1187*x*y + 0.8042*w^2 + 0.08831*x^2 + 0.2568*y^2 + 0.06482*z^2;
%Getting the derivatives of both functions
Dfw = diff(f,w);
Dfx = diff(f,x);
Dfy = diff(f,y);
Dfz = diff(f,z);
Dgw = diff(g,w);
Dgx = diff(g,x);
Dgy = diff(g,y);
Dgz = diff(g,z);
%Finding All Critical points by finding where gradient f is zero
[wSols, xSols, ySols, zSols] = solve([Dfw == 0, Dfx == 0, Dfy == 0, Dfz == 0], [w,x,y,z],'Real', 'true')
0 Kommentare
Akzeptierte Antwort
Walter Roberson
am 22 Nov. 2019
Use 'Real', true instead of 'Real', 'true'
4 Kommentare
Walter Roberson
am 22 Nov. 2019
There would have to be a subexpression with degree 3 or higher for the partial derivatives to be non-linear, so having only one solution is expected for these.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Linear Algebra 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!