MATLAB: Calculating max, min, and saddle points

helphomeworkhw

As of right now, I'm dealing with an assignment which wants to calculate the max, min, and saddle point of a given function. On the bottom is my current code. The problem that I am facing is I am unable to create a loop where my eqA_double are able to read X and Y solutions from M.
if true
% code
end
function Local_ex(x,y,z)
syms x
syms y
a = ((y.*x^3)+(x.*y^3)-(1.69.*x.*y));
eqA_partial_diff_x = diff(a,x)
eqA_partial_diff_y = diff(a,y)
M = solve(eqA_partial_diff_x,eqA_partial_diff_y)
N = [M.x,M.y]
eqA_double_partial_diff_x = diff(eqA_partial_diff_x,x)
eqA_double_partial_diff_y = diff(eqA_partial_diff_y,y)
eqA_double_partial_diff_y_then_x = diff(eqA_partial_diff_y,x)

Best Answer

syms x y
a = ((y.*x^3)+(x.*y^3)-(1.69.*x.*y));
eqA_partial_diff_x = diff(a,x)
eqA_partial_diff_y = diff(a,y)
M = solve(eqA_partial_diff_x,eqA_partial_diff_y)
N = [M.x,M.y]
[m,n]=size(N)
eqA_double_partial_diff_x = diff(eqA_partial_diff_x,x)
eqA_double_partial_diff_y = diff(eqA_partial_diff_y,y)
eqA_double_partial_diff_y_then_x = diff(eqA_partial_diff_y,x)
x=N(:,1)
y=N(:,2)
eqA_double_partial_diff_x=subs(eqA_double_partial_diff_x)
eqA_double_partial_diff_y =subs(eqA_double_partial_diff_y)
eqA_double_partial_diff_y_then_x=subs(eqA_double_partial_diff_y_then_x)
%Determinant part
syms x y
a = ((y.*x^3)+(x.*y^3)-(1.69.*x.*y));
eqA_fx = diff(a,x)
eqA_fy = diff(a,y)
M = solve(eqA_fx,eqA_fy)
N = [M.x,M.y]
eqA_fxx = diff(eqA_fx,x)
eqA_fyy = diff(eqA_fy,y)
eqA_fyx = diff(eqA_fy,x)
D = eqA_fxx.* eqA_fyy - eqA_fyx^2
subs(D,{x,y},{N(:,1),N(:,2)})
Remark: You don’t need loop to read the values one by one instead you can substitute all the values at once