Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function franki(c)
- if nargin == 0
- c = 3;
- end
- ezsurfc(@(x,y) x.^2+y.^3-c*(x-y^2)); hold on;
- clc; format compact;
- disp('f ist auf ganz R^2 definiert.')
- syms x y
- f = x.^2+y.^3-c*(x-y^2);
- fx = diff(f,x); fy = diff(f,y);
- sln = solve(fx,fy);
- for i=1:numel(sln.x)
- hesse = hessian(f, [x,y]);
- hesse = subs(hesse, y, sln.y(i,1)); hesse = subs(hesse, x, sln.x(i,1));
- eigen = double(eig(hesse));
- if((all(eigen>0)))
- disp([' Alle Eigenwerte sind positiv --> Minimum im kritischen Punkt: ','(',num2str(double(sln.x(i,1))),'|',num2str(double(sln.y(i,1))),'|',num2str(double(sln.x(i,1).^2+sln.y(i,1).^3-c*(sln.x(i,1)-sln.y(i,1)^2))),')'])
- hdl(1) = plot3(double(sln.x(i,1)),double(sln.y(i,1)), double(sln.x(i,1).^2+sln.y(i,1).^3-c*(sln.x(i,1)-sln.y(i,1)^2)), 'gx');
- elseif((all(eigen<0)))
- disp([' Alle Eigenwerte sind negativ --> Maximum im kritischen Punkt: ','(',num2str(double(sln.x(i,1))),'|',num2str(double(sln.y(i,1))),'|',num2str(double(sln.x(i,1).^2+sln.y(i,1).^3-c*(sln.x(i,1)-sln.y(i,1)^2))),')'])
- hdl(3) = plot3(double(sln.x(i,1)),double(sln.y(i,1)), double(sln.x(i,1).^2+sln.y(i,1).^3-c*(sln.x(i,1)-sln.y(i,1)^2)), 'bx');
- else
- disp([' Kritischer Punkt: ','(',num2str(double(sln.x(i,1))),'|',num2str(double(sln.y(i,1))),'|',num2str(double(sln.x(i,1).^2+sln.y(i,1).^3-c*(sln.x(i,1)-sln.y(i,1)^2))),')'])
- hdl(2) = plot3(double(sln.x(i,1)),double(sln.y(i,1)), double(sln.x(i,1).^2+sln.y(i,1).^3-c*(sln.x(i,1)-sln.y(i,1)^2)), 'rx');
- end
- end
- legend(hdl, 'Minimum', 'Maximum', 'Sattelpunkt')
- hold off;
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement