how do i get a contour plot for this code?

This is my code and I'm trying to get a contour plot for it. But I am not getting it. Can anyone help me
f=@(x,y) sin(x)+cos(y);
x0 = [5.5,5.5];
options = optimoptions('fminunc','Display','iter ','Algorithm','quasi-newton');
[opt, opt_cost]=fminunc('hw2pr2_cost',x0,options);
lb = (pi/2); ub = (2*pi);
options = optimoptions('fmincon','Display','iter','Algorithm','active-set');
[optx_con, opt_costcon] = fmincon('hw2pr2_cost',x0,[],[],[],[],lb,ub,'hw2pr2_constraint',options);
fcontour(f);
hold on
plot(opt(1),opt(2),'ko');
%contour(y,y,'ko');
hold on
plot(optx_con(1),optx_con(2),'ko');
%contour(y,y,'ko');
y=-x;
hold on
plot(x,y);

17 Comments

there is no error for this but i cant seem to get the contour output
Seen my answer for that question?
yes it worked for that, but not this
Okay, I get that this question is different, but why don't you let me know that whether it has worked for you or not in previous question?
Where is hw2pr2_cost function?
oh yes it did work in the previous question , there was an error with it. but this question has no error but i cant get the contour plot
oh yes it did work in the previous question
Then you can let me know it worked by responding and accepting my answer.
oh yes sure sir. Thank you for the help
For this question, hw2pr2_cost function is needed. Share it please.
function find_cost2 = hw2pr2_cost(x) find_cost2=sin(x(1))+cos(x(2)); end this is the function
Difficult to debug without hw2pr2_cost, but mostly the problem is that you never assign a value to x before you do
y=-x
so i should assign a vlue to x before running that?
Also, hw2pr2_constraint?
yes, and x(2)>4 is a condition that is specified function [cineq, ceq] = hw2pr2_constraint(x) ceq = []; if x(2) > 4 cineq = 0; else cineq = 4-x(2); end end
Yes, you should assign a value to x before running that code. It is not at all clear what you are expecting, though. Are you trying to plot a 45 degree angle from top left to bottom right? If so then there are other ways of doing that.
your plot(x,y) is not going to be a contour plot. fminunc() and fmincon() are going to return vectors of length 2 that you are plotting as individual points on top of the fcontour() result. The function you are plotting through fcontour() has nothing obvious to do with whatever hw2pr2_cost does.

Sign in to comment.

Answers (0)

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!