Plotting a multivariate polynomial with sdpvar variables
이전 댓글 표시
Suppose I have a polynomial
, with degree 6. I want to plot the function where each variable in x runs from
to 3.
I saw that using the meshgrid function combined with mesh should be used here. However, when applying:
[x1,x2] = meshgrid(-3:1:3, -3:1:3);
f = replace(f,[x(1) x(2)],[x1 x2])
It is said that "both arguments must have the same size". Here, [x1,x2] returns two 7x7 matrices, and the second line replaces symbolic variables [x(1) x(2)] of x = sdpvar(2,1) with the defined [x1 x2]. Some of these are from the YALMIP toolbox, but I think the core problem remains the same:
How can I set each variable from -3 to 3 and plot the polynomial function?
답변 (1개)
Or make f a function handle:
f = matlabFunction(f);
z = f(x1,x2);
surf(x1,x2,z)
"replace" is for strings. This doesn't suffice in the case of symbolic variables.
댓글 수: 5
DB
2022년 3월 29일
Are you sure x1 and x2 do not need to be given a number in order to plot?
But they are given numbers by the meshgrid command.
These two codes work for me:
%First code:
syms x y
f = x^2+y^2;
f = matlabFunction(f);
[x1,x2] = meshgrid(-3:0.1:3, -3:0.1:3);
z = f(x1,x2);
surf(x1,x2,z)
%Second code:
syms x y
f = x^2+y^2;
ezplot(f,[-3,3,-3,3])
DB
2022년 3월 30일
DB
2022년 3월 30일
I don't work with YALMIP, so I can't give you more than this link.
카테고리
도움말 센터 및 File Exchange에서 Spline Postprocessing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!