Plotting a multivariate polynomial with sdpvar variables

6 次查看(过去 30 天)
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 个)

Torsten
Torsten 2022-3-29
编辑:Torsten 2022-3-29
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
DB 2022-3-30
Something like this should do it, but I do not understand the steps:
https://groups.google.com/g/yalmip/c/PXQpXEjhqcA

请先登录,再进行评论。

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by