2d plot of a non-linear equation

조회 수: 45 (최근 30일)
Gurra
Gurra 2021년 3월 24일
댓글: John D'Errico 2021년 3월 24일
Hi,
How do I create a 2D plot of a two variable expression,say 1=y^5+y*x+x^2?
I am looking for some sort of Matlab function that simply plots the values of x and y which fullfills the expression. The approach should work for any two variable expression.
Thanks.

채택된 답변

Walter Roberson
Walter Roberson 2021년 3월 24일
Example:
f = @(x,y) x + y.^2 - 0.5;
fimplicit(f)

추가 답변 (2개)

John D'Errico
John D'Errico 2021년 3월 24일
편집: John D'Errico 2021년 3월 24일
Walter has already told you how to plot it. But so you can learn how to find that for yourself, learn to use lookfor.
The trick is to know this is called an IMPLICIT FUNCTION. And therefore, you might look for something in MATLAB to handle implicit functions. I tried this in MATLAB, and this is what it told me:
>> lookfor implicit
ode15i - Solve fully implicit differential equations, variable order method.
iburgersode - Burgers' equation solved as implicit ODE system
weissinger - Evaluate the residual of the Weissinger implicit ODE
fimplicit - Plot implicit function
fimplicit3 - Plot implicit surface
imex - Class for representing implicit-explicit schemes.
normal - Normal vector to an implicit surface represented by a CHEBFUN3.
bounds - Adds implicit bounds on variables.
bounds - Adds implicit bounds on variables.
Clearly we are not interested in the first 3 of those candidates. But fimplicit or fimplicit3 might be really valuable. You might now read the help for fimplicit and fimplicit3. I bet they would be useful.
Ok, but suppose you had no clue that this is called an implcit function in mathematics?
Now you might do your detective work differently. You want to plot something, and you want to plot a function, allowing MATLAB to do all the work for you. That would normally start with fplot. But fplot cannot handle such a problem.
But if I look at the help for fplot, at the bottom, there is always a see also line.
>> help fplot
...
See also fplot3, fsurf, fcontour, fimplicit, plot, function_handle.
And there I see a list of functions that you may also be interested in. Does fimplicit pop up there?
Or for a third way, if you think that fplot is something that MAY be helpful, where does fplot live?
>> which fplot
/Applications/MATLAB_R2020b.app/toolbox/matlab/graphics/function/fplot.m
So it lives with a variety of graphics utilities. Specifically, in the graphics/function directory.
>> help graphics/function
Contents of function:
fcontour - Plot function contour lines
fimplicit - Plot implicit function
fimplicit3 - Plot implicit surface
fmesh - Plot 3-D mesh
fplot - Plot 2-D function
fplot3 - Plot 3-D parametric curve
fsurf - Plot 3-D surface
matlab - is a package.
Again, there we see a line for fimplicit.
Now you would read the help for fimplicit, perhaps best done by
doc fimplicit
And there you will find a function to do exactly what you need.
In all of your searches, if you see a function that you do not know what it does, READ THE HELP FOR IT. And while it may not do what you need right now, tomorrow you might remember what you saw as something useful for your problem then.

Gurra
Gurra 2021년 3월 24일
@Walter Roberson and @John D'Errico, thanks for your answers. That's all I needed to know.
  댓글 수: 1
John D'Errico
John D'Errico 2021년 3월 24일
Please learn to use comments instead of an answer.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by