matlab符号函数绘图功能

举例:要绘制x^2+y^3=0的图像。
syms x y;
ezplot('x^2+y^3')
这里没问题。
我的问题是,x^2+y^3=0表达式是通过z(x,y)=x^2+y^3,令z=0得到的。如果要绘制z(x,y)=0的曲线,怎么绘制。
我用的方法是,在matlab里面输入z,然后把z的表达式复制到ezplot('')引号里面。但是这样就无法自动实现,不利编程。

关于符号函数绘图,可以有多种思路。第一种,可以用 ezplot ,可以直接画函数或者是隐函数;第二种,用符号函数产生数据点再画图。


对方法一举例如下:

clc;clear;

syms x y;

ezplot(sin(x))%画符号函数

figure

ezplot(x^2/4-y^2/4-1==0)%画隐函数

方法二举例:

clc;clear;

syms y(x);

y(x)=sin(x)

x=linspace(-pi,pi);

plot(x,eval(f(x)))

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-18

本视频展示如何用matlab绘制散圆状态图,可用于相关科研数据绘图!

第2个回答  2015-11-07
对三维以上的矩阵A的第三维数据求平均
最后结果的第三维大小会变为1

完整的mean函数输入参数有两个 A和dim
mean(A,dim)

A是待处理的输入矩阵
dim是要求平均的维

不输入dim时,直接调用 mean(A)
有两种情况
1,当A是数列的时候,也就是大小是 nx1 或者 1xn的时候
mean(A)返回数列的平均值,一个标量
2,当A是矩阵的时候,也就是大小是nxm的时候,(m,n都大于1)
这是时候dim默认取1,也就是mean(A)对矩阵A的第一维取平均

在输入dim的时候,按照dim数值选择需要平均的维

所以 mean(A,3)就是对矩阵的第三维取平均
第3个回答  推荐于2018-02-27
用contour来画z(x,y)=0。
clear all
[x,y]=meshgrid(-10:0.1:10,-10:0.1:10);
z=x.^2+y.^3;
contour(x,y,z,[0,0],'k')追问

问题在于:表达式z=x^2+y^2不是一开始就知道的。而是通过一系列符号运算得到的。那你的方法就不可用了啊。
换个问法:已知z(x,y),但不知z(x,y)的表达式。如何画z(x,y)=0。

我的方法是:在matlab里面输入z,然后可得z的表达式。在复制到ezplot('')引号里面。有没有好点的方法,可以自动获得。

追答

我明白了。当你得到z(x,y)时,直接ezplot就行。比如
syms x y
z=x^3+y^2
ezplot(z)

本回答被提问者和网友采纳
相似回答