How to plot these function plesa help
조회 수: 8 (최근 30일)
이전 댓글 표시
Hello.
I tried almost everything, but with no succsess. Maybe anyone knows and can share matlab code to plot these function: f(x) = (4 - 2.1*x1^2 + x1^4/3)*x1^2 + x1*x2 + (-4 + 4*x2^2)*x2^2
the function is taken from here: http://www.mathworks.com/help/gads/examples/minimization-using-simulated-annealing-algorithm.html
Thank you
댓글 수: 0
채택된 답변
Mischa Kim
2015년 6월 17일
Joe, you could use
[x1,x2] = meshgrid(0:0.5:10,0:0.5:10);
f = (4 - 2.1*x1.^2 + x1.^4/3).*x1.^2 + x1.*x2 + (-4 + 4*x2.^2).*x2.^2;
surf(x1,x2,f)
댓글 수: 5
Walter Roberson
2015년 6월 17일
The function has x1^(4/3) . When x1 is negative, the result is complex.
Note that x1^(4/3) is not the same thing as (x1^4)^(1/3) and is potentially different again from (x1^(1/3))^4; just as x1^(1/2) is not the same as (x1^2)^(1/4) . Taking a number to a fractional power requires choosing one root, not hunting through the integer multiples of the exponent to find one that will make the root real-valued.
Perhaps you want,
f = (4 - 2.1*x1.^2 + (x1.^4).^(1/3)).*x1.^2 + x1.*x2 + (-4 + 4*x2.^2).*x2.^2;
but be aware that might not match the formula on the paper.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Performance에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!